[data-theme=dark]{--bg:#0f0f0f;--bg2:#1a1a1a;--bg3:#1e1e1e;--border:#2a2a2a;--border2:#333;--text:#e8e8e8;--text2:#888;--text3:#555;--accent:#a78bfa;--accent-dim:#1e1b4b;--user-bg:#1e1e2e;--user-border:#2e2e4e;--sys-bg:#0f1a0f;--sys-border:#1a3a1a;--sys-text:#4ade80;--cache-bg:#1a1500;--cache-border:#3a3000;--drop-hover:#1a1520;--doc-bg:#0a1f0f}[data-theme=light]{--bg:#f5f0e8;--bg2:#fff;--bg3:#ede8df;--border:#d8d0c4;--border2:#c8bfb0;--text:#1a1610;--text2:#6b6358;--text3:#9a9088;--accent:#8b6914;--accent-dim:#f5ead0;--user-bg:#f5ead0;--user-border:#d4a853;--sys-bg:#f0fdf4;--sys-border:#bbf7d0;--sys-text:#166534;--cache-bg:#fffbeb;--cache-border:#fde68a;--drop-hover:#ede8df;--doc-bg:#f0fdf4}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);flex-direction:column;align-items:center;font-family:system-ui,-apple-system,sans-serif;transition:background .2s,color .2s;display:flex}@keyframes pill-pulse{0%,to{opacity:1}50%{opacity:.45}}#status-pill{white-space:nowrap;border:1px solid;border-radius:99px;padding:3px 10px;font-size:.68rem;font-weight:600;transition:background .3s,color .3s,border-color .3s}#status-pill[data-s=online]{color:#22c55e;background:0 0;border-color:#22c55e}#status-pill[data-s=installing]{border-color:var(--accent);color:var(--accent);background:0 0;animation:1.4s ease-in-out infinite pill-pulse}#status-pill[data-s=offline]{color:#eab308;background:0 0;border-color:#eab308}#status-pill[data-s=disabled]{color:#fff;cursor:pointer;background:#dc2626;border-color:#dc2626}#pill-wrap{position:relative}#pill-tooltip{background:var(--bg2);color:var(--text);white-space:normal;z-index:100;border:1px solid #dc2626;border-radius:6px;width:200px;padding:6px 10px;font-size:.72rem;font-weight:400;line-height:1.4;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 12px #0000004d}#pill-tooltip.visible{display:block}#column{flex-direction:column;flex:1;width:100%;max-width:640px;padding:0 20px;display:flex;overflow:hidden}#topbar{flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 0 0;display:flex}.topbar-right{align-items:center;gap:10px;display:flex}#menu-btn{cursor:pointer;color:var(--text3);background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1.2rem;line-height:1;transition:color .2s}#menu-btn:hover{color:var(--accent)}#header{text-align:center;flex-shrink:0;padding:12px 0 16px}h1{letter-spacing:-.5px;margin-bottom:4px;font-size:2rem;font-weight:700}h1 span{color:var(--accent)}.tagline{letter-spacing:.12em;text-transform:uppercase;color:var(--text2);font-size:.75rem;font-weight:700}#chat{flex-direction:column;flex:1;gap:10px;margin-bottom:12px;padding-right:4px;display:flex;overflow-y:auto}#chat::-webkit-scrollbar{width:3px}#chat::-webkit-scrollbar-track{background:0 0}#chat::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}#chat::-webkit-scrollbar-thumb:hover{background:var(--accent)}.msg{white-space:pre-wrap;border-radius:8px;max-width:92%;padding:10px 14px;font-size:.88rem;line-height:1.55}.msg.user{background:var(--user-bg);border:1px solid var(--user-border);color:var(--text);align-self:flex-end}.msg.ai{background:var(--bg2);border:1px solid var(--border);align-self:flex-start}.msg.system{background:var(--sys-bg);border:1px solid var(--sys-border);color:var(--sys-text);text-align:center;align-self:center;max-width:100%;font-size:.78rem}.msg.cached{background:var(--cache-bg);border:1px solid var(--cache-border);align-self:flex-start}.msg.notice{color:var(--text3);text-align:center;background:0 0;border:none;align-self:center;max-width:100%;padding:2px 0;font-size:.75rem}.msg.ai.streaming:after{content:"▋";color:var(--accent);margin-left:2px;animation:.7s infinite blink;display:inline-block}.msg{position:relative}.msg-copy{cursor:pointer;color:var(--text3);opacity:0;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.8rem;line-height:1;transition:opacity .15s,color .15s;position:absolute;top:6px;right:6px}.msg:hover .msg-copy{opacity:1}.msg-copy:hover{color:var(--accent)}.msg-copy.copied{color:var(--accent);opacity:1}@media (hover:none){.msg-copy{opacity:.35}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing{background:var(--bg2);border:1px solid var(--border);border-radius:8px;justify-content:center;align-self:flex-start;align-items:center;gap:4px;width:56px;height:40px;padding:12px 16px;display:flex}.typing span{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite both dot-bounce;display:block}.typing span:first-child{animation-delay:-.32s}.typing span:nth-child(2){animation-delay:-.16s}.typing span:nth-child(3){animation-delay:0s}@keyframes dot-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}#input-row{flex-shrink:0;gap:8px;padding-bottom:20px;display:flex}#prompt{background:var(--bg3);border:1px solid var(--border2);color:var(--text);resize:none;border-radius:6px;outline:none;flex:1;height:44px;min-height:44px;max-height:80px;padding:10px 14px;font-family:system-ui,-apple-system,sans-serif;font-size:max(16px,.88rem);line-height:20px;overflow-y:auto}#prompt::-webkit-scrollbar{width:3px}#prompt:focus{border-color:var(--accent)}#prompt:disabled{opacity:.4}#prompt::placeholder{color:var(--text3)}#send{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:0 20px;font-size:.88rem;font-weight:600;transition:opacity .2s}#send:disabled{opacity:.25;cursor:not-allowed}#drop-overlay{z-index:400;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:none;position:fixed;inset:0}#drop-overlay.active{display:flex}#drop-overlay-inner{border:2px dashed var(--accent);text-align:center;color:var(--accent);border-radius:16px;padding:48px 64px}#drop-overlay-inner p{margin-top:8px;font-size:1rem;font-weight:600}#drop-overlay-inner span{font-size:2.5rem;line-height:1}#drawer-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:none;position:fixed;inset:0}#drawer-overlay.open{display:block}#drawer{background:var(--bg2);border-left:1px solid var(--border);z-index:300;flex-direction:column;width:min(320px,90vw);height:100%;transition:right .28s;display:flex;position:fixed;top:0;right:-360px;overflow:hidden}#drawer.open{right:0}#drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:20px 20px 16px}#drawer-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.drawer-logo{color:var(--text);font-size:1.3rem;font-weight:700}.drawer-logo span{color:var(--accent)}.drawer-tagline{letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-top:2px;font-size:.65rem;font-weight:700}#drawer-close{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1rem;transition:color .2s}#drawer-close:hover{color:var(--text)}#drawer-status{color:var(--text3);min-height:16px;margin-bottom:10px;font-size:.75rem}#drawer-status.offline{color:#fb923c}#drawer-status.compat{color:#60a5fa}.theme-selector{gap:6px;display:flex}.theme-btn{border:1px solid var(--border2);background:var(--bg3);color:var(--text2);cursor:pointer;text-align:center;border-radius:6px;flex:1;padding:5px 0;font-size:.75rem;transition:all .2s}.theme-btn:hover{border-color:var(--accent);color:var(--accent)}.theme-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);font-weight:600}#drawer-body{flex:1;padding:20px;overflow-y:auto}#drawer-body::-webkit-scrollbar{width:3px}#drawer-body::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}.drawer-section{margin-bottom:24px}.drawer-section h2{text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin-bottom:10px;font-size:.68rem}.drawer-section p{color:var(--text2);margin-bottom:8px;font-size:.84rem;line-height:1.6}.drawer-pill{border:1px solid var(--border2);color:var(--text2);border-radius:99px;margin:3px 3px 3px 0;padding:3px 9px;font-size:.7rem;display:inline-block}.drawer-contact a{color:var(--accent);font-size:.84rem;text-decoration:none}.drawer-contact a:hover{text-decoration:underline}#drawer-footer{border-top:1px solid var(--border);color:var(--text3);flex-shrink:0;padding:12px 20px;font-size:.7rem}
