*,:after,:before{box-sizing:border-box}.chat,.chat *{font-family:var(--font-sans);font-weight:var(--fw-normal)}.chat{color:var(--text);font-size:var(--fs-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.thread{max-width:100%;margin:0;padding:2rem 1.5rem 7rem;display:flex;flex-direction:column;gap:var(--gap-msg)}.msg-user{display:inline-block;max-width:100%;background:#1e1e1e;color:#fff;border-radius:20px 20px 4px 20px;padding:10px 16px;font-size:14px;line-height:1.6;box-shadow:0 2px 8px rgba(0,0,0,.14);word-break:break-word}.msg-user p{margin:0;color:#fff}.msg-user p+p{margin-top:.5rem}.msg-ai{display:flex;gap:10px;align-items:flex-start;max-width:85%}.avatar{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;font-family:var(--font-ui,var(--font-sans));margin-top:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.msg-ai .body>:first-child{margin-top:0}.msg-ai .body>:last-child{margin-bottom:0}.msg-ai p{margin:0 0 .25rem}.msg-ai h3{font-size:16px;font-weight:var(--fw-medium);margin:1.25rem 0 .5rem}.msg-ai ol,.msg-ai ul{margin:0 0 .25rem;padding-left:1.25rem}.msg-ai li{margin:.25rem 0}.msg-ai a{color:var(--accent);text-decoration:none;border-bottom:var(--hair) solid color-mix(in srgb,var(--accent) 40%,transparent)}.msg-ai a:hover{border-bottom-color:var(--accent)}.msg-ai code:not(pre code){font-family:var(--font-mono);font-size:.86em;background:var(--surface-2);border:var(--hair) solid var(--border);border-radius:5px;padding:.1em .36em}.cursor{display:inline-block;width:.5em;height:1.05em;vertical-align:text-bottom;background:var(--text);margin-left:1px;animation:blink 1.1s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.tool{gap:.5rem;padding:.125rem 0;font-size:12px;font-family:var(--font-ui);font-weight:500;color:#888}.tool .ico{flex:0 0 13px;width:13px;height:13px;color:#aaa}.tool .ico svg{width:13px;height:13px;display:block}.tool .name{font-family:var(--font-ui);font-size:12px;color:#121212;font-weight:500}.tool .arg{font-family:var(--font-mono);font-size:11px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.tool .status{flex:0 0 auto;gap:.25rem}.badge{gap:.3rem;font-size:10px;font-family:var(--font-ui);font-weight:600;padding:.125rem .5rem .125rem .375rem;letter-spacing:.01em}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge.running{color:#d97706;background:#fef3c7}.badge.running:before{animation:pulse 1.2s ease-in-out infinite}.badge.done{color:#16a34a;background:#dcfce7}.badge.cached{color:#aaa;background:#f5f4f2}.badge.error{color:#dc2626;background:#fee2e2}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.tool-x{border-radius:0;box-shadow:none;overflow:visible}.tool-x>summary{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:.125rem 0;cursor:pointer;list-style:none}.tool-x>summary::-webkit-details-marker{display:none}.tool-x .row{display:flex;align-items:center;gap:.5rem;width:100%}.tool-x .ico{flex:0 0 13px;width:13px;height:13px;color:#aaa}.tool-x .ico svg{width:13px;height:13px;display:block}.tool-x .name{font-family:var(--font-ui);font-size:12px;color:#121212;font-weight:500}.tool-x .arg{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.tool-x .arg,.tool-x .result-pill{font-family:var(--font-mono);color:#888}.tool-x .result-pill{display:inline-flex;align-items:center;gap:4px;margin-left:20px;padding:2px 9px;border-radius:9999px;background:#f5f4f2;font-size:10px;font-weight:600;transition:background .1s ease,color .1s ease}.tool-x>summary:hover .result-pill,.tool-x[open] .result-pill{background:#ebebeb;color:#121212}.tool-x .out{border:none;padding:6px 0 2px 20px;font-family:var(--font-mono);line-height:1.55;color:#3f3f47;overflow-x:auto}.tool-inline{display:flex;align-items:center;gap:.5rem;padding:.125rem 0;font-size:12px;font-family:var(--font-ui);color:#888}.tool-inline .ico{flex:0 0 13px;width:13px;height:13px;color:#aaa}.tool-inline .ico svg{width:13px;height:13px;display:block}.tool-inline .name{font-family:var(--font-ui);font-size:12px;color:#121212;font-weight:500}.tool-inline .arg{font-family:var(--font-mono);font-size:11px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tool-inline .dot{flex:0 0 auto;width:6px;height:6px;border-radius:50%;margin-left:.125rem}.tool-inline .dot.running{background:#d97706;animation:pulse 1.2s ease-in-out infinite}.tool-inline .dot.done{background:#16a34a}.tool-inline .dot.error{background:#dc2626}@keyframes xos-slide-down{0%{opacity:0;transform:translateY(-6px) scaleY(.97);transform-origin:top}to{opacity:1;transform:translateY(0) scaleY(1);transform-origin:top}}.xos-activity-panel-body{padding:2px 6px 2px 8px;position:relative;animation:xos-slide-down .2s cubic-bezier(.16,1,.3,1) both}.code{border:var(--hair) solid var(--border);border-radius:var(--r-card);background:var(--code-bg);overflow:hidden;margin:.75rem 0}.code-head{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;border-bottom:var(--hair) solid var(--border);background:color-mix(in srgb,var(--code-bg) 60%,var(--bg))}.code-lang{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);letter-spacing:.02em}.copy-btn{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-sans);font-size:12px;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--r-sm);padding:.2rem .4rem;cursor:pointer}.copy-btn:hover{color:var(--text);background:var(--surface-2)}.copy-btn svg{width:14px;height:14px}.copy-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--focus)}.code pre{margin:0;padding:.875rem 1rem;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--code-text)}.code .tok-key{color:var(--tok-key)}.code .tok-str{color:var(--tok-str)}.code .tok-num{color:var(--tok-num)}.code .tok-com{color:var(--tok-com);font-style:italic}.code .tok-fn{color:var(--tok-fn)}.composer-wrap{flex-shrink:0;padding:8px 24px 20px;background:var(--bg-content);position:relative;z-index:10}.composer{display:flex;flex-direction:column;background:hsla(0,0%,100%,.82);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid hsla(0,0%,100%,.6);border-radius:28px;box-shadow:0 6px 24px rgba(0,0,0,.1),0 1px 6px rgba(0,0,0,.06),inset 0 1px 0 hsla(0,0%,100%,.9);overflow:hidden;transition:box-shadow .2s cubic-bezier(.16,1,.3,1)}.composer:focus-within{box-shadow:0 6px 24px rgba(0,0,0,.12),0 1px 6px rgba(0,0,0,.07),inset 0 1px 0 hsla(0,0%,100%,.9),0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.composer-input-row{display:flex;align-items:flex-end;gap:8px;padding:14px 16px 4px}.composer-action-row{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 12px}.composer-actions{display:flex;align-items:center;gap:6px}.icon-btn{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border:none;background:transparent;color:#aaa;border-radius:999px;cursor:pointer;transition:color .1s,background .1s}.icon-btn:hover{color:#888;background:#f5f4f2}.icon-btn svg{width:16px;height:16px}.action-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;font-size:12px;font-family:var(--font-ui,var(--font-sans));font-weight:500;color:#888;background:hsla(0,0%,100%,.6);border:1px solid #e8e6e1;cursor:pointer;transition:color .1s,background .1s;white-space:nowrap}.action-pill:hover{color:#121212;background:#f5f4f2}.action-pill svg{width:12px;height:12px;flex-shrink:0}.composer textarea{flex:1;min-width:0;border:none;background:transparent;resize:none;font-family:var(--font-ui,var(--font-sans));font-size:14px;line-height:1.55;color:#121212;padding:0;max-height:180px;overflow-y:auto}.composer textarea::-moz-placeholder{color:#aaa}.composer textarea::placeholder{color:#aaa}.composer textarea:focus{outline:none}.send-btn{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border:none;border-radius:50%;background:#121212;color:#fff;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.06),0 1px 4px rgba(0,0,0,.04);transition:transform .16s cubic-bezier(.16,1,.3,1),background .1s}.send-btn:hover{background:#2a2a2a;transform:scale(1.06)}.send-btn:disabled{background:#f5f4f2;color:#aaa;cursor:default;box-shadow:none;transform:none;opacity:.6}.send-btn svg{width:15px;height:15px}.send-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(99,102,241,.2)}.sidebar{width:220px;flex:0 0 220px;border-right:var(--hair) solid var(--border);background:var(--surface);padding:.75rem;gap:.25rem}.sidebar .grp{font-size:11.5px;color:var(--text-muted);font-weight:var(--fw-medium);text-transform:none;padding:.5rem .5rem .25rem}.side-item{gap:.5rem;padding:.4rem .5rem;border-radius:var(--r-sm);font-size:13.5px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis}.side-item:hover{background:var(--surface-hover);color:var(--text)}.side-item.active{background:var(--surface-2);color:var(--text)}.side-item .ico{flex:0 0 15px;width:15px;height:15px;color:var(--text-muted)}.side-item .ico svg{width:15px;height:15px;display:block}.chat-root{--bg:var(--bg-card);--surface:var(--bg-app);--surface-2:var(--bg-recess);--surface-hover:var(--bg-hover);--text:var(--ink-1);--text-secondary:var(--ink-3);--text-muted:var(--ink-4);--border:var(--rule);--border-strong:var(--rule-strong);--accent-contrast:#fff;--focus:var(--accent);--hair:0.5px;--r-bubble:18px 18px 4px 18px;--r-card:12px;--r-input:16px;--r-sm:8px;--r-pill:999px;--gap-msg:1rem;--code-bg:var(--bg-recess);--code-text:var(--ink-1)}.chat-root.thread,.thread.chat-root{max-width:none!important;width:100%;margin:0!important;padding:1.25rem 1.5rem 7rem;gap:.5rem}.composer-wrap .composer,.composer-wrap .composer-overlay{max-width:984px;margin-left:auto;margin-right:auto}.msg-ai .body p:last-child,.msg-user p:last-child{margin-bottom:0}.sidebar{padding:4px 8px;flex-direction:column;gap:1px}.side-item,.sidebar{width:100%;display:flex}.side-item{align-items:center;gap:10px;padding:14px;flex-shrink:0;overflow:hidden;cursor:pointer;border-radius:10px;font-family:var(--font-ui,sans-serif);font-size:15px;font-weight:500;color:#121212;line-height:1.35;transition:background .1s cubic-bezier(.16,1,.3,1),color .1s;list-style:none}.side-item,.side-item>*{min-width:0}.side-item .session-ts{display:none}.side-item:hover{background:rgba(0,0,0,.05);color:#121212}.side-item.active{background:rgba(0,0,0,.06);color:#121212;font-weight:600}.sidebar .grp{font-size:10px;font-weight:700;font-family:var(--font-ui,sans-serif);color:#aaa;padding:14px 12px 4px;letter-spacing:.1em;text-transform:uppercase}.tool{display:flex;align-items:center;gap:7px;padding:3px 0;font-size:13px;line-height:1}.tool,.tool-x{background:transparent;border:none}.tool-x{overflow:hidden}.tool-x summary{display:flex;align-items:center;gap:7px;padding:3px 0;cursor:pointer;list-style:none;font-size:13px;line-height:1;background:transparent;transition:opacity .12s}.tool-x summary::-webkit-details-marker{display:none}.tool-x summary:hover{opacity:.8}.tool-x[open] summary .chev svg{transform:rotate(90deg)}.tool .ico,.tool-x summary .ico{flex-shrink:0;display:flex;align-items:center;color:var(--fg-quaternary)}.tool .name,.tool-x summary .name{font-weight:600;color:var(--fg-secondary);flex-shrink:0;white-space:nowrap;font-size:12.5px}.tool .arg,.tool-x summary .arg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-quaternary);font-family:var(--font-mono,monospace);font-size:11px}.tool .status{gap:4px}.tool .status,.tool-x summary .chev{flex-shrink:0;margin-left:auto;display:flex;align-items:center}.tool-x summary .chev{color:var(--fg-quaternary);transition:transform .15s}.tool-x .out{padding:6px 10px 6px 0;font-size:11.5px;font-family:var(--font-mono,monospace);color:var(--fg-tertiary);background:transparent;white-space:pre-wrap;word-break:break-all;max-height:220px;overflow-y:auto;border-top:.5px solid var(--rule);margin-top:2px}.badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;letter-spacing:.03em;padding:2px 7px;border-radius:9999px;white-space:nowrap}.badge.running{color:var(--status-amber,#f59e0b);background:color-mix(in srgb,var(--status-amber,#f59e0b) 12%,transparent)}.badge.done{color:var(--status-green,#22c55e);background:color-mix(in srgb,var(--status-green,#22c55e) 10%,transparent)}.badge.error{color:var(--status-red,#ef4444);background:color-mix(in srgb,var(--status-red,#ef4444) 10%,transparent)}.badge.cached{color:var(--fg-quaternary,var(--text-muted));background:color-mix(in srgb,var(--fg-quaternary,var(--text-muted)) 10%,transparent)}