@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{color-scheme:dark;--bg:#0c0a09;--bg-subtle:#141210;--panel:#1c1917;--panel-2:#24201d;--panel-card:rgba(28,25,23,0.72);--panel-hover:rgba(38,34,31,0.85);--border:rgba(255,255,255,0.10);--border-subtle:rgba(255,255,255,0.06);--border-glow:rgba(240,193,0,0.32);--text:#fafaf9;--muted:#a6a09b;--muted-dark:#78716c;--brand:#f0c100;--brand-light:#ffd236;--brand-dim:rgba(240,193,0,0.12);--primary:#d27a00;--primary-gradient:linear-gradient(135deg,#fbcb21,#d27a00);--primary-gradient-hover:linear-gradient(135deg,#ffd236,#dd7400);--accent:#00d294;--accent-dim:rgba(0,210,148,0.12);--warn:#f99c00;--warn-dim:rgba(249,156,0,0.14);--danger:#ff6568;--danger-dim:rgba(255,101,104,0.14);--info:#38bdf8;--info-dim:rgba(56,189,248,0.12);--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-pill:9999px;--font-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono","Cascadia Code",Menlo,monospace;--shadow-sm:0 2px 8px rgba(0,0,0,0.2);--shadow-md:0 4px 16px rgba(0,0,0,0.28);--shadow-lg:0 10px 30px rgba(0,0,0,0.4);--shadow-glow:0 0 20px rgba(240,193,0,0.25)}*{box-sizing:border-box}body,html{margin:0;padding:0;background-color:var(--bg);background-image:radial-gradient(ellipse 1100px 600px at 100% 0,rgba(240,193,0,.11) 0,transparent 60%),radial-gradient(ellipse 900px 500px at 0 100%,rgba(210,122,0,.08) 0,transparent 55%);background-attachment:fixed;color:var(--text);font-family:var(--font-sans);font-size:14.5px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.24)}.shell{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-gap:0;gap:0;min-height:100vh}@media (max-width:1040px){.shell{grid-template-columns:1fr}.sidebar{border-left:none!important;border-top:1px solid var(--border)}}.main{display:flex;flex-direction:column;min-width:0;position:relative;height:100vh;overflow:hidden}.masthead{padding:18px 28px 16px;border-bottom:1px solid var(--border);background:rgba(12,10,9,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:20;flex-shrink:0}.brand-row{justify-content:space-between;gap:16px;flex-wrap:wrap}.brand-row,.brand-title-wrap{display:flex;align-items:center}.brand-title-wrap{gap:12px}.brand-glyph{width:36px;height:36px;border-radius:10px;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(210,122,0,.4);flex-shrink:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.brand-glyph:hover{transform:rotate(-6deg) scale(1.05)}.brand-glyph svg{width:20px;height:20px;color:#0c0a09}.masthead h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.025em;color:var(--text);display:flex;align-items:center;gap:8px}.masthead h1 .version-tag{font-family:var(--font-mono);font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius-pill);background:rgba(240,193,0,.12);color:var(--brand-light);border:1px solid rgba(240,193,0,.28)}.thesis{margin:8px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5;max-width:74ch}.badges{display:flex;flex-wrap:wrap;gap:8px}.badge,.badges{align-items:center}.badge{display:inline-flex;gap:6px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;padding:3px 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:rgba(28,25,23,.65);color:var(--text);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .15s ease}.status-dot{width:6.5px;height:6.5px;border-radius:50%;background:currentColor;display:inline-block}.badge.ok{color:var(--accent);border-color:rgba(0,210,148,.35);background:rgba(0,210,148,.08)}.badge.ok .status-dot{box-shadow:0 0 8px var(--accent);animation:pulse-dot 2s ease-in-out infinite}.badge.brand{color:var(--brand-light);border-color:rgba(240,193,0,.35);background:rgba(240,193,0,.09)}.badge.brand .status-dot{box-shadow:0 0 8px var(--brand)}.badge.warn{color:var(--warn);border-color:rgba(249,156,0,.4);background:var(--warn-dim)}.badge.danger{color:var(--danger);border-color:rgba(255,101,104,.4);background:var(--danger-dim)}.badge.info{color:var(--info);border-color:rgba(56,189,248,.35);background:var(--info-dim)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.chat{flex:1 1;padding:24px 28px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;scroll-behavior:smooth}.empty-hero{padding:36px 28px;border-radius:var(--radius-lg);border:1px dashed rgba(240,193,0,.28);background:radial-gradient(circle at 10% 20%,rgba(240,193,0,.08),transparent 50%),rgba(28,25,23,.55);text-align:center;margin:auto 0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-md);animation:fadeIn .3s ease}.empty-hero-icon{width:48px;height:48px;border-radius:14px;background:rgba(240,193,0,.12);color:var(--brand-light);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 4px 14px rgba(240,193,0,.15)}.empty-hero h3{margin:0 0 8px;font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.empty-hero p{margin:0 auto 20px;max-width:56ch;color:var(--muted);font-size:13.5px;line-height:1.55}.quick-prompts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:68ch;margin:0 auto}.quick-prompt-btn{font-family:inherit;font-size:12.5px;padding:7px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:rgba(28,25,23,.8);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .16s ease}.quick-prompt-btn:hover{border-color:var(--border-glow);color:var(--text);background:var(--panel-2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.25)}.msg{max-width:80ch;animation:fadeIn .25s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg.user{align-self:flex-end}.msg .who{font-family:var(--font-mono);font-size:11px;color:var(--muted-dark);margin-bottom:6px;display:flex;align-items:center;gap:6px}.msg.user .who{justify-content:flex-end}.msg .body{white-space:pre-wrap;font-size:14.5px;line-height:1.62;word-break:break-word}.msg.user .body{background:var(--panel-2);border:1px solid rgba(255,255,255,.12);border-radius:16px 16px 4px 16px;padding:12px 18px;box-shadow:var(--shadow-md);color:var(--text)}.msg.assistant .body{background:rgba(28,25,23,.65);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:4px 16px 16px 16px;padding:14px 18px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cites{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.cite{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:11px;padding:3px 9px;border-radius:6px;background:rgba(240,193,0,.12);color:var(--brand-light);border:1px solid rgba(240,193,0,.26);cursor:help;transition:all .15s ease}.cite:hover{background:rgba(240,193,0,.22);border-color:rgba(240,193,0,.5);transform:translateY(-1px)}.pending{margin-top:12px;border:1px solid rgba(249,156,0,.4);background:rgba(249,156,0,.08);border-radius:var(--radius);padding:14px 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:glowPulse 3s ease-in-out infinite}@keyframes glowPulse{0%,to{border-color:rgba(249,156,0,.4)}50%{border-color:rgba(249,156,0,.7)}}.pending .label{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--warn);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}.pending .text{font-size:14px;color:var(--text);margin-bottom:12px;background:rgba(12,10,9,.5);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:9px 12px}.pending .actions{display:flex;gap:8px}button{font-family:inherit;font-size:13px;font-weight:500;padding:8px 15px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s cubic-bezier(.4,0,.2,1);outline:none;min-height:38px}button:hover:not(:disabled){border-color:rgba(255,255,255,.28);background:#332d28;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.primary{background:var(--primary-gradient);border:1px solid rgba(240,193,0,.4);color:#0c0a09;font-weight:600;box-shadow:0 4px 14px rgba(210,122,0,.35)}button.primary:hover:not(:disabled){background:var(--primary-gradient-hover);box-shadow:0 4px 20px rgba(240,193,0,.48);border-color:rgba(240,193,0,.6)}button.danger{background:var(--danger-dim);border-color:rgba(255,101,104,.35);color:var(--danger)}button.danger:hover:not(:disabled){background:rgba(255,101,104,.22);border-color:var(--danger)}button.ghost{background:transparent;border-color:transparent;color:var(--muted);padding:4px 8px;min-height:auto}button.ghost:hover:not(:disabled){background:rgba(255,255,255,.06);color:var(--text)}.composer-form{margin:0;padding:0;width:100%}.composer{display:flex;gap:10px;padding:16px 28px 22px;border-top:1px solid var(--border);background:rgba(12,10,9,.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);align-items:center;flex-shrink:0}input[type=text]{flex:1 1;font-family:inherit;font-size:14.5px;padding:12px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-card);color:var(--text);outline:none;min-height:48px;transition:all .16s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}input[type=text]::placeholder{color:var(--muted-dark)}input[type=text]:focus-visible{border-color:var(--brand);background:var(--panel);box-shadow:0 0 0 3px rgba(240,193,0,.2)}.sidebar{border-left:1px solid var(--border);background:rgba(18,16,14,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:22px 20px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;height:100vh}.section{background:var(--panel-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}.section:hover{border-color:rgba(255,255,255,.16);box-shadow:var(--shadow-md)}.section h2{margin:0 0 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono);font-weight:600;display:flex;align-items:center;justify-content:space-between}.section h2 .pill-tag{font-size:10px;padding:2px 7px;border-radius:var(--radius-pill);background:rgba(255,255,255,.06);color:var(--muted);font-weight:400}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:8px}.stat-box{background:rgba(12,10,9,.55);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 12px}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-dark)}.stat-label,.stat-val{font-family:var(--font-mono)}.stat-val{font-size:14px;font-weight:600;color:var(--text);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-val.ok{color:var(--accent)}.stat-val.brand{color:var(--brand-light)}.stat-val.warn{color:var(--warn)}.stat-val.danger{color:var(--danger)}.kv{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 12px;gap:4px 12px;font-family:var(--font-mono);font-size:11.5px;margin:0}.kv dt{color:var(--muted-dark)}.kv dd{margin:0;color:var(--text);overflow-wrap:anywhere}.model-switch{display:flex;gap:4px;background:rgba(12,10,9,.6);border:1px solid var(--border-subtle);border-radius:9px;padding:3px}.model-switch button{flex:1 1;font-size:11px;font-family:var(--font-mono);padding:6px 8px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);box-shadow:none;min-height:32px}.model-switch button:hover{color:var(--text);background:rgba(255,255,255,.04);transform:none}.model-switch button.active{background:var(--brand);color:#0c0a09;font-weight:600;border-color:var(--brand);box-shadow:0 2px 8px rgba(240,193,0,.35)}.log{display:flex;flex-direction:column;gap:6px;max-height:290px;overflow-y:auto;padding-right:4px}.log-row{font-family:var(--font-mono);font-size:11px;padding:8px 10px;border-radius:8px;background:rgba(12,10,9,.6);border:1px solid var(--border-subtle);border-left:3px solid var(--border);overflow-wrap:anywhere;transition:all .15s ease}.log-row:hover{background:rgba(12,10,9,.85);border-color:rgba(255,255,255,.14)}.log-row.ok{border-left-color:var(--accent)}.log-row.fail{border-left-color:var(--danger)}.log-row.warn{border-left-color:var(--warn)}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.log-row .op{color:var(--brand-light);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.06em}.log-row .sum{color:var(--text);line-height:1.4;margin-top:3px}.log-row .meta{color:var(--muted-dark);font-size:10px}.blob-copy-btn{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10.5px;color:var(--brand-light);background:transparent;border:none;padding:2px 4px;cursor:pointer;border-radius:4px;min-height:auto}.blob-copy-btn:hover{background:rgba(240,193,0,.12);transform:none}.empty-note{color:var(--muted-dark);font-size:12px;font-style:italic;margin:4px 0}a{color:var(--brand-light);text-decoration:none;transition:color .12s ease}a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-nextjs-dev-tools-button],[data-nextjs-toast],div[data-nextjs-dialog-overlay],nextjs-portal{display:none!important}.progressive-status{display:flex;align-items:center;gap:10px;padding:8px 14px;margin:0 28px 8px;background:rgba(240,193,0,.08);border:1px solid rgba(240,193,0,.2);border-radius:8px;font-size:12.5px;color:var(--brand);animation:fadeIn .25s ease-out}.progressive-pulse{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 10px var(--brand);animation:pulseDot 1.2s ease-in-out infinite}.progressive-text{font-weight:500;letter-spacing:.015em}button.brand{background:rgba(240,193,0,.12);border:1px solid rgba(240,193,0,.35);color:var(--brand);font-weight:600}button.brand:hover:not(:disabled){background:rgba(240,193,0,.22);border-color:var(--brand);box-shadow:0 0 12px rgba(240,193,0,.25)}