:root{--bg:#000000;--ink:#ffffff;--dim:#8a8a8a;--faint:#6e6e6e;--live:#ffffff;--sami:#00E5A0;--line:rgba(255,255,255,.16);--line-strong:rgba(255,255,255,.28);--warn:#c2453a;--danger:#ff9a90;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);overflow:hidden;font-family:Share Tech Mono,ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:var(--ink);text-decoration:none}::selection{background:#fff;color:#000}.wrap{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;padding:calc(26px + var(--safe-top)) clamp(18px,5vw,64px) calc(22px + var(--safe-bottom))}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.18em}.top .id{display:flex;align-items:center;gap:11px;color:var(--ink);min-width:0;white-space:nowrap}.top .id .co{color:var(--faint)}.top .menu{color:var(--ink);opacity:.85;font-size:15px;letter-spacing:0;padding:2px 6px 2px 0}.top .meta{display:flex;gap:18px;color:var(--dim);white-space:nowrap}.top .meta b{font-weight:400;color:var(--ink)}.live{color:var(--live)}.down{color:var(--danger)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 7px var(--live);animation:pulse 1.9s ease-in-out infinite;vertical-align:middle;margin-right:6px}.dot.off{background:var(--danger);box-shadow:0 0 7px var(--danger);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.body{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(24px,6vw,90px);min-height:0;padding:14px 0}.body.chat{align-items:stretch}.unit{position:relative;flex:none;display:grid;place-items:center}.sealwrap{position:relative}.seal{margin:0;font-family:Share Tech Mono,ui-monospace,monospace;font-size:8.2px;line-height:8.2px;letter-spacing:0;white-space:pre;color:#e9e9e9;text-shadow:0 0 5px rgba(255,255,255,.35);opacity:.96}.seal.login{font-size:6px;line-height:6px}.seal.done{animation:sealflicker 5.5s ease-in-out infinite}@keyframes sealflicker{0%,to{opacity:.9}50%{opacity:1}}.sealwrap.rolling .seal{will-change:transform}.band{position:absolute;left:-6%;right:-6%;height:26px;pointer-events:none;display:none;background:linear-gradient(180deg,#fff0,#ffffff1a 35%,#ffffff38 50%,#ffffff14 66%,#fff0);mix-blend-mode:screen}.sealwrap.rolling .band{display:block}.sealwrap .status{position:absolute;left:0;right:0;bottom:-22px;text-align:center;font-size:10px;letter-spacing:.28em;color:var(--faint);white-space:nowrap}.console{flex:1;max-width:640px;min-width:0;font-size:13px;line-height:1.85;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.console::-webkit-scrollbar{display:none;width:0;height:0}.console .row{display:flex;gap:9px;align-items:flex-start}.console .t{color:var(--faint);flex:none}.console .k{color:var(--sami)}.console .u{color:var(--ink)}.console .s{color:var(--dim)}.console .ok{color:var(--live)}.console .err{color:var(--danger)}.console .who{margin-right:.7em}.console .msg{white-space:pre-wrap;word-break:break-word;min-width:0;flex:1}.console .msg code{color:var(--ink);border-bottom:1px dotted var(--line-strong)}.console .msg strong{color:var(--ink);font-weight:400}.console .tools{display:flex;gap:14px;margin-left:calc(5ch + 9px);font-size:10px;letter-spacing:.2em;color:var(--faint)}.console .tools button{color:var(--faint);letter-spacing:.2em;padding:2px 0}.console .tools button:hover,.console .tools button.on{color:var(--ink)}.console .doc{border:1px solid var(--line);padding:10px 12px;margin:6px 0 4px calc(5ch + 9px);white-space:pre-wrap;word-break:break-word;color:var(--ink)}.console .doc .lbl{font-size:10px;letter-spacing:.28em;color:var(--faint);margin-bottom:6px}.console .thinking .msg:after{content:"▍";color:var(--ink);animation:cur 1.05s steps(1) infinite;margin-left:4px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0 calc(5ch + 9px)}.chips button{border:1px solid var(--line-strong);padding:5px 11px;font-size:11px;letter-spacing:.12em;color:var(--dim)}.chips button:hover{border-color:#fff;color:var(--ink)}.prompt{margin-top:18px;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);background:#000c;padding:9px 12px 9px 14px;font-size:13px;color:var(--dim)}.prompt:focus-within{border-color:#fff}.prompt .car{color:var(--ink);flex:none}.prompt .field{position:relative;flex:1;min-width:0;display:flex;align-items:center}.prompt textarea{width:100%;background:transparent;border:0;outline:0;resize:none;padding:0;margin:0;color:var(--ink);caret-color:#fff;line-height:1.5;font-size:13px;field-sizing:content;min-height:1.5em;max-height:7.5em;overflow-y:auto}.prompt textarea.blockcaret{caret-color:transparent}.prompt textarea::placeholder{color:transparent}.prompt .ghost{position:absolute;left:0;top:0;pointer-events:none;color:var(--dim);display:flex;align-items:center;line-height:1.5}.prompt .mirror{position:absolute;left:0;top:0;width:100%;pointer-events:none;color:transparent;white-space:pre-wrap;word-break:break-word;line-height:1.5;font-size:13px;-webkit-user-select:none;user-select:none}.prompt .mirror .cursor{margin:0 0 0 1px}.prompt .ghost .cursor{margin:0 5px 0 0}.cursor{width:8px;height:16px;background:#fff;display:inline-block;animation:cur 1.05s steps(1) infinite;margin-left:2px;vertical-align:middle}@keyframes cur{0%,49%{opacity:1}50%,to{opacity:0}}.prompt .btn{flex:none;color:var(--faint);font-size:12px;letter-spacing:.14em;padding:4px 6px;border:1px solid transparent}.prompt .btn:hover,.prompt .btn:focus-visible{color:var(--ink);border-color:var(--line);outline:0}.prompt .btn.on{color:var(--ink)}.prompt .btn:disabled{opacity:.35;cursor:default}.prompt .send{color:var(--ink);border-color:var(--line-strong)}.prompt .send:active{transform:scale(.94)}.prompt input[type=file]{display:none}.attached{font-size:11px;letter-spacing:.12em;color:var(--faint);margin-top:8px;display:flex;gap:12px}.attached button{color:var(--dim)}.bottom{display:flex;justify-content:space-between;gap:14px;font-size:10px;letter-spacing:.2em;color:var(--faint);padding-top:10px;border-top:1px solid var(--line);white-space:nowrap;overflow:hidden}.login-page{height:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:calc(30px + var(--safe-top)) 18px calc(30px + var(--safe-bottom))}.login-inner{margin:auto;display:flex;flex-direction:column;align-items:center;width:100%}.login-inner h1.co{margin:38px 0 30px;font-size:clamp(15px,2.8vw,20px);font-weight:400;letter-spacing:.34em;text-indent:.34em;color:#fff;text-align:center}.login{width:min(430px,100%)}.login label{display:block;font-size:10px;letter-spacing:.26em;color:var(--dim);margin:0 0 6px}.login .field{border:1px solid var(--line-strong);background:#000;padding:10px 12px;margin-bottom:16px}.login .field:focus-within{border-color:#fff}.login .field input{width:100%;background:transparent;border:0;outline:0;font-size:14px;color:var(--ink);letter-spacing:.08em;caret-color:#fff}.login .field input::placeholder{color:#4a4a4a}.login .remember{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--dim);cursor:pointer;margin:2px 0 18px;letter-spacing:0}.login .remember input{accent-color:#fff;width:13px;height:13px;margin:0}.login .go{font-size:12px;letter-spacing:.28em;padding:12px 24px;width:100%;color:#fff;background:transparent;border:1px solid var(--line-strong)}.login .go:hover{border-color:#fff;background:#ffffff0f}.login .go:disabled{opacity:.45;cursor:not-allowed}.login .err{margin-top:16px;border:1px solid var(--warn);color:var(--danger);background:#78140e26;padding:9px 12px;font-size:12px;line-height:1.5}.login-inner .notice{margin:34px 0 0;max-width:600px;text-align:center;font-size:11px;line-height:1.75;color:var(--faint)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s}.scrim.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;left:0;width:min(320px,86vw);z-index:21;background:#000;border-right:1px solid var(--line);transform:translate(-102%);transition:transform .22s ease;display:flex;flex-direction:column;padding:calc(22px + var(--safe-top)) 18px calc(18px + var(--safe-bottom));font-size:12px;letter-spacing:.12em}.drawer.open{transform:none}.drawer .head{display:flex;align-items:center;gap:10px;color:var(--ink);padding-bottom:12px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.18em}.drawer .head .x{margin-left:auto;color:var(--dim);font-size:14px;letter-spacing:0}.drawer .new{margin:14px 0 10px;border:1px solid var(--line-strong);padding:9px;text-align:center;color:var(--ink);letter-spacing:.28em;font-size:11px;width:100%}.drawer .new:hover{border-color:#fff;background:#ffffff0f}.drawer nav{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--line)}.drawer nav a,.drawer nav button{display:block;text-align:left;padding:7px 6px;color:var(--dim);font-size:11px;letter-spacing:.18em;width:100%}.drawer nav a:hover,.drawer nav button:hover{color:var(--ink)}.drawer nav .active{color:var(--ink)}.drawer .hist{flex:1;overflow-y:auto;min-height:0;margin-top:10px;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.drawer .hist h4{margin:10px 0 4px;font-weight:400;font-size:10px;letter-spacing:.28em;color:var(--faint)}.drawer .item{display:flex;align-items:center;gap:6px;padding:6px;color:var(--ink);letter-spacing:.02em;font-size:12px}.drawer .item:hover,.drawer .item.on{background:#ffffff12}.drawer .item .ttl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.drawer .item .when{color:var(--dim);font-size:10px;flex:none}.drawer .item .more{color:var(--dim);flex:none;padding:0 4px}.drawer .item .more:hover{color:var(--ink)}.drawer .ops{display:flex;gap:10px;padding:2px 6px 8px 16px;font-size:10px;letter-spacing:.2em}.drawer .ops button{color:var(--dim)}.drawer .ops button:hover{color:var(--ink)}.drawer .ops .del{color:var(--danger)}.drawer .ops input{background:transparent;border:0;border-bottom:1px solid var(--line);outline:0;color:var(--ink);flex:1;min-width:0;letter-spacing:.02em}.drawer .empty{color:var(--dim);font-size:11px;padding:8px 6px}.drawer .user{margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.18em}.drawer .user b{font-weight:400;color:var(--ink);display:block}.drawer .user span{color:var(--dim);font-size:10px}@media (max-width:820px){.wrap{padding-left:16px;padding-right:16px}.body{flex-direction:column;gap:22px}.body.chat{gap:0}.seal{font-size:4.4px;line-height:4.4px}.body.chat .unit{margin-bottom:26px}.watermark{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:0;opacity:.25}.watermark .seal{font-size:min(8.2px,calc((100vw - 32px) / 53.4));line-height:min(8.2px,calc((100vw - 32px) / 53.4));animation:none}.console{font-size:12px;max-width:none;width:100%}.console .tools,.console .doc,.chips{margin-left:0}.top{font-size:10px;gap:6px 8px;flex-wrap:wrap}.top .id .co{display:none}.top .meta{width:100%;justify-content:space-between;gap:10px}.bottom{font-size:9px;gap:8px}.bottom span:last-child{display:none}.prompt .ghost{white-space:nowrap;overflow:hidden;max-width:100%}}@media (max-width:430px){.login-inner h1.co{letter-spacing:.22em;text-indent:.22em}.seal.login{font-size:3.6px;line-height:3.6px}.login-inner .notice{font-size:10px}}@media (max-height:560px){.body.chat .unit{display:none}}@media (prefers-reduced-motion: reduce){.seal,.cursor,.dot,.thinking .msg:after{animation:none}.drawer,.scrim{transition:none}}.console .remind{border:1px solid var(--line);border-left:2px solid var(--ink);padding:8px 12px;margin:8px 0 10px}.console .remind .lbl{font-size:10px;letter-spacing:.28em;color:var(--faint);margin-bottom:4px}.console .remind .item{color:var(--ink);white-space:pre-wrap;word-break:break-word}.console .remind .item.late{color:var(--danger)}.console .doccard{border:1px solid var(--line);margin:6px 0 4px calc(5ch + 9px);background:#000;min-width:0}.console .doccard .bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.console .doccard .name{font-size:10px;letter-spacing:.28em;color:var(--faint);white-space:nowrap}.console .doccard .acts{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:10px;letter-spacing:.2em;color:var(--faint)}.console .doccard .acts label{display:flex;align-items:center;gap:5px}.console .doccard .acts select{background:#000;color:var(--ink);border:1px solid var(--line-strong);font-size:11px;padding:2px 4px;letter-spacing:0}.console .doccard .acts button{color:var(--faint);letter-spacing:.2em;padding:2px 0}.console .doccard .acts button:hover{color:var(--ink)}.console .doccard .logos{display:flex;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line)}.console .doccard .logos img{height:34px;width:auto}.console .doccard .bodywrap{position:relative}.console .doccard .wm{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.06}.console .doccard .wm img{width:60%;max-width:420px}.console .doccard textarea{position:relative;z-index:1;width:100%;background:transparent;color:var(--ink);border:0;padding:12px 14px;font-size:13px;line-height:1.6;resize:none;outline:none;display:block;overflow:hidden;white-space:pre-wrap}@media (max-width:820px){.console .doccard{margin-left:0}}.drawer nav .badge{display:block;padding:7px 6px;font-size:11px;letter-spacing:.18em;color:var(--ink);border-left:2px solid var(--ink)}.logwrap{position:relative;flex:1;max-width:640px;min-width:0;display:flex;flex-direction:column;min-height:0}.logwrap .console{flex:1;min-height:0;max-width:none;width:100%}.tobottom{position:absolute;left:50%;bottom:12px;transform:translate(-50%);width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);background:#000000e0;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;z-index:2}.tobottom:hover,.tobottom:focus-visible{border-color:#fff;outline:0}.tobottom:active{transform:translate(-50%) scale(.94)}.console .sources{margin:2px 0 4px calc(5ch + 9px);font-size:12px}.console .sources>button{color:var(--faint);font-size:10px;letter-spacing:.2em;padding:2px 0}.console .sources>button:hover{color:var(--ink)}.console .sources .src{border-left:1px solid var(--line);padding:4px 0 4px 10px;margin:4px 0}.console .sources .src a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.console .sources .snip{color:var(--dim);white-space:pre-wrap;word-break:break-word}.composer{margin-top:18px;border:1px solid var(--line-strong);background:#000000d9;padding:12px 14px;font-size:13px;color:var(--ink);max-height:60vh;overflow-y:auto}.composer .head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;letter-spacing:.2em;color:var(--dim);margin-bottom:8px}.composer .head b{font-weight:400;color:var(--ink);letter-spacing:0}.composer label{display:block;font-size:10px;letter-spacing:.26em;color:var(--dim);margin:10px 0 4px}.composer input,.composer textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);outline:0;color:var(--ink);padding:5px 0;font:inherit;caret-color:#fff}.composer input:focus,.composer textarea:focus{border-bottom-color:#fff}.composer textarea{resize:vertical;min-height:6em;border:1px solid var(--line);padding:8px}.composer .to{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border-bottom:1px solid var(--line)}.composer .to input{flex:1;min-width:12ch;border:0}.composer .chip{border:1px solid var(--line-strong);padding:2px 6px;font-size:12px;white-space:nowrap}.composer .chip button{color:var(--dim);margin-left:6px}.composer .chip button:hover{color:var(--ink)}.composer .hits{display:flex;flex-direction:column;border:1px solid var(--line);border-top:0}.composer .hits button{text-align:left;padding:5px 8px;color:var(--ink);font-size:12px}.composer .hits button:hover{background:#ffffff14}.composer .note{font-size:11px;color:var(--dim);margin-top:6px}.composer .err{margin-top:10px;border:1px solid var(--warn);color:var(--danger);padding:6px 10px;font-size:12px}.composer .acts{display:flex;gap:16px;margin-top:14px}.composer .acts button{font-size:12px;letter-spacing:.2em;padding:6px 12px;border:1px solid transparent;color:var(--dim)}.composer .acts button:hover{color:var(--ink)}.composer .acts .send{color:var(--ink);border-color:var(--line-strong)}.composer .acts button:disabled{opacity:.35}.console .streaming .msg:after{content:"▍";color:var(--sami);animation:cur 1.05s steps(1) infinite;margin-left:4px}.toasts{position:fixed;right:18px;bottom:calc(18px + var(--safe-bottom));z-index:30;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;cursor:pointer;min-width:240px;max-width:min(360px,calc(100vw - 32px));background:#000000f0;border:1px solid var(--line-strong);border-left:2px solid var(--sami);padding:10px 12px;font-size:12px;line-height:1.5;color:var(--ink);animation:toastin .18s ease-out}.toast .ttl{display:flex;align-items:center;gap:8px;color:var(--sami);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.toast .ttl .ic{display:inline-block;width:14px;text-align:center;flex:none}.toast .ln{color:var(--dim);margin-top:3px;letter-spacing:0}.toast.error,.toast.link,.toast.unwritten{border-left-color:var(--danger)}.toast.error .ttl,.toast.link .ttl,.toast.unwritten .ttl{color:var(--danger)}.toast.timeout,.toast.blank{border-left-color:var(--dim)}.toast.timeout .ttl,.toast.blank .ttl{color:var(--ink)}@keyframes toastin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:820px){.toasts{top:calc(70px + var(--safe-top));bottom:auto;left:16px;right:16px;align-items:stretch}.toast{max-width:none}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}
