:root{--bg:#fafaf7;--surface:#fff;--raised:#f4f2ec;--fg:#1a1916;--muted:#6b6964;--faint:#9a978f;--border:#e8e5df;--accent:#c96442;--accent-soft:color-mix(in oklch, var(--accent) 12%, transparent);--fg-soft:color-mix(in oklch, var(--fg) 5%, transparent);--ok:#4f7a52;--ok-soft:color-mix(in oklch, var(--ok) 14%, transparent);--warn:#b07a2c;--warn-soft:color-mix(in oklch, var(--warn) 16%, transparent);--slate:#5b6470;--slate-soft:color-mix(in oklch, var(--slate) 13%, transparent);--danger:#c0392b;--danger-soft:color-mix(in oklch, var(--danger) 12%, transparent);--font-display:"Iowan Old Style", "Charter", Georgia, "Times New Roman", serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--radius:10px;--radius-sm:7px;--list-w:clamp(300px, 26vw, 380px);--meta-w:clamp(240px, 20vw, 300px);--topbar-h:56px}:root[data-theme=dark],.app[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1813;--surface:#211f19;--raised:#2a2820;--fg:#ece9e1;--muted:#a8a49a;--faint:#76726a;--border:#322f27;--accent:#e0795a;--ok:#6fa06f;--warn:#d09a4a;--slate:#8590a0;--danger:#e06b5c}*,:before,:after{box-sizing:border-box}html,body{height:100%}html{overflow-x:clip}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.55}button{font:inherit;cursor:pointer;color:inherit}input{font:inherit}::selection{background:var(--accent-soft)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}#root{height:100%}.list-head{border-bottom:1px solid var(--border);padding:14px 16px 10px}.search{align-items:center;display:flex;position:relative}.search svg{width:15px;height:15px;color:var(--faint);pointer-events:none;position:absolute;left:11px}.search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--fg);padding:9px 12px 9px 33px;font-size:14px}.search input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.search input::placeholder{color:var(--faint)}.filters{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.chip{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:999px;padding:4px 11px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s}.chip:hover{border-color:var(--faint)}.chip[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.chip .c{font-family:var(--font-mono);opacity:.65;margin-left:5px;font-size:11px}.list-meta{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--border);padding:8px 16px;font-size:11px}.list-scroll{flex:1;overflow-y:auto}.conv{text-align:left;border:0;border-bottom:1px solid var(--border);background:0 0;width:100%;padding:13px 16px;transition:background .1s;display:block;position:relative}.conv:hover{background:var(--fg-soft)}.pane-list.compact .conv{padding:8px 16px}.pane-list.compact .conv-snip{-webkit-line-clamp:1}.pane-list.compact .conv-foot{margin-top:4px}.conv[aria-selected=true]{background:var(--accent-soft)}.conv[aria-selected=true]:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0}.conv-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.conv-name{letter-spacing:-.005em;font-size:14px;font-weight:600}.conv-name.untitled{color:var(--faint);font-style:italic;font-weight:500}.conv-time{font-family:var(--font-mono);color:var(--faint);white-space:nowrap;margin-left:auto;font-size:11px}.conv-snip{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.conv-foot{align-items:center;gap:8px;margin-top:7px;display:flex}.dot{border-radius:50%;flex:none;width:6px;height:6px}.badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;display:inline-flex}.badge .dot{width:6px;height:6px}.b-active{background:var(--ok-soft);color:var(--ok)}.b-active .dot{background:var(--ok)}.b-resolved{background:var(--slate-soft);color:var(--slate)}.b-resolved .dot{background:var(--slate)}.b-flagged{background:var(--warn-soft);color:var(--warn)}.b-flagged .dot{background:var(--warn)}.conv-foot .msgs{font-family:var(--font-mono);color:var(--faint);margin-left:auto;font-size:11px}.pager{border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.pager-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);padding:6px 12px;font-size:13px;transition:background .12s,border-color .12s}.pager-btn:hover:not(:disabled){border-color:var(--faint);background:var(--fg-soft)}.pager-btn:disabled{opacity:.4;cursor:not-allowed}.pager-info{color:var(--faint);font-size:12px}.empty{color:var(--faint);text-align:center;flex:1;place-items:center;padding:40px;display:grid}.empty .e-mark{font-family:var(--font-display);color:var(--border);margin-bottom:8px;font-size:40px}.empty.connect .ct{font-family:var(--font-display);color:var(--fg);margin-bottom:6px;font-size:18px}.empty.connect .cd{max-width:32ch;color:var(--faint);text-wrap:pretty;margin:0 auto 16px;font-size:13px;line-height:1.5}.list-scroll,.thread-scroll,.meta-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.msg.tool .av{background:var(--slate-soft);color:var(--slate);font-size:14px}.msg.tool .bubble{background:var(--raised);font-family:var(--font-mono);white-space:pre-wrap;border-style:dashed;font-size:12.5px}.msg.tool .msg-who b{color:var(--slate)}.bubble .toolout{margin:0}.bubble .toolout summary{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);cursor:pointer;font-size:11px}.bubble .toolout[open] summary{margin-bottom:7px}.toolres{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.5}.bubble .toolcall{font-family:var(--font-mono);color:var(--slate);word-break:break-word;padding:4px 0;font-size:12.5px}.bubble .toolcall b{color:var(--accent)}.bubble .reason{margin:0 0 8px}.bubble .reason summary{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);cursor:pointer;font-size:11px}.bubble .reason>div{border-left:2px solid var(--border);color:var(--muted);margin-top:7px;padding-left:11px;font-size:13.5px;line-height:1.55}.pane-thread{background:var(--bg)}.thread-head{border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:14px;padding:13px 24px;display:flex}.back{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:6px 10px;font-size:13px;display:none}.thread-head h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.thread-head .sub{font-family:var(--font-mono);color:var(--faint);margin-top:1px;font-size:12px}.thread-head .tools{gap:6px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:34px;height:34px;color:var(--muted);place-items:center;display:grid}.icon-btn:hover{color:var(--fg);border-color:var(--faint)}.icon-btn[aria-pressed=true]{color:var(--accent);border-color:color-mix(in oklch, var(--accent) 40%, var(--border));background:var(--accent-soft)}.icon-btn svg{width:16px;height:16px}.thread-scroll{flex:1;padding:26px 24px 40px;overflow-y:auto}.thread-inner{max-width:760px;margin-inline:auto}.day-rule{align-items:center;gap:14px;margin:22px 0 18px;display:flex}.day-rule:before,.day-rule:after{content:"";background:var(--border);flex:1;height:1px}.day-rule span{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:11px}.msg{gap:12px;margin-bottom:20px;display:flex}.msg .av{border-radius:50%;flex:none;place-items:center;width:30px;height:30px;margin-top:2px;font-size:12px;font-weight:600;display:grid}.msg-body{flex:1;min-width:0}.msg-who{align-items:baseline;gap:8px;margin-bottom:5px;display:flex}.msg-who b{font-size:13.5px;font-weight:600}.msg-who .t{font-family:var(--font-mono);color:var(--faint);font-size:11px}.bubble{border-radius:var(--radius);border:1px solid var(--border);padding:11px 15px;font-size:14.5px;line-height:1.6}.bubble p{margin:0 0 9px}.bubble p:last-child{margin-bottom:0}.bubble ul{margin:6px 0;padding-left:20px}.bubble li{margin:3px 0}.bubble code{font-family:var(--font-mono);background:var(--fg-soft);border-radius:4px;padding:1px 5px;font-size:12.5px}.msg.visitor .av{background:var(--slate-soft);color:var(--slate)}.msg.visitor .bubble{background:var(--surface)}.msg.ai .av{background:var(--accent-soft);color:var(--accent)}.msg.ai .bubble{background:var(--surface);border-color:color-mix(in oklch, var(--accent) 22%, var(--border))}.msg.ai .msg-who b{color:var(--accent)}.composer-lock{border:1px dashed var(--border);border-radius:var(--radius);max-width:760px;color:var(--faint);background:var(--raised);justify-content:center;align-items:center;gap:9px;margin:8px auto 0;padding:13px;font-size:13px;display:flex}.composer-lock svg{width:15px;height:15px}.meta-close{z-index:2;width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:none;position:absolute;top:12px;right:12px}.meta-close:hover{background:var(--fg-soft);color:var(--fg)}.meta-close svg{width:18px;height:18px}.meta-scrim{display:none}.meta-scroll{flex:1;padding:20px;overflow-y:auto}.meta-block+.meta-block{border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.meta-h{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:0 0 13px;font-size:11px}.kv{justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;font-size:13.5px;display:flex}.kv .k{color:var(--muted)}.kv .v{text-align:right}.kv .v.mono{font-family:var(--font-mono);font-size:12.5px}.meta-tags{flex-wrap:wrap;gap:6px;display:flex}.meta-tag{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 9px;font-size:12px}.senti{align-items:center;gap:8px;display:flex}.senti-bar{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.senti-bar i{border-radius:3px;height:100%;display:block}.flag-note{border-radius:var(--radius-sm);background:var(--warn-soft);color:color-mix(in oklch, var(--warn) 80%, var(--fg));margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.5}.view-panel{background:var(--bg);grid-area:main;min-width:0;min-height:0;overflow-y:auto}.view-inner{max-width:620px;margin-inline:auto;padding:36px 24px 56px}.view-inner h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 4px;font-size:26px;font-weight:600}.view-inner .lede{color:var(--muted);margin:0 0 26px;font-size:14px}.panel-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px}.panel-card+.panel-card{margin-top:18px}.profile-id{align-items:center;gap:16px;margin-bottom:6px;display:flex}.profile-id .big-av{background:var(--accent-soft);width:60px;height:60px;color:var(--accent);font-size:22px;font-weight:600;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;display:grid}.profile-id .nm{font-size:17px;font-weight:600}.profile-id .rl{color:var(--muted);font-size:13px}.set-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.set-row:first-child{border-top:0}.set-row .st{font-size:14px;font-weight:500}.set-row .sd{color:var(--muted);margin-top:1px;font-size:12.5px}.switch{background:var(--border);border:0;border-radius:999px;flex:none;width:42px;height:24px;transition:background .15s;position:relative}.switch[aria-checked=true]{background:var(--accent)}.switch i{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true] i{left:21px}.switch:disabled{opacity:.4;cursor:not-allowed}.soon{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--border);vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:600}.field{margin-bottom:12px;display:block}.field span{color:var(--muted);margin-bottom:5px;font-size:12.5px;display:block}.field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--fg);padding:9px 12px}.field input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.field input:disabled{opacity:.5;background:var(--raised);cursor:not-allowed}.btn-save{border-radius:var(--radius-sm);background:var(--accent);color:#fff;border:0;margin-top:4px;padding:9px 16px;font-size:14px;font-weight:600}.btn-save:hover{filter:brightness(1.06)}.btn-save:disabled{opacity:.4;cursor:not-allowed;filter:none}.kb-panel{flex-direction:column;padding:0;display:flex;overflow:hidden}.kb-panel[data-busy]{cursor:progress}.kb-bar{border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:9px 16px;font-size:12px;display:flex}.kb-bar b{color:var(--fg)}.kb-err{color:var(--danger);font-size:12px}.kb{flex:1;grid-template-columns:230px 250px 1fr;width:100%;min-height:0;display:grid}.kb-col{border-right:1px solid var(--border);padding:16px 14px;overflow-y:auto}.kb-head{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--faint);justify-content:space-between;align-items:center;gap:8px;margin:2px 2px 12px;font-size:11px;display:flex}.kb-count{font-family:var(--font-mono);color:var(--faint);flex:none;font-size:11px}.kb-add{gap:6px;margin-bottom:12px;display:flex}.kb-add input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-width:0;color:var(--fg);flex:1;padding:7px 10px;font-size:13px}.kb-add input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.kb-add-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:32px;color:var(--muted);flex:none;font-size:17px;line-height:1}.kb-add-btn:hover{color:var(--accent);border-color:color-mix(in oklch, var(--accent) 40%, var(--border))}.kb-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--fg);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;padding:8px 10px;font-size:13.5px;display:flex}.kb-item:hover{background:var(--raised)}.kb-item[aria-current=true]{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in oklch, var(--accent) 22%, var(--border))}.kb-item-main{align-items:center;gap:9px;min-width:0;display:flex}.kb-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-del{color:var(--faint);background:0 0;border:0;padding:0;font-size:11px}.kb-del:hover{color:var(--warn)}.kb-del:disabled{opacity:.4;cursor:not-allowed}.kb-head-actions{flex:none;align-items:center;gap:10px;display:flex}.kb-off{color:var(--faint);text-transform:none;letter-spacing:0;font-weight:400}.kb-status-dot{background:var(--slate);border-radius:50%;flex:none;width:7px;height:7px}.kb-status-dot.processed{background:var(--ok)}.kb-status-dot.unprocessed{background:var(--warn)}.kb-status-dot.failed{background:var(--danger)}.kb-status-dot.off{background:var(--faint)}.kb-item.is-off .kb-item-name{opacity:.5;text-decoration:line-through}.kb-doc-meta{flex-wrap:wrap;align-items:center;gap:12px;margin:-6px 0 18px;display:flex}.kb-doc-actions{gap:8px;margin-left:auto;display:flex}.kb-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.kb-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.kb-badge.processed{color:var(--ok);background:var(--ok-soft)}.kb-badge.unprocessed{color:var(--warn);background:var(--warn-soft)}.kb-badge.failed{color:var(--danger);background:var(--danger-soft)}.kb-badge.off{color:var(--slate);background:var(--slate-soft)}.kb-fail{color:var(--danger);margin:-8px 0 16px;font-size:12.5px}.kb-empty{color:var(--faint);padding:12px 4px;font-size:13px}.kb-upload{text-align:center;cursor:pointer;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--muted);flex-direction:column;align-items:center;gap:3px;margin-bottom:12px;padding:15px 12px;font-size:13px;display:flex}.kb-upload:hover{border-color:color-mix(in oklch, var(--accent) 45%, var(--border));color:var(--accent);background:var(--accent-soft)}.kb-upload:has(input:disabled){opacity:.5;cursor:progress}.kb-upload input{display:none}.kb-upload span{font-weight:600}.kb-upload em{font-family:var(--font-mono);letter-spacing:.03em;color:var(--faint);font-size:10.5px;font-style:normal}.kb-file{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border-radius:999px;flex:none;padding:3px 8px;font-size:10px;font-weight:600}.kb-editor{padding:26px 26px 40px;overflow-y:auto}.kb-doc-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.kb-title{min-width:0;font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:21px;font-weight:600;overflow:hidden}.kb-body{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;min-height:340px;color:var(--fg);font-family:var(--font-mono);padding:12px 14px;font-size:13px;line-height:1.65}.kb-body:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.btn-ghost{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);color:var(--muted);flex:none;padding:7px 12px;font-size:13px}.btn-ghost:hover{color:var(--accent);border-color:var(--accent)}.btn-ghost.danger:hover{color:var(--danger);border-color:var(--danger)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.kb-saved{color:var(--faint);margin:12px 2px 0;font-size:11px}@media (width<=860px){.kb{grid-template-columns:1fr}.kb-col{border-right:0;border-bottom:1px solid var(--border);max-height:210px}.kb-editor{max-height:none}}.app{background:var(--bg);color:var(--fg);grid-template-columns:auto 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"bar bar""side main";height:100dvh;transition:background .2s,color .2s;display:grid}.topbar{z-index:60;border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-area:bar;align-items:center;gap:14px;padding-inline:16px;display:flex;position:relative}.nav-toggle{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;transition:background .12s,color .12s;display:grid}.nav-toggle:hover{color:var(--fg);background:var(--fg-soft)}.nav-toggle:active{background:var(--accent-soft);color:var(--accent)}.nav-toggle svg{width:20px;height:20px}.brand{align-items:baseline;gap:10px;min-width:0;display:flex}.brand .mark{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px;font-weight:600}.brand .mark b{color:var(--accent);font-weight:600}.brand .sub{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:11px}.who{align-items:center;gap:9px;margin-left:auto;display:flex}.who .avatar{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border:1px solid #0000;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.who .avatar:hover{border-color:var(--accent)}.who .avatar[data-role=admin]{color:#3a2600;background:linear-gradient(150deg,#f6c451,#d99413);border-color:#e7b53e;box-shadow:0 0 0 2px #d8941347}.who .avatar[data-role=admin]:hover{border-color:#fff}.who .avatar .crown{width:17px;height:17px}.usermenu{position:relative}.menu{z-index:50;background:var(--surface);border:1px solid var(--border);transform-origin:100% 0;border-radius:14px;flex-direction:column;gap:1px;min-width:232px;padding:6px;animation:.15s cubic-bezier(.16,1,.3,1) menu-in;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 40px -12px #00000052,0 2px 6px -2px #00000029}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:none}}.menu button{text-align:left;color:var(--fg);background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;font-size:14px;line-height:1.2;transition:background .12s;display:flex}.menu button:hover,.menu summary.menu-section:hover{background:var(--fg-soft)}.menu button:active{background:color-mix(in oklch, var(--fg) 9%, transparent)}.menu-id{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);background:var(--bg);border-radius:9px;margin:2px 2px 6px;padding:9px 11px;font-size:13px;overflow:hidden}.menu-section{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:7px 11px 3px;font-size:11px;font-weight:600}summary.menu-section{cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;list-style:none;display:flex}summary.menu-section::-webkit-details-marker{display:none}summary.menu-section:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;margin-right:2px;transition:transform .18s;transform:rotate(-45deg)}.menu-group[open]>summary.menu-section:after{transform:rotate(45deg)}.menu-switch{background:var(--border);border-radius:999px;flex:none;width:32px;height:19px;transition:background .15s;position:relative}.menu-switch:after{content:"";background:var(--surface);border-radius:50%;width:15px;height:15px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}.menu button[aria-checked=true] .menu-switch{background:var(--accent)}.menu button[aria-checked=true] .menu-switch:after{transform:translate(13px)}.menu .menu-sep{background:var(--border);height:1px;margin:5px 0}.menu button.danger{color:var(--danger)}.menu button.danger:hover{background:var(--danger-soft)}.role-badge{vertical-align:middle;background:var(--accent-soft);color:var(--accent);letter-spacing:.01em;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5;display:inline-block}.auth-gate{background:var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:16px;width:100%;max-width:360px;padding:32px;display:flex;box-shadow:0 18px 44px -20px #0000004d}.auth-card .lede{color:var(--muted);margin:0}.auth-err{background:var(--warn-soft);width:100%;color:var(--warn);border-radius:var(--radius-sm);margin:0;padding:8px 10px;font-size:13px}.auth-actions{gap:10px;width:100%;display:flex}.auth-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--fg);flex:1;padding:10px 14px;font-size:14px;font-weight:500}.auth-btn:hover{border-color:var(--accent)}.auth-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.auth-btn.primary:hover{filter:brightness(1.05)}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;grid-area:side;justify-content:space-between;width:218px;transition:width .16s;display:flex;overflow:hidden}.sidebar[data-collapsed=true]{width:64px}.side-group{flex-direction:column;gap:2px;padding:12px 10px;display:flex}.nav-item{text-align:left;white-space:nowrap;border-radius:var(--radius-sm);width:100%;color:var(--muted);background:0 0;border:0;align-items:center;gap:12px;padding:9px 11px;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--fg-soft);color:var(--fg)}.nav-item[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item svg{flex:none;width:19px;height:19px}.nav-label{font-size:14px}.sidebar[data-collapsed=true] .nav-label{display:none}.scrim{inset:var(--topbar-h) 0 0 0;z-index:35;background:#00000052;border:0;position:fixed}.panes{grid-area:main;grid-template-columns:var(--list-w) 1fr var(--meta-w);min-width:0;min-height:0;transition:grid-template-columns .24s;display:grid}.pane{flex-direction:column;min-width:0;min-height:0;display:flex}.pane-list{border-right:1px solid var(--border)}.pane-meta{border-left:1px solid var(--border);background:var(--surface);transition:opacity .2s;overflow:hidden}.app[data-meta=closed] .panes{grid-template-columns:var(--list-w) 1fr 0}.app[data-meta=closed] .pane-meta{opacity:0;border-left-color:#0000}@media (width<=1180px){.panes,.app[data-meta=closed] .panes{grid-template-columns:var(--list-w) 1fr}.pane-meta{opacity:1;top:var(--topbar-h);z-index:30;width:min(320px,86vw);transition:transform .26s;display:flex;position:fixed;bottom:0;right:0;transform:translate(100%);box-shadow:-16px 0 40px -24px #0000004d}.app[data-meta=open] .pane-meta{transform:translate(0)}.app[data-meta=open] .meta-close{display:grid}.meta-scrim{inset:var(--topbar-h) 0 0 0;z-index:29;opacity:0;pointer-events:none;background:#00000052;border:0;transition:opacity .24s;display:block;position:fixed}.app[data-meta=open] .meta-scrim{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.panes,.pane-meta,.meta-scrim{transition:none}}@media (width<=920px){.app{grid-template-columns:1fr;grid-template-areas:"bar""main"}.panes,.app[data-meta=closed] .panes{grid-template-columns:1fr}.pane-thread,.app.detail .pane-list{display:none}.app.detail .pane-thread{display:flex}.back{align-items:center;gap:6px;display:inline-flex}.sidebar{top:var(--topbar-h);z-index:40;transition:transform .18s;position:fixed;bottom:0;left:0;transform:translate(-100%);box-shadow:18px 0 44px -28px #0006;width:248px!important}.sidebar[data-open=true]{transform:translate(0)}.sidebar .nav-label{display:inline!important}.view-inner{padding:28px 18px 48px}}@media (width<=460px){.brand .sub{display:none}.topbar{gap:10px;padding-inline:12px}}
