:root{--ink: #090c0a;--ink-2: #0e1310;--ink-3: #131a16;--hairline: #1f2a24;--phosphor: #6fe08a;--phosphor-dim: #3d7a4e;--amber: #e2a63d;--red: #e05b5b;--text: #c8d4cc;--text-dim: #6d7a72;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--font-display: "Chakra Petch", var(--font-mono)}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--ink);color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.55}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.14) 2px 3px),radial-gradient(ellipse at 50% 40%,transparent 55%,rgba(0,0,0,.5));z-index:999}::selection{background:var(--phosphor-dim);color:var(--ink)}.gate{height:100%;display:grid;place-items:center}.gate-box{border:1px solid var(--hairline);padding:48px 56px;background:var(--ink-2);box-shadow:0 0 80px #6fe08a0f;text-align:center}.gate-sub{color:var(--text-dim);font-size:11px;letter-spacing:.18em;margin:10px 0 28px}.gate-box input{display:block;width:280px;margin:0 auto 14px;background:var(--ink);border:1px solid var(--hairline);color:var(--phosphor);font-family:var(--font-mono);padding:10px 12px;outline:none}.gate-box input:focus{border-color:var(--phosphor-dim)}.wordmark{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.34em;color:var(--phosphor);text-shadow:0 0 18px rgba(111,224,138,.35)}.wordmark-dot{animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.console{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:14px 22px;border-bottom:1px solid var(--hairline);background:var(--ink-2)}.topbar-status{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.22em;color:var(--text-dim);margin-right:auto}.lamp{width:8px;height:8px;border-radius:50%}.lamp-idle{background:var(--phosphor);box-shadow:0 0 8px var(--phosphor);animation:pulse 3.2s ease-in-out infinite}.lamp-busy{background:var(--amber);box-shadow:0 0 8px var(--amber);animation:pulse .5s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.frame{flex:1;display:flex;min-height:0}.sidebar{width:250px;border-right:1px solid var(--hairline);background:var(--ink-2);display:flex;flex-direction:column}.new-session{margin:14px;padding:10px;background:transparent;border:1px dashed var(--phosphor-dim);color:var(--phosphor);font-family:var(--font-display);letter-spacing:.16em;cursor:pointer;transition:background .15s}.new-session:hover{background:#6fe08a14}.session-list{overflow-y:auto;flex:1}.session-item{display:flex;gap:8px;width:100%;text-align:left;padding:10px 14px;background:transparent;border:0;border-bottom:1px solid var(--hairline);color:var(--text-dim);font-family:var(--font-mono);font-size:12px;cursor:pointer}.session-item:hover{color:var(--text);background:var(--ink-3)}.session-item.active{color:var(--phosphor);background:var(--ink-3);border-left:2px solid var(--phosphor)}.session-id{color:var(--amber);flex-shrink:0}.session-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat{flex:1;display:flex;flex-direction:column;min-width:0}.messages{flex:1;overflow-y:auto;padding:28px 36px}.hero{margin-top:14vh;text-align:center;color:var(--text-dim)}.hero-glyph{font-size:42px;color:var(--phosphor);text-shadow:0 0 30px rgba(111,224,138,.5);animation:pulse 3.2s ease-in-out infinite}.hero-line{font-family:var(--font-display);letter-spacing:.2em;margin-top:18px;color:var(--text)}.hero-sub{font-size:12px;margin-top:8px}.msg{max-width:72ch;margin-bottom:26px}.msg-user{margin-left:auto}.msg-role{font-family:var(--font-display);font-size:10px;letter-spacing:.28em;margin-bottom:6px}.msg-user .msg-role{color:var(--amber);text-align:right}.msg-assistant .msg-role{color:var(--phosphor)}.msg-body{white-space:pre-wrap;word-wrap:break-word;padding:12px 16px;border:1px solid var(--hairline);background:var(--ink-2)}.msg-user .msg-body{border-color:#e2a63d40}.msg-assistant .msg-body{border-left:2px solid var(--phosphor-dim)}.cursor{color:var(--phosphor);animation:blink .7s steps(1) infinite}.error-strip{border:1px solid var(--red);color:var(--red);padding:10px 14px;font-size:12px;letter-spacing:.08em}.composer{display:flex;align-items:flex-end;gap:12px;border-top:1px solid var(--hairline);padding:16px 22px;background:var(--ink-2)}.prompt-glyph{color:var(--phosphor);padding-bottom:9px}.composer textarea{flex:1;resize:none;background:var(--ink);border:1px solid var(--hairline);color:var(--text);font-family:var(--font-mono);font-size:14px;padding:10px 12px;outline:none;min-height:42px;max-height:180px}.composer textarea:focus{border-color:var(--phosphor-dim);box-shadow:0 0 0 1px #6fe08a26}button{font-family:var(--font-display);letter-spacing:.14em;font-size:12px;cursor:pointer}.composer button,.gate-box button{background:var(--phosphor);color:var(--ink);border:0;padding:11px 22px;font-weight:700;transition:box-shadow .15s}.composer button:hover:not(:disabled),.gate-box button:hover{box-shadow:0 0 18px #6fe08a73}.composer button:disabled{background:var(--phosphor-dim);cursor:not-allowed}.ghost{background:transparent;border:1px solid var(--hairline);color:var(--text-dim);padding:8px 14px}.ghost:hover{color:var(--text);border-color:var(--phosphor-dim)}.model-picker{background:var(--ink);border:1px solid var(--hairline);color:var(--amber);font-family:var(--font-mono);font-size:12px;padding:8px 10px;outline:none}.model-picker:disabled{color:var(--text-dim)}.inspector{width:320px;border-left:1px solid var(--hairline);background:var(--ink-2);padding:18px;overflow-y:auto}.inspector-title{font-family:var(--font-display);font-size:11px;letter-spacing:.26em;color:var(--amber);margin-bottom:16px}.inspector dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:12px}.inspector dt{color:var(--text-dim)}.inspector dd{color:var(--text);text-align:right}.inspector dd.wrap{word-break:break-all;font-size:10px}.inspector dd.good{color:var(--phosphor)}.raw{margin-top:18px;padding:12px;border:1px solid var(--hairline);background:var(--ink);color:var(--text-dim);font-size:10px;overflow-x:auto;white-space:pre}.empty-note{color:var(--text-dim);font-size:12px;padding:14px;text-align:center}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--hairline)}::-webkit-scrollbar-thumb:hover{background:var(--phosphor-dim)}
