:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:#03080c;color:#c5e6ee;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#071820 0,#030b10 34%,#03080c 68%)}
[hidden]{display:none!important}button,input,select{font:inherit}button,a,input,select{outline-offset:6px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}
#scene{position:fixed;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;--energy:0}
#core{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:min(80vw,76svh,720px);aspect-ratio:1;border:0;background:none;border-radius:50%;padding:0;color:#9aceda;isolation:isolate;-webkit-tap-highlight-color:transparent}
#core:focus-visible{outline:1px solid #87e9ff70;outline-offset:-20px}#particles{position:absolute;inset:0;width:100%;height:100%}
.core-name{position:absolute;left:0;right:0;top:50%;font-size:clamp(11px,1.2vw,15px);font-weight:500;letter-spacing:.38em;text-indent:.38em;opacity:.6;text-shadow:0 0 18px #001a24;pointer-events:none}
.orbit{position:absolute;border-radius:50%;inset:19%;border:1px solid #3fbad040;pointer-events:none;animation:orbit 50s linear infinite}
.orbit:before{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid transparent;border-top-color:#76daeb55;border-left-color:#76daeb10;transform:rotate(20deg)}
.orbit-two{inset:15.6%;border-style:dashed;border-color:#5bdae730;border-width:1px;animation-direction:reverse;animation-duration:80s}.orbit-two:before{inset:5px;border-top-color:#71cdd422;border-left-color:transparent;transform:rotate(140deg)}
body[data-state=speaking] .orbit,body[data-state=hearing] .orbit{filter:drop-shadow(0 0 8px #43b9d455);border-color:#8be9ef36}
body[data-state=thinking] .orbit-one{animation-duration:9s}body[data-state=connecting] .core-name{animation:breathe 1.4s ease-in-out infinite}
#status{position:absolute;top:calc(47% + min(27vw,25svh,235px));font-size:12px;font-weight:400;letter-spacing:.12em;color:#8bc3ce;margin:0;min-height:20px}
#hint{position:absolute;bottom:7.5svh;margin:0;font-size:10px;letter-spacing:.23em;color:#88aab6;transition:opacity .6s}
body:not([data-state=idle]) #hint{opacity:.48}#tools{position:fixed;right:30px;top:24px;display:flex;gap:12px;opacity:.5;transition:opacity .3s;z-index:2}#tools:hover,#tools:focus-within{opacity:.85}#tools button{background:transparent;color:#81a7b3;border:0;font-size:23px;padding:10px;min-width:44px}
#notice{position:fixed;bottom:15svh;left:50%;transform:translateX(-50%);max-width:min(90vw,550px);width:max-content;margin:0;padding:12px 20px;border:1px solid #568b9940;border-radius:9px;color:#c9dde2;background:#0b1821f2;font-size:13px;line-height:1.6;z-index:5;text-align:center}
.login{width:min(86vw,360px);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.login-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #6cbdca66;border-radius:50%;font-size:19px;font-weight:300;color:#b1ecf2;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:.22em;color:#6c9ca9}h1{font-size:26px;letter-spacing:-.025em;font-weight:400;margin:14px 0 32px}label{display:block;font-size:12px;color:#91b1bc;margin:20px 0 9px}input:not([type=checkbox]),select{border:1px solid #28414c;background:#09141c;color:#d9eff4;width:100%;padding:13px 14px;border-radius:7px}form button,.wide{display:block;width:100%;padding:12px;border:1px solid #3c6b7b;background:#122d39;color:#c7e9f0;border-radius:7px;margin-top:24px;text-align:center;text-decoration:none;font-size:13px}#login-error{font-size:13px;color:#edb4a2;line-height:1.6}
dialog{background:#0a151d;color:#bed8df;width:min(90vw,440px);border:1px solid #25424f;border-radius:14px;padding:25px 28px;max-height:85svh;overflow:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#01060bd9;backdrop-filter:blur(8px)}dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}dialog h2{font-size:17px;font-weight:500;margin:0}dialog header button{border:0;background:none;color:#92bac7;font-size:27px;padding:0 0 0 20px}dialog .check{display:flex;align-items:center;gap:10px;margin:17px 0;font-size:13px}input[type=checkbox]{accent-color:#56bbce;width:15px;height:15px}.muted{font-size:11px;color:#7696a3;line-height:1.7;margin:15px 0}.wide{margin-top:12px;background:#10222c;border-color:#294651}.subtle{border:0;background:none;color:#8eacb7}#details{width:min(92vw,640px)}#transcript p{font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 0;border-bottom:1px solid #223540}#transcript b{color:#87cad9;font-weight:500}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes breathe{50%{opacity:.25}}
@media(max-width:600px){#core{width:min(105vw,70svh);top:45%}#status{top:calc(45% + min(34vw,24svh))}#hint{bottom:12svh;font-size:8px}#tools{right:14px;top:12px;opacity:.65}.core-name{font-size:11px}dialog{padding:22px}#notice{bottom:20svh;font-size:12px}}
@media(prefers-reduced-motion:reduce){.orbit,.core-name{animation:none!important}*{transition:none!important}}

#work-dialog{width:min(94vw,700px)}#work-list article{padding:16px 0;border-bottom:1px solid #294651}#work-list h3{font-size:15px}#work-list p{font-size:12px;line-height:1.6}#work-list a{display:inline-block;color:#a4e3ee;padding:10px}details summary{cursor:pointer;margin:20px 0}
#knowledge-list a{color:#a4e3ee;font-size:12px;overflow-wrap:anywhere}
