:root,:root[data-theme=dark]{--bg: #0b0d11;--surface: #10141a;--surface2: #161b23;--card: #1a202b;--panel: #0d1015;--code-bg: #0d1015;--border: #20262f;--border2: #2c3542;--text: #e3e7ee;--muted: #8a93a4;--faint: #5c6575;--accent: #2dd4bf;--accent-dim: #0d9488;--kw: #93b8e8;--str: #c9a97e;--num: #d2b48c;--com: #5c6575;--error: #ff8a80;--error-bg: #2a1215;--error-border: #5c2b2e;--sent-hl: rgba(45, 212, 191, .14);--shadow: rgba(0, 0, 0, .4)}:root[data-theme=light]{--bg: #f6f7f9;--surface: #ffffff;--surface2: #eef0f4;--card: #ffffff;--panel: #eef1f5;--code-bg: #f2f4f7;--border: #e2e6ec;--border2: #d2d8e1;--text: #1b222e;--muted: #5c6575;--faint: #97a0af;--accent: #0d9488;--accent-dim: #2dd4bf;--kw: #2f6bb0;--str: #96662a;--num: #8a5a20;--com: #97a0af;--error: #c0392b;--error-bg: #fdecea;--error-border: #f5c6cb;--sent-hl: rgba(13, 148, 136, .12);--shadow: rgba(15, 22, 30, .1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;flex-direction:column;height:100%}.main{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 384px;overflow:hidden}@media (max-width: 860px){.main{grid-template-columns:1fr}.panel{display:none}}.header{height:56px;flex:0 0 56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em}.brand .mark{width:20px;height:20px;color:var(--accent)}.header-right{display:flex;align-items:center;gap:10px}.select{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px}.sep{width:1px;height:20px;background:var(--border)}.icon-btn{background:var(--surface2);color:var(--muted);border:1px solid var(--border);border-radius:8px;width:34px;height:32px;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);border-color:var(--border2)}.chat{display:flex;flex-direction:column;overflow:hidden}.messages{flex:1;overflow-y:auto;padding:28px 32px 8px}.messages-inner{max-width:760px;margin:0 auto}.hero{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding-bottom:40px}.hero .mark{width:52px;height:52px;color:var(--accent)}.hero h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.hero p{margin:0;color:var(--muted);max-width:440px}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:560px}.chip{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer}.chip:hover{border-color:var(--accent);color:var(--accent)}.hero .chips .chip{padding:9px 16px;font-size:14px}.qa{margin-bottom:30px}.question{display:flex;gap:10px;align-items:baseline;margin-bottom:12px}.question .who{color:var(--accent);font-weight:700}.question .text{font-weight:600;font-size:16px}.answer{color:var(--text)}.answer p{margin:0 0 12px}.answer ul,.answer ol{margin:0 0 12px;padding-left:22px}.answer li{margin:4px 0}.answer h1,.answer h2,.answer h3{font-size:16px;margin:16px 0 8px}.answer pre{background:var(--code-bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px;overflow-x:auto;margin:0 0 14px}.answer :not(pre)>code{background:var(--surface2);border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:.88em}.answer code,.answer pre{font-family:JetBrains Mono,ui-monospace,monospace}.answer pre code{font-size:13px;line-height:1.55}.cite{background:none;border:none;padding:0 1px;cursor:pointer;color:var(--accent);font-weight:600;font-size:.9em;vertical-align:baseline}.cite:hover{text-decoration:underline}.sent{border-radius:4px;transition:opacity .18s ease,background .18s ease}.answer[data-hl] .sent{opacity:.36}.answer[data-hl="1"] .sent.cites-1,.answer[data-hl="2"] .sent.cites-2,.answer[data-hl="3"] .sent.cites-3,.answer[data-hl="4"] .sent.cites-4,.answer[data-hl="5"] .sent.cites-5,.answer[data-hl="6"] .sent.cites-6,.answer[data-hl="7"] .sent.cites-7,.answer[data-hl="8"] .sent.cites-8{opacity:1;background:var(--sent-hl);box-shadow:0 0 0 3px var(--sent-hl)}.shimmer{display:flex;flex-direction:column;gap:8px}.shimmer span{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface2) 25%,var(--border) 37%,var(--surface2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.shimmer span:nth-child(1){width:92%}.shimmer span:nth-child(2){width:78%}.shimmer span:nth-child(3){width:85%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.caret{display:inline-block;width:7px;height:1.05em;margin-left:1px;background:var(--accent);vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.latency{margin-top:6px;color:var(--faint);font-size:12px;font-family:JetBrains Mono,ui-monospace,monospace;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.latency-total{background:none;border:none;padding:0;font:inherit;color:var(--faint);cursor:pointer;border-bottom:1px dotted var(--border)}.latency-total:hover{color:var(--muted)}.latency-breakdown{color:var(--faint)}.refusal-card{border:1.5px dashed var(--error-border);background:var(--error-bg);border-radius:12px;padding:16px 18px;color:var(--text)}.refusal-card .title{color:var(--error);font-weight:600;margin-bottom:6px}.refusal-card .score{color:var(--muted);font-size:13px;margin-top:8px;font-family:JetBrains Mono,ui-monospace,monospace}.composer{flex:0 0 auto;border-top:1px solid var(--border);background:var(--surface);padding:14px 32px 18px}.composer-inner{max-width:760px;margin:0 auto;display:flex;gap:10px}.composer textarea{flex:1;resize:none;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15px;line-height:1.4;max-height:160px}.composer textarea:focus{outline:none;border-color:var(--accent)}.send{align-self:flex-end;background:var(--accent);color:#08201d;border:none;border-radius:12px;padding:0 18px;height:44px;font-weight:600;cursor:pointer}.send:disabled{opacity:.4;cursor:not-allowed}.panel{border-left:1px solid var(--border);background:var(--panel);overflow-y:auto}.panel-head{position:sticky;top:0;background:var(--panel);border-bottom:1px solid var(--border);padding:14px 18px;font-size:13px;z-index:2}.panel-head .who{color:var(--accent);font-weight:700}.panel-head .qtext{color:var(--muted)}.panel-body{padding:14px;display:flex;flex-direction:column;gap:10px}.source-card{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:12px 13px;scroll-margin:14px}.source-card .top{display:flex;align-items:center;gap:8px;margin-bottom:7px}.source-card .idx{flex:0 0 auto;width:22px;height:22px;border-radius:6px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;background:var(--surface2);color:var(--accent);border:1px solid var(--border)}.score{display:flex;align-items:center;gap:8px;margin-left:auto}.score .bar{width:84px;height:5px;border-radius:3px;background:var(--surface2);overflow:hidden;border:1px solid var(--border)}.score .fill{height:100%;background:var(--accent)}.score .num{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--muted);min-width:44px;text-align:right}.source-card .heading{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;color:var(--muted);margin-bottom:7px;word-break:break-word}.source-card .preview{font-size:12.5px;color:var(--text);opacity:.86;max-height:66px;overflow:hidden}.source-card .link{display:inline-block;margin-top:8px;font-size:12px}.source-card.pulse{animation:glowpulse 1.05s ease}@keyframes glowpulse{0%{box-shadow:0 0 0 0 transparent;border-color:var(--border)}15%{box-shadow:0 0 0 3px var(--accent);border-color:var(--accent)}40%{box-shadow:0 0 0 0 transparent;border-color:var(--border)}60%{box-shadow:0 0 0 3px var(--accent);border-color:var(--accent)}to{box-shadow:0 0 0 0 transparent;border-color:var(--border)}}.slot{border:1.5px dashed var(--border2);border-radius:12px;padding:16px 13px;color:var(--faint);display:flex;align-items:center;gap:10px;font-size:13px}.slot .idx{width:22px;height:22px;border-radius:6px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--border2);color:var(--faint)}.refusal-slot{border-color:var(--error-border)}.hljs{color:var(--text);background:transparent}.hljs-keyword,.hljs-built_in,.hljs-type,.hljs-literal{color:var(--kw)}.hljs-string,.hljs-meta .hljs-string{color:var(--str)}.hljs-number{color:var(--num)}.hljs-comment,.hljs-quote{color:var(--com);font-style:italic}.hljs-title,.hljs-title.function_,.hljs-function .hljs-title{color:var(--accent)}.hljs-params{color:var(--text)}.hljs-attr,.hljs-property{color:var(--kw)}.hljs-meta{color:var(--faint)}.source-card.live{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.live-badge{color:var(--muted);font-weight:600;font-size:10px;letter-spacing:.04em}.live-badge .live-dot{color:var(--accent)}.source-card.live .link.quiet{color:var(--muted);font-size:11px}.source-card.live .link.quiet:hover{color:var(--accent)}.source-card .freshness{margin-top:6px;font-family:var(--mono, ui-monospace, monospace);font-size:11px;color:var(--muted)}.refusal-card.warming{border-color:var(--accent)}.refusal-card.warming .title{color:var(--accent)}.brand-text{display:flex;flex-direction:column;line-height:1.12}.brand-name{font-weight:700}.brand-sub{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0}.source-card{box-shadow:0 1px 2px var(--shadow)}.source-card.live{box-shadow:inset 3px 0 0 var(--accent),0 1px 2px var(--shadow)}.composer{box-shadow:0 -2px 8px var(--shadow)}.footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-top:1px solid var(--border);background:var(--surface);font-size:11.5px;color:var(--muted)}.footer .fresh{font-family:JetBrains Mono,ui-monospace,monospace}.footer a{color:var(--muted)}.footer a:hover{color:var(--accent)}
