pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#adbac7;background:#22272e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#f47067}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#dcbdfb}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#6cb6ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#96d0ff}.hljs-built_in,.hljs-symbol{color:#f69d50}.hljs-comment,.hljs-code,.hljs-formula{color:#768390}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#8ddb8c}.hljs-subst{color:#adbac7}.hljs-section{color:#316dca;font-weight:700}.hljs-bullet{color:#eac55f}.hljs-emphasis{color:#adbac7;font-style:italic}.hljs-strong{color:#adbac7;font-weight:700}.hljs-addition{color:#b4f1b4;background-color:#1b4721}.hljs-deletion{color:#ffd8d3;background-color:#78191b}[data-theme=night]{--bg:#0f1117;--panel:#1a1d27;--panel-strong:#232733;--text:#e4e4e8;--text-secondary:#7f8394;--line:#ffffff0f;--accent:#2dd4a8;--accent-hover:#3ee8bb;--accent-soft:#2dd4a81a;--user-bubble:#2a3142;--user-bubble-text:#e4e4e8;--shadow-sm:0 1px 2px #0003;--shadow:0 2px 12px #0000004d;--radius:10px;--radius-lg:14px;--font:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0}html{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;height:100%;height:-webkit-fill-available;font-size:14px}body{min-height:100dvh;min-height:-webkit-fill-available}button,select,textarea,input{font:inherit;color:inherit}a{color:var(--accent)}.session-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;place-items:center;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.app-loader{z-index:300;background:var(--bg);place-items:center;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.session-overlay-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);width:min(400px,100vw - 40px);max-width:420px;box-shadow:var(--shadow);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px;animation:.22s modalIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.session-overlay-card p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.4}.session-title{margin:0;font-size:1.3rem;font-weight:600}.session-spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin-bottom:4px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-version{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.72rem}.eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.75rem;font-weight:500}.shell{min-height:100dvh;grid-template-columns:240px minmax(0,1fr);height:100dvh;min-height:-webkit-fill-available;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.sidebar-top{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px;display:flex}.brand{align-items:center;gap:8px;padding:2px 0;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:7px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:grid}.brand h1{font-size:.95rem;font-weight:600}.brand-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.sidebar-actions{gap:6px;display:flex}.sidebar-actions button{flex:1}.sidebar-scroll{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);padding:12px 8px 4px;font-size:.65rem;font-weight:600}.section-label:first-child{padding-top:4px}.sidebar-section-divider{background:var(--line);height:1px;margin:8px -8px 4px}.thread-filter-wrap{padding:4px 0 6px}.thread-filter{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;outline:none;padding:7px 8px;font-size:.82rem}.thread-filter:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.thread-filter::placeholder{color:var(--text-secondary)}.sidebar-empty{color:var(--text-secondary);padding:8px;font-size:.8rem}.sidebar-error{color:#ff3b30;padding:6px 8px;font-size:.75rem}.load-older-threads-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text-secondary);font:inherit;cursor:pointer;margin:8px 0 4px;padding:7px 8px;font-size:.8rem}.load-older-threads-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.load-older-threads-btn:disabled{cursor:default;opacity:.6}.nav-item{border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;padding:6px 8px;transition:background .1s;display:flex;position:relative}.nav-item:hover,.nav-item.active{background:var(--accent-soft)}.nav-item-row{align-items:center;gap:4px;width:100%;min-width:0;transition:padding-right .1s;display:flex}.nav-item:hover .nav-item-row,.nav-item:focus-within .nav-item-row{padding-right:44px}.nav-item strong{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.85rem;font-weight:500;overflow:hidden}.fork-badge{opacity:.5;flex-shrink:0;margin-right:2px;font-size:.75rem;line-height:1}.nav-item-actions{opacity:0;pointer-events:none;align-items:center;gap:2px;transition:opacity .1s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.nav-item:hover .nav-item-actions,.nav-item:focus-within .nav-item-actions{opacity:1;pointer-events:auto}.action-btn{width:20px;height:20px;color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;padding:0;font-size:.8rem;line-height:1;transition:opacity .1s,background .1s,color .1s;display:grid}.nav-item:hover .action-btn{opacity:1}.action-btn:hover{background:var(--accent-soft);color:var(--accent)}.action-btn-danger:hover{color:#ff3b30;background:#ff3b301f}.nav-item span{color:var(--text-secondary);font-size:.7rem}.sidebar-footer{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:8px 12px;display:flex}.sidebar-footer-controls{align-items:center;gap:4px;display:flex}.sidebar-version{color:var(--text-secondary);padding:0 2px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.68rem}.theme-btn{border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;flex:1;padding:5px 0;font-size:.7rem;transition:all .1s}.theme-btn:hover{color:var(--text);background:var(--accent-soft)}.theme-btn.active{color:var(--accent);border-color:var(--line);background:var(--panel-strong)}.btn{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:.8rem;font-weight:500;transition:background .1s}.btn:hover{background:var(--panel-strong)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-danger{color:#fff;background:#c73c32;border-color:#c73c32}.btn-danger:hover{background:#b33329;border-color:#b33329}.btn-stop{color:var(--text);background:var(--panel-strong);border-color:var(--line);align-items:center;gap:6px;display:inline-flex}.btn-stop:hover{background:var(--panel);border-color:var(--accent);color:var(--accent)}.btn-stop svg{flex:none}.modal-backdrop{z-index:110;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);width:min(420px,100%);box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:20px;display:flex}.modal-card h3{font-size:1rem;font-weight:600}.modal-copy{color:var(--text-secondary);line-height:1.5}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.main-pane{flex-direction:column;display:flex;position:relative;overflow:hidden}.thread-header{border-bottom:1px solid var(--line);flex-shrink:0;align-items:baseline;gap:10px;padding:10px 16px;transition:transform .25s,opacity .25s;display:flex}.thread-header h2{font-size:.95rem;font-weight:600}.thread-header .workspace-label{color:var(--text-secondary);font-size:.75rem}.thread-header .system-prompt{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:300px;margin-left:auto;font-size:.75rem;overflow:hidden}.timeline{overflow-anchor:none;flex-direction:column;flex:1;gap:6px;padding:12px 16px;display:flex;overflow-y:auto}.timeline :not(.timeline-anchor){overflow-anchor:none}.timeline-anchor{overflow-anchor:none;flex-shrink:0;height:1px}.timeline-anchor.active{overflow-anchor:auto}.timeline-loading,.timeline-error{color:var(--text-secondary);align-self:center;margin-top:20vh;font-size:.85rem}.timeline-error{color:#ff3b30}.msg{flex-direction:column;gap:6px;max-width:72%;font-size:.9rem;line-height:1.5;display:flex}.msg.user{align-self:flex-end;align-items:flex-end;max-width:min(72%,36rem)}@media (width<=768px){.msg,.msg.user{max-width:100%}.msg-user-row{flex-direction:column;align-items:flex-end;width:100%}.msg-user-actions{opacity:1;pointer-events:auto;order:1}.msg-user-stack{width:100%}}.msg.assistant{align-self:flex-start;max-width:min(72%,42rem)}.msg-meta{align-items:center;gap:6px;margin-bottom:2px;display:flex}.msg-role{text-transform:uppercase;letter-spacing:.03em;opacity:.7;font-size:.7rem;font-weight:600}.msg-status{opacity:.5;font-size:.65rem}.msg.user p{white-space:pre-wrap;word-break:break-word;margin:0}.msg.user .msg-meta{justify-content:flex-end;margin-bottom:0}.msg-user-stack{flex-direction:column;align-items:flex-end;gap:8px;width:100%;display:flex}.msg-user-row{justify-content:flex-end;align-items:flex-start;gap:6px;width:100%;display:flex}.msg-user-actions{opacity:0;pointer-events:none;flex-direction:row;gap:6px;transition:opacity .15s;display:flex}.msg-action-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;font:inherit;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;padding:0;display:flex}.msg-action-btn svg{width:14px;height:14px}.msg-user-row:hover .msg-user-actions{opacity:1;pointer-events:auto}.msg-action-btn:hover:not(:disabled){background:var(--bg-hover,var(--line));color:var(--text)}.msg-action-btn:disabled{opacity:.55;cursor:default}.msg-user-body{border-radius:var(--radius);background:var(--user-bubble);max-width:100%;color:var(--user-bubble-text);box-shadow:var(--shadow-sm);padding:8px 12px}.msg-edit-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);width:min(100%,720px);box-shadow:var(--shadow-sm);padding:12px}.msg-edit-form textarea{resize:vertical;border:1px solid var(--line);border-radius:calc(var(--radius) - 4px);background:var(--panel);width:100%;min-height:110px;color:var(--text);font:inherit;padding:10px 12px;line-height:1.45}.msg-edit-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.msg-edit-actions button{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);font:inherit;cursor:pointer;padding:6px 12px}.cite-ref{cursor:pointer;text-decoration:none;display:inline;position:relative}.cite-ref sup{min-width:16px;height:16px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);vertical-align:super;border-radius:4px;justify-content:center;align-items:center;margin:0 1px;padding:0 4px;font-size:.6rem;font-weight:600;line-height:1;transition:background .12s;display:inline-flex}.cite-ref:hover sup{background:color-mix(in srgb, var(--accent) 24%, transparent)}.cite-tip{background:var(--panel);border:1px solid var(--line);min-width:200px;max-width:280px;box-shadow:var(--shadow);z-index:100;pointer-events:none;border-radius:8px;padding:8px 10px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.cite-ref:hover .cite-tip{flex-direction:column;gap:3px;display:flex}.cite-tip-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.cite-tip-domain{color:var(--text-secondary);font-size:.68rem}.search-results-inline{flex-direction:column;gap:1px;margin-top:4px;display:flex}.search-result-link{border-radius:5px;align-items:center;gap:6px;padding:3px 6px;text-decoration:none;transition:background .12s;display:flex}.search-result-link:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.search-result-num{min-width:16px;height:16px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:3px;flex:none;justify-content:center;align-items:center;font-size:.6rem;font-weight:600;display:inline-flex}.search-result-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.72rem;overflow:hidden}.search-result-domain{color:var(--text-secondary);flex:none;font-size:.65rem}.assistant-interleaved-body{flex-direction:column;gap:10px;display:flex}.assistant-chip{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--bg));max-width:100%;color:var(--text-secondary);border-radius:999px;flex-direction:column;align-self:flex-start;gap:6px;padding:6px 10px;font-size:.75rem;transition:background .12s;display:inline-flex}.assistant-chip:has(.assistant-chip-toggle[aria-expanded=true]){background:color-mix(in srgb, var(--panel) 92%, var(--bg));border-radius:12px}.assistant-chip.is-active .assistant-chip-label{color:var(--text)}.assistant-chip.is-failed{color:#b94a48;border-color:#b94a483d}.assistant-chip-toggle{min-width:0;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.assistant-chip-toggle:disabled{cursor:default}.assistant-chip-icon{width:14px;height:14px;color:var(--text-secondary);flex:none;justify-content:center;align-items:center;display:inline-flex}.assistant-chip-icon .thinking-spinner{border-width:1.5px;width:10px;height:10px}.assistant-chip-label{color:var(--text);white-space:nowrap;font-weight:600}.assistant-chip-detail{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:30ch;overflow:hidden}.assistant-chip-meta{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.assistant-chip-chevron{color:var(--text-secondary);flex:none;margin-left:2px;font-size:.7rem;transition:transform .16s}.assistant-chip-chevron.is-collapsed{transform:rotate(-90deg)}.assistant-chip-search .search-results-inline{border-top:1px solid var(--line);margin-top:0;padding-top:4px}.assistant-chip-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:3px;flex:none;align-items:center;padding:1px 5px;font-size:.6rem;font-weight:600;display:inline-flex}.search-raw-preview{border-top:1px solid var(--line);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:4px;padding-top:6px;font-size:.72rem;line-height:1.45}.assistant-chip-error{color:#b94a48;border-top:1px solid #b94a482e;padding-top:4px;font-size:.72rem}.assistant-chip-thinking{flex-direction:row;align-items:center}.assistant-chip-reasoning.is-active .assistant-chip-label{color:var(--text)}.assistant-chip-reasoning .assistant-chip-reasoning-text{border-top:1px solid var(--line);color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;max-height:420px;margin-top:4px;padding-top:8px;font-size:.78rem;line-height:1.55;overflow-y:auto}.assistant-chip-reasoning-caret{vertical-align:text-bottom;background:currentColor;width:2px;height:.9em;margin-left:2px;animation:1s step-end infinite reasoning-caret;display:inline-block}@keyframes reasoning-caret{0%,50%{opacity:1}51%,to{opacity:0}}.assistant-progress-stack{flex-direction:column;gap:8px;display:flex}.assistant-progress-shell{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 88%, var(--bg));box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.assistant-progress-toggle{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:0;display:flex}.assistant-progress-toggle-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.assistant-progress-toggle-label{color:var(--text);font-size:.76rem;font-weight:600}.assistant-progress-toggle-meta{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.assistant-progress-toggle-chevron{color:var(--text-secondary);flex:none;transition:transform .16s}.assistant-progress-toggle-chevron.is-collapsed{transform:rotate(90deg)}.assistant-progress{flex-direction:column;gap:6px;display:flex}.assistant-progress-item{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:.78rem;display:flex}.assistant-progress-copy{flex-direction:column;gap:2px;display:flex}.assistant-progress-detail{color:var(--text-secondary);font-size:.72rem}.assistant-progress-item.is-active{color:var(--text)}.assistant-progress-item.is-failed{color:#b94a48}.assistant-progress-marker{opacity:.5;background:currentColor;border-radius:999px;flex:none;width:8px;height:8px}.assistant-progress-item.is-active .assistant-progress-marker{opacity:1;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 16%, transparent);animation:1.1s ease-in-out infinite pulse}.assistant-answer-card{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:8px 12px;display:flex}.assistant-error-card{border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 84%, #b94a48 16%);border:1px solid #b94a482e;flex-direction:column;gap:6px;margin-top:6px;padding:10px 12px;display:flex}.assistant-error-title{color:#b94a48;text-transform:uppercase;letter-spacing:.03em;font-size:.76rem;font-weight:700}.assistant-error-summary{color:var(--text);font-size:.86rem;font-weight:600}.assistant-error-explanation{color:var(--text-secondary);line-height:1.45}.assistant-error-details{font-size:.76rem}.assistant-error-details summary{cursor:pointer;color:var(--text-secondary)}.assistant-error-details pre{border:1px solid var(--line);background:var(--panel-strong);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin-top:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.76rem}.trace-shell{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:4px;padding-top:4px;display:flex}.assistant-progress-stack>.trace-shell:first-child{border-top:0;margin-top:0;padding-top:0}.trace-toggle{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:0;display:flex}.trace-toggle-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.trace-toggle-label{color:var(--text);font-size:.76rem;font-weight:600}.trace-toggle-meta{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.trace-drawer{flex-direction:column;gap:10px;display:flex}.trace-run-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 90%, var(--bg));border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.trace-run-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.trace-run-id{color:var(--text);font-size:.76rem;font-weight:600}.trace-run-badges{color:var(--text-secondary);flex-wrap:wrap;gap:6px;font-size:.7rem;display:flex}.trace-run-badges span{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:2px 8px}.trace-run-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trace-copy-btn{border:1px solid var(--line);background:var(--panel);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:.7rem;transition:background .15s,color .15s,border-color .15s}.trace-copy-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.trace-run-error{color:#b94a48;font-size:.74rem}.trace-tree{flex-direction:column;gap:8px;display:flex}.trace-span-node{border-left:1px solid var(--line);flex-direction:column;gap:6px;padding-left:12px;display:flex}.trace-span-header{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-size:.76rem;display:flex}.trace-span-header.is-failed{color:#b94a48}.trace-span-header.is-cancelled{color:#946200}.trace-span-name{font-weight:600}.trace-span-meta{color:var(--text-secondary);gap:8px;font-size:.72rem;display:flex}.trace-span-details{font-size:.72rem}.trace-span-details summary{cursor:pointer;color:var(--text-secondary)}.trace-span-details pre{border:1px solid var(--line);background:var(--panel-strong);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin-top:6px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.72rem}.trace-span-children{flex-direction:column;gap:8px;display:flex}@keyframes pulse{50%{transform:scale(1.15)}}.msg.assistant .md-content,.assistant-streaming-text{word-break:break-word}.md-content h1,.md-content h2,.md-content h3,.md-content h4{margin:.6em 0 .3em;line-height:1.3}.md-content h1{font-size:1.15em}.md-content h2{font-size:1.05em}.md-content h3{font-size:1em;font-weight:600}.md-content p{margin:.4em 0}.md-content p:first-child{margin-top:0}.md-content p:last-child{margin-bottom:0}.md-content ul,.md-content ol{margin:.4em 0;padding-left:1.4em}.md-content li{margin:.15em 0}.md-content code{background:var(--panel-strong);border-radius:4px;padding:.15em .35em;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.85em}.md-content .code-block{border:1px solid var(--line);border-radius:8px;margin:.5em 0;overflow:hidden}.md-content .code-header{background:var(--panel-strong);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:4px 10px;font-size:.7rem;display:flex}.md-content .code-lang{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:500}.md-content .copy-btn{border:1px solid var(--line);background:var(--panel);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:.7rem;transition:all .15s}.md-content .copy-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.md-content pre{background:var(--panel-strong);border-radius:0;margin:0;padding:10px 12px;font-size:.82em;line-height:1.5;overflow-x:auto}.md-content pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}.md-content blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:.5em 0;padding:.2em 0 .2em .8em}.md-content .table-wrap{-webkit-overflow-scrolling:touch;margin:.5em 0;overflow-x:auto}.md-content table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.85em}.md-content th,.md-content td{border:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 12px}.md-content td{white-space:normal;min-width:120px}.md-content th{background:var(--panel-strong);white-space:nowrap;font-weight:600}.md-content a{color:var(--accent);text-decoration:none}.md-content a:hover{text-decoration:underline}.md-content hr{border:none;border-top:1px solid var(--line);margin:.6em 0}.msg-stats{border-top:1px solid var(--line);color:var(--text-secondary);opacity:.6;font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:10px;margin-top:8px;padding-top:6px;font-size:.68rem;display:flex}.msg-stats-model{margin-left:auto}.fork-btn.msg-action-btn{width:22px;height:22px;margin-top:0}.thinking-indicator{min-height:1.5rem;color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:inline-flex}.thinking-spinner{border:1.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite spin}.thinking-indicator.is-complete{color:var(--text-secondary)}.thinking-indicator-marker{opacity:.7}.thread-spinner{border:1.5px solid var(--text-secondary);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:4px;animation:.8s linear infinite spin;display:inline-block}.streaming-cursor{background:var(--accent);vertical-align:text-bottom;border-radius:1px;width:6px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.scroll-to-bottom{z-index:10;border:1px solid var(--line);background:var(--panel);width:36px;height:36px;color:var(--text-secondary);box-shadow:var(--shadow);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;place-items:center;transition:all .2s;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.scroll-to-bottom:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);transform:translate(-50%)scale(1.08)}.inline-edit{border:1px solid var(--accent);background:var(--bg);min-width:0;color:var(--text);border-radius:4px;outline:none;flex:1;padding:1px 4px;font-size:.85rem;font-weight:500}.connection-banner{text-align:center;color:var(--text-secondary);background:var(--panel);border-top:1px solid var(--line);padding:6px 16px;font-size:.75rem}.composer{border-top:1px solid var(--line);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:var(--panel);flex-direction:column;flex-shrink:0;gap:8px;display:flex;position:relative}.composer-row{align-items:center;gap:8px;display:flex}.composer-context-controls{align-items:center;gap:6px;min-width:0;display:flex}.composer-input{resize:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);outline:none;width:100%;min-height:40px;max-height:160px;padding:10px 12px;font-size:.9rem;line-height:1.4;transition:border-color .15s}.composer-input:focus{border-color:var(--accent)}.composer-model{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);outline:none;flex-shrink:0;max-width:140px;padding:5px 8px;font-size:.78rem}.composer-search-limit{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);text-align:center;width:42px;color:var(--text-secondary);outline:none;padding:5px 4px;font-size:.78rem}.composer-search-limit:focus{border-color:var(--accent)}.composer-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.composer-reasoning-select{min-width:0;color:var(--text-secondary);align-items:center;gap:4px;display:flex}.composer-reasoning-icon{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.composer-reasoning-select select{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);outline:none;max-width:92px;padding:5px 8px;font-size:.78rem}.composer-action-btn,.composer-send-btn,.composer-stop-btn{border:1px solid var(--line);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;transition:all .15s;display:grid}.composer-action-btn:hover:not(.is-active){background:color-mix(in srgb, var(--accent) 6%, transparent);color:color-mix(in srgb, var(--accent) 72%, var(--text-secondary));border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}.composer-send-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.composer-action-btn.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.composer-send-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.composer-send-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.composer-send-btn:disabled{opacity:.5;cursor:default}.composer-stop-btn:hover{background:var(--panel-strong);border-color:var(--accent);color:var(--accent)}.composer-note{color:var(--text-secondary);font-size:.74rem}.attach-btn{border:1px solid var(--line);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.1rem;font-weight:300;line-height:1;transition:all .15s;display:grid}.attach-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.composer-warning{border-radius:var(--radius);color:#fbbf24;background:#fbbf2414;border:1px solid #fbbf2438;align-items:flex-start;gap:8px;margin-bottom:6px;padding:10px 12px;font-size:13px;line-height:1.5;animation:.25s ease-out strip-enter;display:flex}.composer-warning-icon{flex-shrink:0;font-size:14px;line-height:1.5}.composer-warning-link{color:#fcd34d;text-underline-offset:2px;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.composer-warning-link:hover{color:#fde68a}.attachment-strip{gap:6px;padding:2px 0;animation:.25s ease-out strip-enter;display:flex;overflow-x:auto}@keyframes strip-enter{0%{opacity:0;max-height:0;padding:0}to{opacity:1;max-height:60px;padding:2px 0}}.attachment-chip{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex-shrink:0;align-items:center;gap:6px;height:40px;padding:4px 8px;transition:opacity .15s,border-color .15s;animation:.2s ease-out chip-enter;display:flex;position:relative}@keyframes chip-enter{0%{opacity:0;transform:translate(-8px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.attachment-chip-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:32px;height:32px}.attachment-chip-ext{background:var(--panel-strong);letter-spacing:.03em;width:32px;height:32px;color:var(--text-secondary);border-radius:6px;flex-shrink:0;place-items:center;font-size:.55rem;font-weight:700;display:grid}.attachment-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;color:var(--text);font-size:.75rem;overflow:hidden}.attachment-chip-spinner{border:1.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin}.attachment-chip-remove{width:18px;height:18px;color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;font-size:.9rem;line-height:1;transition:all .15s;display:grid}.attachment-chip:hover .attachment-chip-remove{opacity:1}.attachment-chip-remove:hover{color:#ff3b30;background:#ff3b301f}.attachment-chip-uploading{border-color:var(--accent);position:relative;overflow:hidden}.attachment-chip-uploading:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent-soft) 50%, transparent 100%);pointer-events:none;border-radius:9px;animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.attachment-chip-failed{opacity:.7;border-color:#ff3b3066}.attachment-chip-failed .attachment-chip-name{color:#ff3b30}.composer-dragging{border:2px dashed var(--accent);transition:all .2s;background:var(--accent-soft)!important}.msg-attachments{flex-wrap:wrap;gap:8px;display:flex}.msg-attachment-gallery{flex-direction:column;align-items:flex-end;gap:10px;width:100%;display:flex}.msg-attachment-card{background:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 88%, white 12%), var(--panel));border:1px solid color-mix(in srgb, var(--line) 75%, white 25%);border-radius:18px;width:min(100%,30rem);padding:10px;display:block;box-shadow:0 18px 40px #0000003d}.msg-attachment-img{object-fit:cover;cursor:pointer;border-radius:12px;width:100%;max-height:24rem;transition:opacity .15s,transform .15s;display:block}.msg-attachment-img:hover{opacity:.85;transform:translateY(-1px)}.msg-attachment-file{background:#ffffff26;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;display:inline-flex}.msg-attachments-files{justify-content:flex-end}.msg.assistant .msg-attachment-file{background:var(--panel-strong)}.settings-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.settings-header{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.settings-header h2{font-size:.95rem;font-weight:600}.settings-workspace{color:var(--text-secondary);font-size:.75rem}.settings-body{flex-direction:column;flex:1;gap:24px;max-width:640px;padding:24px 16px;display:flex;overflow-y:auto}.settings-section{flex-direction:column;gap:8px;display:flex}.settings-label{font-size:.85rem;font-weight:600}.settings-hint{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.settings-textarea,.settings-select{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);outline:none;padding:10px 12px;font-size:.85rem;transition:border-color .15s}.settings-textarea{resize:vertical;min-height:160px;line-height:1.5}.settings-select{appearance:none}.settings-textarea:focus,.settings-select:focus{border-color:var(--accent)}.settings-actions{justify-content:flex-end;gap:8px;display:flex}.settings-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.settings-toggle--disabled{opacity:.5;cursor:not-allowed}.settings-toggle--disabled input[type=checkbox]{cursor:not-allowed}.settings-toggle input[type=checkbox]{cursor:pointer}.settings-hint--warning{color:var(--warning,#b08800)}.settings-danger{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.settings-tabs{border-bottom:1px solid var(--line);flex-shrink:0;display:flex}.settings-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.85rem;font-weight:500;transition:color .15s;display:flex;position:relative}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--accent)}.settings-tab.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.settings-tab-badge{background:var(--accent);color:var(--bg);border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:600;line-height:1.4}.settings-empty{text-align:center;padding:48px 16px}.archived-threads-list{flex-direction:column;gap:4px;display:flex}.archived-thread-row{border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.archived-thread-row:hover{background:var(--hover)}.archived-thread-info{flex-direction:column;gap:2px;min-width:0;display:flex}.archived-thread-title{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.archived-thread-meta{color:var(--text-secondary);font-size:.75rem}.btn-sm{white-space:nowrap;flex-shrink:0;padding:4px 10px;font-size:.78rem}.timeline::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar{width:4px}.timeline::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}.menu-btn{cursor:pointer;color:var(--text);background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1;display:none}.menu-btn-floating,.sidebar-overlay{display:none}@media (width<=700px){.shell{grid-template-columns:1fr}.sidebar{z-index:100;width:280px;display:none;position:fixed;inset:0 auto 0 0;box-shadow:4px 0 24px #0003}.sidebar.open{display:flex}.sidebar-overlay{z-index:99;background:#0006;display:block;position:fixed;inset:0}.menu-btn{display:block}.menu-btn-floating{z-index:25;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);box-shadow:var(--shadow);cursor:pointer;padding:8px 12px;font-size:1.2rem;line-height:1;display:block;position:fixed;top:8px;left:8px}.thread-header{z-index:20;background:var(--panel);position:absolute;top:0;left:0;right:0}.thread-header.is-hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.timeline{padding-top:44px}.msg{min-width:60%;max-width:90%}.msg.assistant{min-width:60%;max-width:100%}.composer-row{align-items:flex-start}.composer-context-controls{flex-wrap:wrap}.composer-model{max-width:min(48vw,180px)}.composer-reasoning-select select{max-width:76px}}.comparison-toggle.is-active{color:var(--accent);background:var(--accent-soft)}.comparison-model-picker{flex-wrap:wrap;gap:4px;display:flex}.comparison-model-chip{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:4px 8px;font-size:12px;transition:all .15s;display:inline-flex}.comparison-model-chip.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.comparison-model-chip.is-disabled{opacity:.4;cursor:not-allowed}.comparison-model-chip input[type=checkbox]{display:none}.comparison-view{flex-direction:column;flex:1;display:flex;overflow:hidden}.comparison-tabs{border-bottom:1px solid var(--line);background:var(--panel);gap:0;padding:0 8px;display:none;overflow-x:auto}.comparison-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:12px;font-weight:500;transition:all .15s}.comparison-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.comparison-columns{flex:1;display:flex;overflow:hidden}.comparison-column{border-right:1px solid var(--line);flex-direction:column;flex:1;display:flex;overflow:hidden}.comparison-column:last-child{border-right:none}.comparison-column-header{background:var(--panel);border-bottom:1px solid var(--line);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.comparison-column-model{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.comparison-column-timeline{flex:1;padding:16px;overflow-y:auto}.comparison-badge{color:var(--accent);margin-right:2px;font-size:11px}@media (width<=768px){.comparison-tabs{display:flex}.comparison-column{display:none}.comparison-column.is-active{flex:1;display:flex}.comparison-columns{flex-direction:column}}
