:root{--bg: #0b1020;--bg-soft: #121a33;--panel: #16203f;--panel-2: #1c2a52;--border: #2a3a6b;--text: #e7ecf8;--text-dim: #9aa8cc;--accent: #5b8cff;--accent-2: #8a6cff;--green: #38d996;--amber: #ffb454;--red: #ff6b7a;--radius: 12px;--mono: "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 20% -10%,#16224a 0%,var(--bg) 55%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:10px;padding:10px 16px;cursor:pointer;transition:filter .15s ease,background .15s ease}button:hover:not(:disabled){filter:brightness(1.15)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;font-weight:600}button.danger{background:var(--red);border-color:transparent}button.ghost{background:transparent}button.small{padding:6px 10px;font-size:13px;border-radius:8px}input,textarea{font:inherit;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;width:100%}textarea{resize:vertical;min-height:90px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.container{max-width:1400px;margin:0 auto;padding:24px}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:20px}.brand{font-size:18px;font-weight:700;letter-spacing:.2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-sub{color:var(--text-dim);font-size:13px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card h3{margin-top:0}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:1.1fr 1.9fr}@media(max-width:900px){.grid-2{grid-template-columns:1fr}}.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;border:1px solid var(--border);color:var(--text-dim)}.chip.ok{color:var(--green);border-color:var(--green)}.chip.warn{color:var(--amber);border-color:var(--amber)}.chip.err{color:var(--red);border-color:var(--red)}.chip.run{color:var(--accent);border-color:var(--accent)}.muted{color:var(--text-dim);font-size:13px}.hero{text-align:center;padding:40px 0 24px}.hero h1{font-size:38px;margin:0 0 8px}.hero p{color:var(--text-dim);margin:0 auto 28px;max-width:640px;line-height:1.5}.idea-box{max-width:760px;margin:0 auto}.idea-box textarea{min-height:120px;font-size:15px}.idea-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.hint{color:var(--text-dim);font-size:12.5px;margin-top:8px;text-align:center}.project-list{margin-top:36px}.project-list h2{font-size:16px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:1px}.project-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.project-card{display:block}.project-card .meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.score-pill{font-weight:700;color:var(--green)}.score-pill.low{color:var(--amber)}.chat{display:flex;flex-direction:column;height:calc(100vh - 140px);min-height:520px}.chat-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--border)}.messages{flex:1;overflow-y:auto;padding:14px 2px;display:flex;flex-direction:column;gap:12px}.msg{max-width:92%;padding:10px 14px;border-radius:14px;white-space:pre-wrap;line-height:1.45;font-size:14px}.msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.msg.assistant{align-self:flex-start;background:var(--panel-2);border-bottom-left-radius:4px}.msg .role{display:block;font-size:11px;color:var(--text-dim);margin-bottom:4px}.msg.assistant .role{color:var(--accent)}.chat-input{display:flex;gap:8px;padding-top:10px}.chat-input textarea{min-height:44px;max-height:140px}.typing{color:var(--text-dim);font-size:13px;padding:4px 2px}.brief-card{border:1px solid var(--accent);background:linear-gradient(180deg,#1a2b5e,var(--panel))}.brief-title{font-size:20px;font-weight:700;margin-bottom:6px}.brief-field{margin:10px 0}.brief-field .label{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim)}.brief-actions{display:flex;gap:10px;margin-top:16px}.stepper{display:flex;flex-direction:column;gap:8px}.step-row{display:flex;align-items:center;gap:10px;font-size:14px}.step-dot{width:10px;height:10px;border-radius:50%;background:var(--border);flex-shrink:0}.step-dot.running{background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.step-dot.done{background:var(--green)}.step-dot.error{background:var(--red)}.step-label{flex:1;color:var(--text-dim)}.step-label.done{color:var(--text)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px;flex-wrap:wrap}.tab{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;padding:10px 14px;color:var(--text-dim);font-weight:500}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.markdown{line-height:1.6;font-size:14.5px;overflow-wrap:break-word}.markdown h1{font-size:22px;border-bottom:1px solid var(--border);padding-bottom:8px}.markdown h2{font-size:18px;margin-top:26px}.markdown h3{font-size:15px}.markdown code{font-family:var(--mono);background:var(--bg-soft);padding:2px 5px;border-radius:5px;font-size:13px}.markdown pre{background:var(--bg-soft);padding:14px;border-radius:10px;overflow-x:auto}.markdown pre code{background:none;padding:0}.markdown table{border-collapse:collapse;width:100%;margin:12px 0}.markdown th,.markdown td{border:1px solid var(--border);padding:8px 10px;text-align:left}.markdown blockquote{border-left:3px solid var(--accent);margin:0;padding-left:14px;color:var(--text-dim)}.markdown ul,.markdown ol{padding-left:22px}.question-card{border-color:var(--accent)}.q-actions{display:flex;gap:10px;margin-top:12px;align-items:center}.dimensions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.dim{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12.5px}.dim b{color:var(--green)}.gap-list{color:var(--text-dim);font-size:13.5px}.banner{border-radius:10px;padding:10px 14px;font-size:14px;margin-bottom:12px}.banner.warn{background:#ffb4541f;border:1px solid var(--amber);color:var(--amber)}.banner.err{background:#ff6b7a1f;border:1px solid var(--red);color:var(--red)}.banner.ok{background:#38d9961a;border:1px solid var(--green);color:var(--green)}.empty{text-align:center;padding:40px 20px;color:var(--text-dim)}.score-ring{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:16px;background:conic-gradient(var(--green) var(--pct),var(--panel-2) 0)}.score-ring>span{background:var(--panel);border-radius:50%;width:50px;height:50px;display:grid;place-items:center}.doc-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:10px}.admin-shell{display:flex;min-height:100vh}.admin-side{width:232px;flex-shrink:0;background:var(--bg-soft);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-brand{padding:20px 18px 14px;border-bottom:1px solid var(--border)}.admin-brand-link{font-weight:700;font-size:16px;color:var(--text);letter-spacing:.1px}.admin-brand-link span{color:var(--accent)}.admin-brand-link:hover{text-decoration:none}.admin-nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px;flex:1}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--text-dim);font-size:14px;font-weight:500;transition:background .18s ease-out,color .18s ease-out}.admin-nav-item:hover{background:var(--panel);color:var(--text);text-decoration:none}.admin-nav-item.active{background:var(--panel-2);color:var(--text)}.admin-nav-item.active svg{color:var(--accent)}.admin-side-foot{padding:14px 18px;border-top:1px solid var(--border)}.admin-back{color:var(--text-dim);font-size:13px}.admin-back:hover{color:var(--text)}.admin-main{flex:1;min-width:0;padding:28px 32px 48px}.admin-stack{display:flex;flex-direction:column;gap:18px;max-width:1200px}.admin-page-head h1{font-size:22px;margin:0 0 4px;letter-spacing:-.01em}.admin-page-head p{margin:0}.admin-h1{font-size:22px;margin:0 0 4px}.admin-loading{color:var(--text-dim);padding:40px}.admin-gate{display:grid;place-items:center;min-height:60vh}.admin-gate-panel{width:100%;max-width:380px}.admin-gate-title{font-size:18px;margin:0 0 6px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin:0}.panel-actions{display:flex;gap:8px}.stat-strip{display:flex;padding:0;overflow:hidden}.stat{flex:1;padding:18px 20px;border-right:1px solid var(--border);min-width:0}.stat:last-child{border-right:none}.stat-label{font-size:12px;color:var(--text-dim);margin-bottom:6px}.stat-value{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-sub{font-size:12px;color:var(--text-dim);margin-top:4px}.score-num{font-variant-numeric:tabular-nums;font-weight:600}.score-good{color:var(--green)}.score-mid{color:var(--amber)}.score-low{color:var(--red)}.status-dist{display:flex;flex-direction:column;gap:12px}.status-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--bg-soft)}.status-seg{height:100%}.seg-complete{background:var(--green)}.seg-evaluating,.seg-refining,.seg-awaiting_questions,.seg-brief_enhancing,.seg-revising{background:var(--accent)}.seg-awaiting_approval{background:var(--amber)}.seg-error{background:var(--red)}.status-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;color:var(--text-dim)}.status-legend-item{display:inline-flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-complete{background:var(--green)}.dot-evaluating,.dot-refining,.dot-awaiting_questions,.dot-brief_enhancing,.dot-revising{background:var(--accent)}.dot-awaiting_approval{background:var(--amber)}.dot-error{background:var(--red)}.dot-created{background:var(--accent)}.dot-evaluate_complete,.dot-refine_complete{background:var(--green)}.dot-guardrail_trip{background:var(--amber)}.admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}@media(max-width:1100px){.admin-cols{grid-template-columns:1fr}}.row-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.row-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 4px;border-bottom:1px solid var(--border);color:var(--text);transition:background .18s ease-out,padding .18s ease-out}.row-link:last-child{border-bottom:none}.row-link:hover{background:var(--bg-soft);padding-left:8px;padding-right:8px;text-decoration:none;border-radius:8px}.row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.row-title{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-side{display:flex;align-items:center;gap:10px;flex-shrink:0}.event-list{list-style:none;margin:0;padding:0}.event-row{display:flex;align-items:flex-start;gap:10px;padding:9px 4px;border-bottom:1px solid var(--border)}.event-row:last-child{border-bottom:none}.event-dot{margin-top:5px;flex-shrink:0}.event-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.event-name{font-size:13.5px;font-weight:550}.event-detail{font-size:12.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-time{font-size:12px;flex-shrink:0}.table-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.table-search{max-width:280px}.table-filter{max-width:180px;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.filter-chip{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:6px 12px;border-radius:999px;font-size:12.5px}.filter-chip.active{background:var(--panel-2);color:var(--text);border-color:var(--accent)}.table-panel{padding:0;overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-soft)}.data-table td{padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .15s ease-out}.data-table tbody tr:hover{background:var(--bg-soft)}.table-id{font-family:var(--mono);font-size:12px;color:var(--text-dim)}.table-err{font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-detail{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:13px}.event-tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;background:var(--panel-2);color:var(--text)}.tag-evaluate_complete,.tag-refine_complete{background:#38d9961f;color:var(--green)}.tag-guardrail_trip{background:#ffb4541f;color:var(--amber)}.tag-error{background:#ff6b7a1f;color:var(--red)}.skeleton{display:flex;flex-direction:column;gap:12px}.skeleton-line{height:12px;border-radius:6px;background:var(--panel-2);animation:sk-pulse 1.6s ease-in-out infinite}.skeleton-table{gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.skeleton-row{display:flex;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border)}.skeleton-row:last-child{border-bottom:none}@keyframes sk-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.skeleton-line{animation:none;opacity:.6}.admin-nav-item,.row-link,.data-table tbody tr{transition:none}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:36px 20px;text-align:center}.empty-mark{width:34px;height:34px;border-radius:10px;border:1.5px dashed var(--border);margin-bottom:6px}.empty-title{font-weight:600;font-size:14.5px}.empty-hint{color:var(--text-dim);font-size:13px;max-width:320px}.empty-action{margin-top:10px}.kv{margin:0;display:flex;flex-direction:column}.kv>div{display:flex;justify-content:space-between;gap:16px;padding:9px 4px;border-bottom:1px solid var(--border);font-size:13.5px}.kv>div:last-child{border-bottom:none}.kv dt{color:var(--text-dim)}.kv dd{margin:0;font-variant-numeric:tabular-nums}.health-row{display:flex;align-items:center;gap:12px}.health-dot{width:10px;height:10px;border-radius:50%}.health-dot.ok{background:var(--green)}.health-dot.err{background:var(--red)}.health-label{font-weight:600;font-size:14.5px}@media(max-width:900px){.admin-shell{flex-direction:column}.admin-side{width:100%;height:auto;position:static;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;border-right:none;border-bottom:1px solid var(--border)}.admin-brand{padding:0 8px 0 0;border-bottom:none}.admin-nav{flex-direction:row;padding:0;overflow-x:auto;flex:1}.admin-nav-item{white-space:nowrap}.admin-side-foot{padding:0 0 0 8px;border-top:none}.admin-main{padding:18px 16px 40px}.stat-strip{flex-wrap:wrap}.stat{flex:1 1 33%;border-right:none;border-bottom:1px solid var(--border)}}.admin-new-idea{display:block;text-align:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:600;font-size:13.5px;border-radius:9px;padding:9px 12px}.admin-new-idea:hover{color:#fff;filter:brightness(1.1);text-decoration:none}.workspace-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--border)}.workspace-title{flex:1;min-width:0}.workspace-title h1{margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-title .table-id{font-size:11.5px}.composer-panel{border-color:var(--border)}.composer-panel textarea{min-height:76px}.composer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px;align-items:center}.composer-error{margin:0}
