:root{--bg:#060a10;--side:#080d15;--panel:#0e1622;--hover:rgba(120, 200, 255, .07);--line:rgba(130, 190, 255, .13);--line-2:rgba(130, 190, 255, .26);--ink:#e8f1fb;--muted:#8fa3b8;--faint:#5d7088;--accent:#3ddcff;--a:61,220,255;--warn:#fbbf24;--mono:"JetBrains Mono",ui-monospace,Consolas,monospace;--display:"Space Grotesk","Inter",sans-serif;--side-w:264px;color-scheme:dark}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(130,190,255,.2) transparent}body,html{height:100%}body{margin:0;display:flex;overflow:hidden;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,system-ui,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button{appearance:none;border:0;background:0 0;cursor:pointer}a{color:inherit;text-decoration:none}svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}::selection{background:rgba(var(--a),.35)}.hud{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.orb{display:block;width:100%;height:100%;overflow:visible;stroke:var(--accent);fill:none}.orb *{transform-box:view-box;transform-origin:center}.o1{stroke-width:.8;opacity:.3}.o2{stroke-width:3;stroke-dasharray:1 7.59;stroke-linecap:butt;opacity:.5;animation:48s linear infinite spin}.o3{stroke-width:2.4;stroke-dasharray:46 23.1;animation:10s linear infinite spin}.o4{stroke-width:1.8;stroke-dasharray:30 48.5;opacity:.75;animation:7s linear infinite reverse spin}.o-sat{stroke:none;fill:var(--accent);animation:5s linear infinite spin}.o-core{stroke:none;fill:var(--accent);opacity:.14;animation:3.2s ease-in-out infinite breathe}.o-dot{stroke:none;fill:var(--accent);filter:drop-shadow(0 0 5px var(--accent))}.s-track{stroke-width:7;opacity:.18}.s-ring{stroke-width:9;stroke-dasharray:150 101.3}.s-dot{stroke:none;fill:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,100%{opacity:.1;transform:scale(.92)}50%{opacity:.24;transform:scale(1.08)}}body[data-ai=thinking] .o3,body[data-ai=typing] .o3{animation-duration:1.8s}body[data-ai=thinking] .o4,body[data-ai=typing] .o4{animation-duration:1.2s}body.listening .o-core{opacity:.34;animation:none}#side{width:var(--side-w);flex:none;height:100%;display:flex;flex-direction:column;gap:2px;background:var(--side);border-right:1px solid var(--line);padding:10px 8px;overflow-y:auto;transition:margin-left .22s}body.side-closed #side{margin-left:calc(-1 * var(--side-w))}.side-top{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 12px 8px}.brand{display:flex;align-items:center;gap:10px;font:600 15px var(--display);letter-spacing:.01em}.brand [data-orb]{width:24px;height:24px}.brand .s-ring{animation:6s linear infinite spin}body[data-ai=thinking] .brand .s-ring,body[data-ai=typing] .brand .s-ring{animation-duration:.9s}.ib{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--muted)}.ib:hover{background:var(--hover);color:var(--ink)}.row{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:10px;font-size:14px;text-align:left;color:var(--ink);min-width:0}.row svg{color:var(--muted)}.row:hover{background:var(--hover)}.row:hover svg{color:var(--accent)}.row.on{background:rgba(var(--a),.09);box-shadow:inset 2px 0 0 var(--accent)}.row.on svg{color:var(--accent)}.row>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .ext{width:13px;height:13px;color:var(--faint)}#newChat{border:1px solid var(--line);margin-bottom:4px}#newChat:hover{border-color:rgba(var(--a),.5)}.row.search{cursor:text;color:var(--muted)}.row.search input{flex:1;min-width:0;border:0;outline:0;background:0 0;color:var(--ink)}.row.search input::placeholder{color:var(--muted)}.label{padding:18px 10px 6px;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.row .del{width:24px;height:24px;margin:-3px -4px;border-radius:6px;display:none;place-items:center;color:var(--muted)}.row .del svg{width:14px;height:14px}.row:focus-within .del,.row:hover .del{display:grid}.row .del:hover{background:rgba(255,255,255,.1);color:var(--ink)}.empty{padding:4px 10px;font-size:13px;color:var(--faint)}.side-foot{margin-top:auto;padding-top:10px}.side-foot .row{color:var(--muted)}#scrim,body[data-view=tool] #main::before{display:none}#main{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;position:relative}#main::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(620px 400px at 50% 22%,rgba(var(--a),.1),transparent 70%),linear-gradient(rgba(130,190,255,.045) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,rgba(130,190,255,.045) 1px,transparent 1px) 0 0/44px 44px;-webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 22%,#000 25%,transparent 85%);mask-image:radial-gradient(ellipse 85% 75% at 50% 22%,#000 25%,transparent 85%)}body[data-view=chat] #main::before{opacity:.45}#main>*{position:relative;z-index:1}#top{height:52px;flex:none;display:flex;align-items:center;gap:6px;padding:0 10px}#title{font:600 15px var(--display);padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-right{margin-left:auto;display:flex;gap:8px;align-items:center}.tb{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:9px;font-size:13px;color:var(--muted);border:1px solid var(--line)}.tb:hover{background:var(--hover);color:var(--ink);border-color:rgba(var(--a),.45)}.tb svg{width:15px;height:15px}body:not(.side-closed) #sideOpen{display:none}.status{display:flex;align-items:center;gap:8px;padding:7px 10px;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);white-space:nowrap}.status b{font-weight:500}.status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}body[data-ai=thinking] .status i,body[data-ai=typing] .status i{animation:.8s ease-in-out infinite ping}body[data-ai=offline] .status{color:var(--warn)}@keyframes ping{0%,100%{transform:scale(.7);opacity:.5}50%{transform:scale(1.25);opacity:1}}#scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.col{width:100%;max-width:760px;margin:0 auto;padding:0 18px}#hero{padding-top:18px;padding-bottom:28px;text-align:center}.hero-orb{position:relative;width:128px;height:128px;margin:0 auto 24px}.hero-orb::before{content:"";position:absolute;inset:-45%;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--a),.2),transparent);animation:3.2s ease-in-out infinite breathe}#greet{margin:0 0 14px;opacity:.85}#hero h1{margin:0;font:600 clamp(25px, 3.5vw, 34px)/1.15 var(--display);letter-spacing:-.02em}#extras{padding-top:18px;padding-bottom:28px}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:13.5px;color:var(--muted);transition:.15s}.chip:hover{border-color:rgba(var(--a),.55);color:var(--ink);background:rgba(var(--a),.06)}#extras h2{display:flex;align-items:center;gap:12px;margin:36px 0 14px;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}#extras h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.card{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(130,190,255,.03);transition:.18s}.card:hover{background:rgba(var(--a),.06);border-color:rgba(var(--a),.5);transform:translateY(-2px);box-shadow:0 10px 30px -18px rgba(var(--a),.6)}.card .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(var(--a),.08);border:1px solid rgba(var(--a),.22);color:var(--accent);flex:none}.card b{display:block;font-size:14px;font-weight:600}.card small{display:block;font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:2px}.boot .hero-orb{animation:.9s cubic-bezier(.2,.8,.2,1) both powerup}.boot #composerWrap,.boot #extras,.boot #greet,.boot #hero h1{animation:.6s cubic-bezier(.2,.8,.2,1) both rise}.boot #hero h1{animation-delay:.12s}.boot #composerWrap{animation-delay:.22s}.boot #extras{animation-delay:.32s}@keyframes powerup{from{opacity:0;transform:scale(.55) rotate(-60deg)}to{opacity:1;transform:none}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}#msgs{padding-top:14px;padding-bottom:24px;display:flex;flex-direction:column;gap:22px}.msg.user{align-self:flex-end;max-width:78%;padding:10px 16px;border-radius:16px 16px 4px;background:rgba(var(--a),.08);border:1px solid rgba(var(--a),.2);white-space:pre-wrap;overflow-wrap:anywhere}.msg.bot{display:flex;gap:12px;align-items:flex-start}.msg.bot [data-orb]{width:24px;height:24px;flex:none;margin-top:1px}.msg.bot.live .s-ring{animation:.8s linear infinite spin}.msg.bot .body{flex:1;min-width:0}.msg.bot .grid{margin-top:12px}.msg.bot .md>:first-child{margin-top:1px}.msg.bot .md p{margin:10px 0 0}.msg.bot .md ol,.msg.bot .md ul{margin:10px 0 0;padding-left:22px}.msg.bot .md li{margin:4px 0}.msg.bot .md li::marker{color:var(--accent)}.msg.bot .md code{font:13px/1.4 var(--mono);background:var(--panel);padding:1px 5px;border-radius:5px}.msg.bot .md pre{margin:10px 0 0;padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font:13px/1.5 var(--mono);overflow-x:auto;white-space:pre}.copy{margin-top:12px;padding:6px 10px;border-radius:8px;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line)}.copy:hover{color:var(--accent);border-color:rgba(var(--a),.5)}.think{display:inline-block;padding-top:1px;font:500 12px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(90deg,var(--muted) 0 35%,#fff 50%,var(--muted) 65% 100%) 0 0/220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:1.4s linear infinite sweep}@keyframes sweep{from{background-position:110% 0}to{background-position:-110% 0}}.caret{display:inline-block;width:7px;height:1.05em;margin-left:3px;vertical-align:-2px;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:.8s steps(2) infinite blink}@keyframes blink{50%{opacity:0}}#composerWrap{flex:none;padding-bottom:6px}#composer{position:relative;display:flex;align-items:flex-end;gap:8px;padding:9px;background:var(--panel);border-radius:18px;border:1px solid var(--line-2);box-shadow:0 10px 34px -18px #000;transition:border-color .2s,box-shadow .2s}#composer:focus-within{border-color:rgba(var(--a),.6);box-shadow:0 0 0 4px rgba(var(--a),.08),0 0 34px -10px rgba(var(--a),.5)}#composer::before{content:"";position:absolute;inset:-6px;border-radius:23px;border:1px solid var(--accent);opacity:.4;pointer-events:none;transition:.2s;--c:linear-gradient(#000 0 0);-webkit-mask:var(--c) top left/20px 20px no-repeat,var(--c) top right/20px 20px no-repeat,var(--c) bottom left/20px 20px no-repeat,var(--c) bottom right/20px 20px no-repeat;mask:var(--c) top left/20px 20px no-repeat,var(--c) top right/20px 20px no-repeat,var(--c) bottom left/20px 20px no-repeat,var(--c) bottom right/20px 20px no-repeat}#composer:focus-within::before{opacity:.95;inset:-8px;border-radius:25px}.mode{--fire:255,106,61;height:38px;padding:0 11px 0 9px;border-radius:12px;display:flex;align-items:center;gap:6px;flex:none;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);transition:.18s}.mode svg{width:17px;height:17px}.mode:hover{color:var(--muted);border-color:var(--line-2)}.mode[aria-pressed=true]{color:rgb(var(--fire));border-color:rgba(var(--fire),.5);background:rgba(var(--fire),.09);box-shadow:0 0 20px -8px rgb(var(--fire))}.mode[aria-pressed=true] svg{fill:rgba(var(--fire),.3);animation:1.6s ease-in-out infinite flicker;transform-origin:50% 90%}@keyframes flicker{0%,100%{transform:scale(1)}40%{transform:scale(1.08,1.14)}70%{transform:scale(.96,1.04)}}#prompt{flex:1;min-width:0;max-height:180px;resize:none;border:0;outline:0;background:0 0;padding:8px 4px 8px 8px;line-height:1.5}#prompt::placeholder{color:var(--muted)}#send{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#04141b;flex:none;box-shadow:0 0 18px -4px var(--accent);transition:.15s}#send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 24px -2px var(--accent)}#send:disabled{background:rgba(130,190,255,.1);color:var(--faint);box-shadow:none;cursor:default}#send svg{stroke-width:2.4}#send.busy svg{display:none}#send.busy::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(var(--a),.25);border-top-color:var(--accent);animation:.7s linear infinite spin}.fine{margin:10px 0 6px;text-align:center;font-size:12px;color:var(--faint)}#toolView{flex:1;min-height:0;border-top:1px solid var(--line)}#frame{display:block;width:100%;height:100%;border:0;background:var(--bg)}body[data-view=chat] #extras,body[data-view=chat] #hero,body[data-view=chat] #toolView,body[data-view=home] #thread,body[data-view=home] #toolView,body[data-view=tool] #composerWrap,body[data-view=tool] #extras,body[data-view=tool] #scroll{display:none}body[data-view=home] #main{overflow-y:auto}body[data-view=home] #main>*{flex:none}body[data-view=home] #top{position:sticky;top:0;z-index:2}body[data-view=home] #scroll{display:block;overflow:visible;margin-top:auto}body[data-view=home] #extras{margin-bottom:auto}body[data-view=chat] #scroll{display:block}@media (max-width:800px){#side{position:fixed;z-index:30;left:0;top:0;box-shadow:0 0 40px rgba(0,0,0,.7)}body:not(.side-closed) #scrim{display:block;position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.6)}body:not(.side-closed) #sideOpen{display:grid}.msg.user{max-width:88%}.tb span{display:none}.hero-orb{width:104px;height:104px}.mode{padding:0 10px}.mode span,body[data-view=tool] .status b{display:none}}@media (prefers-reduced-motion:reduce){#side{transition:none}.boot #composerWrap,.boot #extras,.boot #greet,.boot #hero h1,.boot .hero-orb,.caret,.hero-orb::before,.mode svg,.orb *,.status i,.think{animation:none!important}.think{color:var(--muted);background:0 0}}