*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#101216;--panel:#171a20;--panel-2:#1d212a;--line:#262b34;--text:#e8e6df;--muted:#8f96a3;--accent:#d9a05b;--accent-dim:#8a6a42;--ok:#6fbf8f;--warn:#e0b556;--bad:#e07a6a;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}body,html{height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.5}a{color:inherit;text-decoration:none}.appshell{display:grid;grid-template-rows:52px 1fr;grid-template-columns:216px 1fr;grid-template-areas:"top top" "side main";height:100vh}.topnav{grid-area:top;display:flex;align-items:center;gap:22px;padding:0 18px;border-bottom:1px solid var(--line);background:var(--panel)}.wordmark{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.08em;color:var(--accent)}.wordmark span{color:var(--muted);font-weight:400}.topnav nav{display:flex;gap:4px;margin-left:8px}.topnav nav a{padding:6px 12px;border-radius:8px;color:var(--muted);font-size:13.5px}.topnav nav a.active,.topnav nav a:hover{color:var(--text);background:var(--panel-2)}.topnav .spacer{flex:1 1}.env-chip{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.siderail{grid-area:side;border-right:1px solid var(--line);padding:16px 10px;overflow-y:auto}.rail-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 10px 8px}.siderail a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--muted);margin-bottom:2px}.siderail a:hover{color:var(--text);background:var(--panel)}.siderail a.active{color:var(--text);background:var(--panel-2)}.dot{width:7px;height:7px;border-radius:50%;background:var(--line);flex-shrink:0}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.off{background:var(--line)}.main{grid-area:main;overflow-y:auto;padding:26px 30px 40px}.main-narrow{max-width:900px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}h1.page{font-size:21px;font-weight:650;margin-bottom:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:16px}.card h2{font-size:14px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px}.briefing{border-left:3px solid var(--accent)}.briefing pre{white-space:pre-wrap;font-family:inherit;color:var(--text);font-size:14px;max-height:300px;overflow-y:auto}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.stat{font-family:var(--mono);font-size:12.5px;color:var(--muted)}.stat b{color:var(--text);font-weight:600}.sysline{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:6px}.item-row{padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}.item-row:last-child{border-bottom:0}.item-row .meta{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}.empty-hint{color:var(--muted);font-size:13.5px}.empty-hint a{color:var(--accent)}.field{margin-bottom:12px}.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px}.field input,.field textarea{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13.5px;font-family:inherit;outline:none}.field input:focus,.field textarea:focus{border-color:var(--accent-dim)}.field .hint{font-size:12px;color:var(--muted);margin-top:3px}.field .hint a{color:var(--accent)}.btn-row{display:flex;gap:10px;align-items:center;margin-top:12px}button.btn{background:var(--accent);color:#1a1206;border:0;border-radius:8px;padding:8px 16px;font-size:13.5px;font-weight:600;cursor:pointer}button.btn.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}button.btn:disabled{opacity:.45;cursor:default}.test-result{font-family:var(--mono);font-size:12px;margin-top:8px}.test-result.ok{color:var(--ok)}.test-result.bad{color:var(--bad)}.toggle-row{gap:8px;margin-bottom:12px;font-size:13.5px}.toggle-row,.wizard-overlay{display:flex;align-items:center}.wizard-overlay{position:fixed;inset:0;background:rgba(8,9,12,.82);justify-content:center;z-index:40;padding:20px}.wizard{width:100%;max-width:560px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 26px;max-height:88vh;overflow-y:auto}.wizard .step-count{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.wizard h2{font-size:18px;margin:6px 0 4px}.wizard .lede{color:var(--muted);font-size:13.5px;margin-bottom:16px}.chatwrap{display:flex;flex-direction:column;height:calc(100vh - 52px - 66px);max-width:860px}.messages{flex:1 1;overflow-y:auto;padding:18px 4px;display:flex;flex-direction:column;gap:12px}.bubble{max-width:78%;padding:10px 14px;border-radius:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.bubble.user{align-self:flex-end;background:#33415c;border-bottom-right-radius:4px}.bubble.bot{align-self:flex-start;background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.pending{color:var(--muted);font-style:italic}.bubble.error{border-color:#6b2b2b;color:#ff9d9d}.composer{display:flex;gap:10px;padding:14px 4px 4px;border-top:1px solid var(--line)}.composer textarea{flex:1 1;resize:none;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14.5px;font-family:inherit;min-height:44px;max-height:140px;outline:none}.composer textarea:focus{border-color:var(--accent-dim)}.composer button{background:var(--accent);color:#1a1206;border:0;border-radius:10px;padding:0 20px;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.45;cursor:default}.empty{color:var(--muted);text-align:center;margin-top:20vh;line-height:1.7}.signin-wrap{display:flex;align-items:center;justify-content:center;height:100vh}@media (max-width:760px){.appshell{grid-template-columns:1fr;grid-template-areas:"top" "main"}.siderail{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}