:root{--canvas: #f4f3ee;--surface: #fffefb;--surface-2: #f7f6f1;--surface-3: #efede6;--line: #e2e0d7;--line-strong: #cfccc0;--ink: #1f2420;--ink-2: #454b45;--muted: #6d7269;--faint: #9a9d93;--accent: #158a85;--accent-ink: #0c5c58;--accent-soft: #dcefec;--ai: #0e6d70;--ai-soft: #d7ecec;--ai-ink: #084f52;--ok: #2f8f5b;--ok-soft: #dcefe2;--ok-ink: #1c6b40;--amber: #bd8410;--amber-soft: #f4e9cf;--amber-ink: #8a6008;--flag: #c0603d;--flag-soft: #f3ddd2;--flag-ink: #8f3f21;--sos: #b23b3b;--sos-soft: #f2d7d7;--sos-ink: #872626;--info: #3f6bb0;--info-soft: #dbe6f5;--info-ink: #2a4c85;--st-ai: var(--amber);--st-ai-soft: var(--amber-soft);--st-ai-ink: var(--amber-ink);--st-verified: var(--ok);--st-verified-soft: var(--ok-soft);--st-verified-ink: var(--ok-ink);--st-manual: var(--info);--st-manual-soft: var(--info-soft);--st-manual-ink: var(--info-ink);--st-rejected: var(--muted);--st-rejected-soft: var(--surface-3);--st-rejected-ink: var(--muted);--font-display: "Newsreader", Georgia, "Times New Roman", serif;--font-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-xs: 6px;--r-sm: 8px;--r-md: 11px;--r-lg: 14px;--r-xl: 18px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(30, 34, 28, .06), 0 1px 3px rgba(30, 34, 28, .05);--shadow: 0 4px 14px rgba(30, 34, 28, .08), 0 2px 6px rgba(30, 34, 28, .05);--shadow-lg: 0 18px 48px rgba(30, 34, 28, .16), 0 6px 18px rgba(30, 34, 28, .08);--sidebar-w: 248px;--header-h: 60px;--drawer-w: 680px;--brand-grad: linear-gradient(135deg, var(--accent), var(--ai))}[data-theme=dark]{--canvas: #0e120f;--surface: #161b17;--surface-2: #1b211c;--surface-3: #232a24;--line: #2a322b;--line-strong: #3a443b;--ink: #e9ece6;--ink-2: #c2c8bf;--muted: #8b938a;--faint: #626a61;--accent: #3fb3ac;--accent-ink: #7fd4ce;--accent-soft: #163331;--ai: #3cbfc2;--ai-soft: #14332f;--ai-ink: #7fd9d9;--ok: #4bb87a;--ok-soft: #14301f;--ok-ink: #7fd4a1;--amber: #d8a63f;--amber-soft: #33280f;--amber-ink: #e8c576;--flag: #d97e5a;--flag-soft: #341c12;--flag-ink: #ea9d7c;--sos: #d15c5c;--sos-soft: #331616;--sos-ink: #e88a8a;--info: #6d97d8;--info-soft: #172336;--info-ink: #9bbaea;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 6px 20px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 56px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .25s ease,color .25s ease}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;color:var(--ink);margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--ink)}code,.mono{font-family:var(--font-mono)}::selection{background:var(--ai-soft)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);border:3px solid transparent;background-clip:padding-box}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink)}.btn-ai{background:var(--ai);border-color:var(--ai);color:#fff}.btn-ai:hover{filter:brightness(1.06)}.btn-ai-ghost{background:transparent;border-color:var(--ai-soft);color:var(--ai-ink)}.btn-ai-ghost:hover{background:var(--ai-soft);border-color:var(--ai)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-danger:hover{border-color:var(--sos);color:var(--sos);background:var(--sos-soft)}[data-theme=dark] .btn-primary,[data-theme=dark] .btn-ai{color:#08120f}.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--r-pill);font-size:12px;font-weight:600;background:var(--surface-3);color:var(--ink-2);white-space:nowrap}.chip-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.field{height:38px;padding:0 11px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);width:100%;outline:none;transition:border-color .15s,box-shadow .15s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.field{height:auto;padding:9px 11px;resize:vertical;line-height:1.5}.bar{display:block;height:6px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.bar>i{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes drawerIn{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}.fade-up{animation:fadeUp .25s ease both}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column}.spread{display:flex;align-items:center;justify-content:space-between;gap:10px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.gap-sm{gap:6px}.gap-lg{gap:18px}.stack>*+*{margin-top:14px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{max-width:none;margin:0;padding:24px 56px 60px;animation:fadeUp .25s ease both}.page-wide{max-width:none}
