:root{--bg:#0b0d10;--bg-2:#11141a;--panel:#151a22;--panel-2:#1a2029;--line:#242b36;--text:#e8ecf1;--dim:#8b95a3;--gold:#f0b429;--gold-2:#d99a12;--danger:#e5484d;--ok:#3fb68b;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button{background:var(--gold);color:#1a1405;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s}button:hover:not(:disabled){background:var(--gold-2)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{color:var(--dim);border:1px solid var(--line);background:0 0;margin-left:8px}button.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}button.link{color:var(--dim);background:0 0;padding:4px;font-weight:400;text-decoration:underline}input{background:var(--bg-2);border:1px solid var(--line);color:var(--text);border-radius:8px;outline:none;padding:12px 14px;font-size:14px}input:focus{border-color:var(--gold)}h1{text-align:center;margin:12px 0 4px;font-size:22px}h2{margin:0;font-size:20px}h3{margin:0 0 10px}.dim{color:var(--dim)}.center-text{text-align:center}.mono{word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.note{margin-top:12px;font-size:13px}.center-screen{justify-content:center;align-items:center;height:100%;padding:20px;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;max-width:640px;padding:24px}.panel.narrow{width:380px}.auth-panel{flex-direction:column;gap:12px;display:flex}.error-box{border:1px solid var(--danger);color:var(--danger);background:#e5484d1f;border-radius:8px;padding:10px 12px;font-size:13px}.empty-state{text-align:center;padding:48px 24px}.loader{color:var(--dim);font-size:15px}.skeleton-panel{flex-direction:column;gap:12px;display:flex}.skeleton{background:linear-gradient(90deg, var(--panel-2) 0%, var(--line) 45%, var(--panel-2) 90%);background-size:200% 100%;border-radius:8px;animation:1.2s ease-in-out infinite skeleton-shimmer}.skeleton-title{width:42%;height:22px}.skeleton-line{height:12px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.status-pill{letter-spacing:.02em;border-radius:999px;margin:0 0 10px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-pill-failed{border:1px solid var(--danger);color:var(--danger);background:#e5484d26}.status-pill-ready{color:#34d399;background:#34d3991f;border:1px solid #34d399}.status-pill-prototype{color:#9ec5e8;background:#9ec5e81f;border:1px solid #4a6f8f}.status-pill-store{color:#f0d080;background:#f0d0801f;border:1px solid #8a7030}.level-grade-strip{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;display:flex}.level-grade-strip .status-pill{margin:0}.factory-cli-status .status-pill{margin:0 0 8px}.factory-cli-status p{margin:0}.three-gate{flex-wrap:wrap;gap:6px;display:inline-flex}.gate-chip{letter-spacing:.03em;border:1px solid var(--line);color:var(--dim);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.gate-chip.gate-pass{color:#7dd3a0;border-color:#2f5c43}.gate-chip.gate-fail{color:var(--danger);border-color:var(--danger)}.gate-chip.gate-notrun{color:#c4b08a;border-color:#8a7030}.findings-list{margin:8px 0 0;padding-left:18px;font-size:12px}.shell{height:100%;display:flex}.rail{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;width:240px;padding:18px 14px;display:flex}.brand{align-items:center;gap:10px;margin-bottom:26px;display:flex}.brand.center{justify-content:center}.brand-mark{background:var(--gold);color:#1a1405;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:flex}.brand-name{font-size:14px;font-weight:700}.brand-sub{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.rail nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-btn{color:var(--dim);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-weight:500;display:flex}.nav-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.nav-btn.active{background:var(--panel);color:var(--gold)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;font-size:15px;line-height:1;display:inline-flex}.nav-label{font-size:14px;line-height:1.2}.nav-label-short{display:none}.rail-foot{color:var(--dim);align-items:center;gap:6px;font-size:11px;display:flex}.dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:7px;height:7px}main{flex-direction:column;flex:1;display:flex;overflow:hidden}.page{padding:28px;overflow-y:auto}.already-signed-in{margin:10px 0 0}.page-head{margin-bottom:20px}.page-head-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head-row h2{margin:0}.page-head-row button.ghost{flex-shrink:0;margin-left:0}.page-head p{margin:6px 0 0;font-size:13px}.floor{flex-direction:column;height:100%;padding:28px 28px 0;display:flex}.chat-scroll{flex:1;padding:8px 0 16px;overflow-y:auto}.bubble-row{margin-bottom:12px;display:flex}.bubble-row.user{justify-content:flex-end}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:72%;padding:12px 16px;font-size:14px;line-height:1.55}.bubble.factory{background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.user{background:#26303e;border-bottom-right-radius:4px}.bubble.blueprint{border-color:var(--gold)}.bubble.generation{border-color:var(--ok)}.bubble.error{border-color:var(--danger);color:var(--danger)}.bubble.info{color:var(--dim);border-style:dashed}.card-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.typing{color:var(--gold);letter-spacing:2px}.composer{border-top:1px solid var(--line);gap:10px;padding:16px 0 20px;display:flex}.composer input{flex:1}.composer-paused{margin:-8px 0 16px}.kv{grid-template-columns:160px 1fr;gap:8px 16px;margin:14px 0 20px;display:grid}.kv dt{color:var(--dim);text-transform:capitalize;font-size:13px}.kv dd{margin:0;font-size:14px}.kv-row{display:contents}@media (width<=760px){.shell{flex-direction:column}.rail{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:8px;width:100%;padding:8px 10px}.brand{flex-shrink:0;margin-bottom:0}.brand-text{display:none}.rail nav{flex-direction:row;flex:1;justify-content:space-between;gap:2px;min-width:0}.nav-btn{text-align:center;flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;padding:6px 2px}.nav-icon{width:auto;font-size:16px}.nav-label-full{display:none}.nav-label-short{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:500;display:block;overflow:hidden}.rail-foot{flex-shrink:0;margin-left:4px}.rail-foot-text{display:none}.bubble{max-width:92%}.page{padding:18px 14px}.floor{padding:18px 14px 0}.kv{grid-template-columns:120px 1fr}}.auth-mode{color:var(--gold,#f0b429);text-align:center;margin:.35rem 0 .75rem;font-size:1rem}.auth-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:.75rem;display:flex}.remember-me{min-height:40px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin:0;padding:8px 4px;font-size:14px;display:flex}.remember-me input[type=checkbox]{accent-color:var(--gold);cursor:pointer;flex:none;width:18px;height:18px}.notice-box{color:#7ee2a0;background:#2ea0431f;border:1px solid #2ea04373;border-radius:8px;margin:.5rem 0;padding:.6rem .75rem;font-size:.85rem}.plan-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin:1rem 0;display:grid}.plan-card{background:var(--panel,#151a22);border:1px solid #ffffff14;border-radius:10px;padding:.9rem}.plan-card.highlight{border-color:var(--gold,#f0b429)}.plan-current{letter-spacing:.04em;text-transform:uppercase;color:var(--gold,#f0b429);margin:0 0 .35rem;font-size:11px;font-weight:600}.plan-card h4{margin:0 0 .4rem}.capitalize{text-transform:capitalize}.verify-row{gap:.5rem;margin:.75rem 0;display:flex}.verify-row input{flex:1}.change-password-form{flex-direction:column;gap:8px;margin:1rem 0 0;display:flex}.change-password-form h3{margin:0 0 .25rem;font-size:1rem}.account-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.account-actions button.ghost,.account-actions button.danger{margin-left:0}.blueprint-card{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;margin-top:12px;padding:16px}.bp-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.bp-header strong{color:var(--gold);font-size:16px}.bp-vertical{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-size:11px}.bp-drafting-mode{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);color:var(--dim);border-radius:6px;padding:2px 8px;font-size:11px}.bp-drafting-mode.architect_llm{color:#7dd3a0;border-color:#2f5c43}.bp-drafting-mode.golden_steward,.bp-drafting-mode.golden_lettings{color:#9ec5e8;border-color:#2f4c6a}.coder-takeover{background:#102018;border:1px solid #2f5c43;border-radius:8px;margin:8px 0 0;padding:12px 14px}.coder-takeover h3{letter-spacing:.04em;text-transform:uppercase;color:#7dd3a0;margin:0 0 6px;font-size:13px}.coder-takeover p{color:var(--dim);margin:0;font-size:13px}.kernel-strip{flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.kernel-strip li{border:1px solid var(--line);color:var(--dim);border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;display:flex}.kernel-strip li.done{color:#7dd3a0;border-color:#2f5c43}.kernel-strip li.current{color:#f0d080;background:#1c1a10;border-color:#8a7030}.kernel-strip li.failed{color:#ff8f8f;background:#1f1010;border-color:#7a3a3a;font-weight:600}.coder-failure-line{color:#ff8f8f;background:#1f1010;border:1px solid #7a3a3a;border-radius:6px;margin:0 0 10px;padding:8px 10px;font-size:13px}.coder-takeover.stale{border-color:#8a7030}.coder-progress{flex-direction:column;gap:4px;display:flex}.coder-phase{color:var(--text,#e8efe9);margin:0;font-size:13px}.coder-phase-label,.coder-next,.coder-counts,.coder-last,.coder-heartbeat{color:var(--dim);margin:0;font-size:13px}.coder-next{margin-left:8px}.coder-session-log{color:#b7c9bc;white-space:pre-wrap;word-break:break-word;background:#0a120e;border:1px solid #1e3328;border-radius:6px;max-height:220px;margin:8px 0 0;padding:8px 10px;font-size:11px;line-height:1.45;overflow:auto}.coder-monitor-actions{margin-top:8px}.coder-bar{background:#1a2a20;border-radius:3px;height:6px;margin:4px 0 2px;overflow:hidden}.coder-bar>span{background:#7dd3a0;height:100%;display:block}.kernel-id{letter-spacing:.04em;text-transform:uppercase}.kernel-title{text-transform:none;letter-spacing:0;opacity:.85;font-size:10px}.kernel-agent{color:#7dd3a0;font-size:10px}.bp-summary{color:var(--dim);margin:0 0 14px;font-size:13px}.bp-fallback-warning{color:#f0d080;background:#1c1a10;border:1px solid #8a7030;border-radius:6px;margin:0 0 14px;padding:8px 10px;font-size:13px}.blueprint-card h4{text-transform:uppercase;letter-spacing:.05em;color:var(--dim);margin:0 0 10px;font-size:13px}.bp-caps{flex-direction:column;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.bp-caps li{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.bp-caps li.bp-cap-excluded{opacity:.45}.bp-cap-pick{cursor:pointer;align-items:center;gap:8px;display:flex}.bp-cap-pick input[type=checkbox]{accent-color:var(--gold);flex:none;width:15px;height:15px}.bp-pick-hint{margin:0 0 8px;font-size:12px}.bp-cap-id{font-size:14px;font-weight:600}.bp-strategy{text-transform:uppercase;letter-spacing:.06em;color:var(--gold);background:#f0b42926;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px}.bp-strategy.GENERATE{color:var(--dim);background:#8b95a326}.bp-cap-desc{color:var(--text);margin:6px 0 0;font-size:13px}.bp-cap-blocks{color:var(--dim);margin:6px 0 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.bp-refine-hint{color:var(--dim);margin:12px 0 0;font-size:12px}.auth-panel button.ghost{margin-left:0}.toast{z-index:40;background:var(--panel);border:1px solid var(--gold-2);color:var(--text);border-radius:8px;max-width:320px;padding:10px 14px;font-size:13px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #00000059}
