:root{--bg:#0d0d0d;--bg-2:#141414;--bg-3:#1c1c1c;--border:#2a2a2a;--border-focus:#444;--text:#c8c8c8;--text-dim:#666;--text-bright:#e8e8e8;--accent:#4a9eff;--accent-dim:#1f4a80;--danger:#cc4444;--danger-dim:#5c1e1e;--success:#44aa66;--warn:#cc8822;--pro:#7c5cbf;--font-mono:"JetBrains Mono","Fira Code","Cascadia Code","Consolas","Courier New",monospace,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji";--font-sans:system-ui,-apple-system,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji";--sidebar-width:260px;--header-height:48px;--radius:2px;--transition:150ms ease}[data-theme=midnight]{--bg:#07080f;--bg-2:#0e1018;--bg-3:#161820;--border:#252840;--border-focus:#4a4e80;--text:#b0b4d0;--text-dim:#555870;--text-bright:#d8dcf0;--accent:#6b8fff;--accent-dim:#1e2a6a;--danger:#cc4455;--danger-dim:#4d1520;--success:#44bb77;--warn:#cc9933;--pro:#9966ff}[data-theme=carbon]{--bg:#111111;--bg-2:#1a1a1a;--bg-3:#222222;--border:#333333;--border-focus:#555555;--text:#bbbbbb;--text-dim:#666666;--text-bright:#eeeeee;--accent:#ff6633;--accent-dim:#5c2200;--danger:#cc3333;--danger-dim:#4d1010;--success:#44aa55;--warn:#dd9922;--pro:#cc66ff}[data-theme=deep-terminal]{--bg:#000300;--bg-2:#050d05;--bg-3:#0a180a;--border:#1a3a1a;--border-focus:#2d6b2d;--text:#88cc88;--text-dim:#3a6a3a;--text-bright:#aaffaa;--accent:#00ff88;--accent-dim:#003d20;--danger:#ff4444;--danger-dim:#4d0000;--success:#00ff00;--warn:#ffcc00;--pro:#cc88ff}[data-theme=obsidian]{--bg:#0c0c10;--bg-2:#13131a;--bg-3:#1b1b24;--border:#2e2e3e;--border-focus:#5a5a80;--text:#c0bdd8;--text-dim:#58566a;--text-bright:#e8e6f8;--accent:#9d7bff;--accent-dim:#2a1e5c;--danger:#e05555;--danger-dim:#4a1a1a;--success:#50c080;--warn:#d4a040;--pro:#bf88ff}[data-theme=night-ops]{--bg:#060810;--bg-2:#0c0f1a;--bg-3:#121624;--border:#1e2640;--border-focus:#2e4080;--text:#8899cc;--text-dim:#3a4466;--text-bright:#aabcee;--accent:#3388ff;--accent-dim:#0d2255;--danger:#cc3355;--danger-dim:#3d0f1a;--success:#33cc88;--warn:#cc9922;--pro:#8855ff}[data-theme=high-contrast]{--bg:#000000;--bg-2:#0a0a0a;--bg-3:#111;--border:#555;--border-focus:#aaa;--text:#ffffff;--text-dim:#999;--text-bright:#ffffff;--accent:#66bbff;--accent-dim:#003366;--danger:#ff6666;--danger-dim:#4d0000;--success:#66ff99;--warn:#ffcc44;--pro:#cc99ff}[data-theme=hc-green]{--bg:#000000;--bg-2:#001200;--bg-3:#002000;--border:#005500;--border-focus:#00aa00;--text:#00cc00;--text-dim:#006600;--text-bright:#00ff00;--accent:#00ff00;--accent-dim:#003300;--danger:#ff0000;--danger-dim:#330000;--success:#00ff44;--warn:#ffff00;--pro:#00ffcc}[data-theme=hc-amber]{--bg:#000000;--bg-2:#0f0800;--bg-3:#1a1000;--border:#553300;--border-focus:#aa6600;--text:#cc8800;--text-dim:#664400;--text-bright:#ffbb00;--accent:#ffaa00;--accent-dim:#332200;--danger:#ff3300;--danger-dim:#330000;--success:#aaff00;--warn:#ffff00;--pro:#ff66cc}[data-theme=plain-light]{--bg:#f8f8f8;--bg-2:#eeeeee;--bg-3:#e4e4e4;--border:#cccccc;--border-focus:#888888;--text:#222222;--text-dim:#777777;--text-bright:#000000;--accent:#0066cc;--accent-dim:#cce0ff;--danger:#cc2222;--danger-dim:#ffdddd;--success:#226622;--warn:#996600;--pro:#6633cc}[data-theme=paper]{--bg:#faf6f0;--bg-2:#f0ebe2;--bg-3:#e6dfd5;--border:#c8bfb0;--border-focus:#8a7a6a;--text:#2a2018;--text-dim:#7a6a58;--text-bright:#0a0800;--accent:#8b4513;--accent-dim:#f5dcc8;--danger:#aa2222;--danger-dim:#ffddcc;--success:#336622;--warn:#886600;--pro:#553388}[data-theme=soft-blue]{--bg:#f0f4f8;--bg-2:#e2eaf2;--bg-3:#d4e0ec;--border:#b0c4d8;--border-focus:#5588bb;--text:#1a2a3a;--text-dim:#5a7a9a;--text-bright:#0a1a2a;--accent:#2266bb;--accent-dim:#c8ddf5;--danger:#cc2244;--danger-dim:#ffd8e0;--success:#226644;--warn:#885500;--pro:#6644aa}[data-theme=warm-gray]{--bg:#f5f3f0;--bg-2:#eae7e3;--bg-3:#dfdbd6;--border:#c4bfb8;--border-focus:#7a7470;--text:#2c2825;--text-dim:#7a7470;--text-bright:#100e0c;--accent:#7a5533;--accent-dim:#f0e8e0;--danger:#aa2222;--danger-dim:#ffdddd;--success:#226633;--warn:#886600;--pro:#553388}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;scroll-behavior:smooth}@media (min-width:601px){html{font-size:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);line-height:1.6;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{color:var(--text-bright);font-weight:600}h1{font-size:1.4rem}h2{font-size:1.2rem}h3{font-size:1rem}p{color:var(--text)}a{color:var(--accent);text-decoration:none}a:focus,a:hover{text-decoration:underline;outline:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{font-family:var(--font-mono);background:var(--bg-3);padding:0 .25em;border-radius:var(--radius);font-size:.9em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-focus)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font-family:var(--font-mono);font-size:.95rem;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;width:100%;transition:border-color var(--transition)}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 2px var(--accent-dim)}input::placeholder,textarea::placeholder{color:var(--text-dim)}input[disabled],textarea[disabled]{opacity:.5;cursor:not-allowed}.btn,button{font-family:var(--font-mono);font-size:.85rem;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius);padding:.4rem 1rem;background:var(--bg-2);color:var(--text);transition:background var(--transition),border-color var(--transition),color var(--transition);display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.btn:hover:not([disabled]),button:hover:not([disabled]){background:var(--bg-3);border-color:var(--border-focus)}.btn:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn[disabled],button[disabled]{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent-dim);border-color:var(--accent);color:var(--text-bright)}.btn-primary:hover:not([disabled]){background:var(--accent);color:#000}.btn-danger{background:var(--danger-dim);border-color:var(--danger);color:var(--text-bright)}.btn-danger:hover:not([disabled]){background:var(--danger)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not([disabled]){background:var(--bg-3);border-color:var(--border)}.app-shell{height:100vh;height:100dvh}.app-shell,.sidebar{display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;position:relative}.sidebar-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:5;background:transparent;transition:background var(--transition)}.sidebar-resize-handle.dragging,.sidebar-resize-handle:hover{background:var(--accent);opacity:.55}.sidebar-rail{align-items:center;gap:.25rem;padding:.5rem 0}.rail-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text);font-size:1.05rem;line-height:1;cursor:pointer;text-decoration:none;transition:background var(--transition),border-color var(--transition)}.rail-btn:hover{background:var(--bg-3);border-color:var(--border)}.rail-sep{width:24px;border-top:1px solid var(--border);margin:.2rem 0}.sidebar-section-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim)}.invite-preview{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:.66rem;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .55rem;margin:0;line-height:1.55}.main-area{flex:1 1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.header{height:var(--header-height);min-height:var(--header-height);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 1rem;gap:.75rem}.message-list{flex:1 1;overflow-y:auto;padding:1rem;gap:.15rem}.message-list,.message-row{display:flex;flex-direction:column}.message-row{max-width:72%}.message-row.mine{align-self:flex-end;align-items:flex-end}.message-row.theirs{align-self:flex-start;align-items:flex-start}.message-row.group-start{margin-top:.65rem}@keyframes burnOut{0%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}to{opacity:0;filter:blur(3px);transform:translateY(-4px) scale(.98)}}.message-row.burning-out{animation:burnOut .38s ease forwards;pointer-events:none}.message-sender{font-size:.8rem;font-family:var(--font-mono);margin:0 .15rem .2rem;letter-spacing:.02em}.message-row.mine .message-sender{color:var(--accent)}.message-row.theirs .message-sender{color:var(--text-dim)}.message-bubble{max-width:100%;padding:.45rem .7rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-2);font-size:.95rem;line-height:1.55;word-break:break-word}.message-bubble.mine{background:var(--accent-dim);border-color:var(--accent);color:var(--text-bright)}.message-bubble.theirs{background:var(--bg-3);border-color:var(--border);color:var(--text)}.message-meta{font-size:.8rem;color:var(--text-dim);margin-top:.25rem}.message-row.mine .message-meta{justify-content:flex-end}.message-expiry{font-size:.8rem;color:var(--warn)}.input-bar{border-top:1px solid var(--border);padding:.75rem 1rem;display:flex;gap:.5rem;align-items:flex-end}.input-bar textarea{flex:1 1;min-height:40px;max-height:200px;resize:vertical;line-height:1.5}.emoji-picker-host{width:320px;max-width:calc(100vw - 1.5rem);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 -6px 20px rgba(0,0,0,.45);background:var(--bg-2)}.emoji-picker-host emoji-picker{display:block;width:100%}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal-card{width:320px;box-shadow:0 8px 30px rgba(0,0,0,.5);padding:.85rem}.db-modal,.modal-card{max-width:calc(100vw - 2rem);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius)}.db-modal{width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,.6)}.db-head{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;border-bottom:1px solid var(--border);flex-shrink:0}.db-body{padding:.7rem .8rem;overflow-y:auto;gap:.7rem}.db-body,.db-section{display:flex;flex-direction:column}.db-section{gap:.3rem}.db-btn-row{display:flex;flex-wrap:wrap;gap:.3rem}.db-cmd{font-size:.72rem;padding:.2rem .5rem}.db-del{font-size:.7rem;padding:.2rem .45rem;color:var(--warn);border-color:var(--border)}.db-del:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.db-table-wrap{max-height:340px;overflow:auto;border:1px solid var(--border)}.db-table{width:100%;border-collapse:collapse;font-size:.72rem}.db-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--bg-3);text-align:left;padding:.3rem .5rem;color:var(--text-dim)}.db-table td,.db-table th{border-bottom:1px solid var(--border);white-space:nowrap}.db-table td{padding:.25rem .5rem;max-width:360px;overflow:hidden;text-overflow:ellipsis}.db-row-sel{background:var(--accent-dim)}.db-empty{padding:1.2rem;text-align:center;font-size:.8rem}.db-empty,.db-foot{color:var(--text-dim)}.db-foot{display:flex;gap:1rem;flex-wrap:wrap;padding:.4rem .8rem;border-top:1px solid var(--border);font-size:.66rem;flex-shrink:0}@media (max-width:600px){.db-modal{width:100%;max-height:95vh}.db-table{font-size:.68rem}}.docs-rail{width:220px;min-width:220px;border-left:1px solid var(--border);padding:1.5rem 1rem;overflow-y:auto;background:var(--bg-2)}@media (max-width:900px){.docs-rail{display:none}}.conv-color-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.msg-copy-btn{font-size:.72rem;background:transparent;border:1px solid var(--border);color:var(--text);cursor:pointer;padding:.05rem .4rem;border-radius:var(--radius);font-family:var(--font-mono)}.msg-copy-btn:hover{color:var(--accent);border-color:var(--accent-dim)}.text-dim{color:var(--text-dim)}.text-bright{color:var(--text-bright)}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warn{color:var(--warn)}.text-pro{color:var(--pro)}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.badge{display:inline-flex;align-items:center;font-size:.7rem;padding:.1rem .4rem;border-radius:2px;border:1px solid;font-family:var(--font-mono)}.badge-pro{color:var(--pro);border-color:var(--pro);background:rgba(124,92,191,.1)}.badge-free{color:var(--text-dim);border-color:var(--border)}.divider{border:none;border-top:1px solid var(--border);margin:1rem 0}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:1em;height:1em;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .6s linear infinite}.dot,.spinner{display:inline-block;border-radius:50%}.dot{width:6px;height:6px;background:var(--accent)}@media (max-width:600px){:root{--sidebar-width:100vw}.app-shell{flex-direction:column}.message-row{max-width:85%}}