:root{--saki-bg:#0d0d0d;--saki-bg-elevated:#11151b;--saki-bg-elevated-2:#15191f;--saki-bg-sidebar:#111;--saki-bg-sidebar-item:#1b2028;--saki-bg-input:#0d0f13;--saki-bg-code:#0f141a;--saki-bg-mute:#1b2028;--saki-bg-bubble:#1a1a1a;--saki-bg-bubble-user:#1e3a5f;--saki-bg-overlay:#000000d1;--saki-border:#24272d;--saki-border-soft:#2a3039;--saki-border-strong:#2d5a9e;--saki-border-divider:#1f2530;--saki-border-bubble:#2a2a2a;--saki-text:#e7e9ee;--saki-text-strong:#f0f0f0;--saki-text-soft:#cbd5e1;--saki-text-mute:#aeb7c4;--saki-text-faint:#818b99;--saki-text-disabled:#6b7280;--saki-accent:#7db8f7;--saki-accent-strong:#9bd0ff;--saki-accent-bg:#1e3a5f;--saki-accent-bg-soft:#7db8f714;--saki-accent-bd:#2d5a9e;--saki-accent-ink:#06111f;--saki-accent-text:#d9ecff;--saki-success:#6abf7b;--saki-success-bg:#6abf7b1a;--saki-success-bd:#6abf7b4d;--saki-success-ink:#b6e0bf;--saki-success-chip-bg:#1a3a2a;--saki-warning:#e6c587;--saki-link:#e6c587;--saki-link-hover:#f1d8a3;--saki-warning-bg:#e6c58714;--saki-warning-bd:#e6c58766;--saki-danger:#f08080;--saki-danger-soft:#f0a0a0;--saki-danger-bg:#4a2a2a;--saki-danger-bd:#8a4a4a;--saki-danger-ink:#f0b0b0;--saki-running:#38bdf8;--saki-running-glow:#38bdf82e;--saki-radius-xs:4px;--saki-radius-sm:6px;--saki-radius-md:7px;--saki-radius-lg:8px;--saki-radius-xl:10px;--saki-radius-pill:999px;--saki-radius-bubble-assistant:12px 12px 12px 3px;--saki-radius-bubble-user:12px 12px 3px 12px;--saki-space-1:4px;--saki-space-2:6px;--saki-space-3:8px;--saki-space-4:10px;--saki-space-5:12px;--saki-space-6:14px;--saki-space-7:18px;--saki-space-8:24px;--saki-pad-sidebar-row:14px 16px;--saki-pad-session-item:9px 10px;--saki-pad-bubble:10px 14px;--saki-pad-btn:8px 14px;--saki-pad-ghost:7px 10px;--saki-sidebar-width:248px;--saki-message-max:860px;--saki-user-bubble-max:min(72%, 700px);--saki-session-item-min:58px;--saki-avatar-size:28px;--saki-font-family:"Segoe UI", system-ui, sans-serif;--saki-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--saki-fs-xs:11px;--saki-fs-sm:12px;--saki-fs-md:13px;--saki-fs-base:14px;--saki-fs-lg:16px;--saki-fw-regular:400;--saki-fw-medium:600;--saki-fw-bold:700;--saki-lh-tight:1.35;--saki-lh-base:1.6;--saki-lh-relaxed:1.7;--saki-shadow-bubble:0 2px 10px #0000001f;--saki-shadow-user-bubble:0 6px 18px #1e3a5f2e;--saki-shadow-float:0 4px 14px #00000059;--saki-transition-fast:.15s;--saki-transition-base:.2s;--saki-mobile-bp:767px}.saki-app *,.saki-app :after,.saki-app :before{box-sizing:border-box}.saki-app{background:var(--saki-bg);height:100dvh;color:var(--saki-text);font-family:var(--saki-font-family);font-size:var(--saki-fs-base);display:flex}.saki-sidebar{width:var(--saki-sidebar-width);min-width:var(--saki-sidebar-width);background:var(--saki-bg-sidebar);border-right:1px solid var(--saki-border);flex-direction:column;display:flex}.saki-sidebar-footer,.saki-sidebar-header{min-height:56px;padding:var(--saki-pad-sidebar-row);border-bottom:1px solid var(--saki-border);color:inherit;align-items:center;gap:9px;text-decoration:none;display:flex}.saki-sidebar-footer{border-top:1px solid var(--saki-border);border-bottom:0}.saki-brand,.saki-user-name{font-weight:var(--saki-fw-bold)}.saki-user-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.saki-mode-tabs{margin:var(--saki-space-5);border-radius:var(--saki-radius-md);border:1px solid #2b313a;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.saki-mode-tab{padding:var(--saki-space-3);color:#9aa6b5;text-align:center;background:#15181d;text-decoration:none}.saki-mode-tab.active,.saki-mode-tab.router-link-exact-active{color:var(--saki-accent-text);background:var(--saki-accent-bg)}.saki-session-list{padding:var(--saki-space-1) var(--saki-space-3);scrollbar-width:thin;scrollbar-color:#333 transparent;flex:1;overflow:auto}.saki-session-export,.saki-session-search{gap:var(--saki-space-2);padding:var(--saki-space-2) var(--saki-space-3);display:flex}.saki-session-search{border-bottom:1px solid var(--saki-border-divider);flex-direction:column}.saki-session-date-input,.saki-session-search-input{border:1px solid var(--saki-border);border-radius:var(--saki-radius-sm);background:var(--saki-bg-input);width:100%;min-width:0;color:var(--saki-text);font:inherit;font-size:var(--saki-fs-sm);line-height:var(--saki-lh-tight);padding:7px 9px}.saki-session-date-input:focus,.saki-session-search-input:focus{border-color:var(--saki-accent);outline:none}.saki-session-export,.saki-session-search-actions,.saki-session-search-dates{align-items:center}.saki-session-search-dates{gap:var(--saki-space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.saki-session-search-actions{justify-content:flex-end;display:flex}.saki-session-export-btn,.saki-session-tool-btn{border:1px solid var(--saki-border);border-radius:var(--saki-radius-sm);background:var(--saki-bg-elevated);min-width:34px;height:30px;color:var(--saki-text-muted);cursor:pointer;font-size:var(--saki-fs-sm);transition:background var(--saki-transition-fast),border-color var(--saki-transition-fast),color var(--saki-transition-fast);line-height:1}.saki-session-export-btn:hover:not(:disabled),.saki-session-tool-btn:hover:not(:disabled){border-color:var(--saki-accent);color:var(--saki-accent-text)}.saki-session-export-btn:disabled,.saki-session-tool-btn:disabled{cursor:not-allowed;opacity:.5}.saki-session-search-error{color:var(--saki-danger);font-size:var(--saki-fs-xs);line-height:var(--saki-lh-snug)}.saki-session-export{border-bottom:1px solid var(--saki-border-divider);justify-content:flex-end}.saki-session-list::-webkit-scrollbar{width:4px}.saki-session-list::-webkit-scrollbar-track{background:0 0}.saki-session-list::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.saki-session-item{width:100%;min-height:var(--saki-session-item-min);gap:var(--saki-space-1);text-align:left;padding:var(--saki-pad-session-item);border-radius:var(--saki-radius-md);color:#d5dae3;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;grid-template-rows:auto auto auto;grid-template-columns:1fr auto auto;align-items:center;display:grid}.saki-session-item .saki-session-title{grid-column:1/-1}.saki-session-item .saki-session-summary{grid-area:2/1/auto/-1}.saki-session-item .saki-session-date{grid-area:3/1}.saki-session-item.active,.saki-session-item:hover{background:var(--saki-bg-sidebar-item)}.saki-session-title{white-space:normal;word-break:break-word;line-height:var(--saki-lh-tight);overflow:visible}.saki-session-summary{color:var(--saki-text-muted);font-size:var(--saki-fs-sm);line-height:var(--saki-lh-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.saki-hint,.saki-no-sessions,.saki-session-date{color:var(--saki-text-faint);font-size:var(--saki-fs-sm)}.saki-no-sessions{padding:var(--saki-space-5) var(--saki-space-4)}.saki-status-dot{border-radius:50%;flex-shrink:0;grid-row:3;width:8px;height:8px;display:inline-block}.saki-status-dot[data-state=running]{background:var(--saki-running);box-shadow:0 0 0 3px var(--saki-running-glow);animation:1.4s ease-in-out infinite saki-pulse}.saki-status-dot[data-state=error]{background:var(--saki-danger)}.saki-status-dot[data-state=cancelled]{background:var(--saki-text-disabled)}.saki-status-dot[data-state=warning]{background:var(--saki-warning)}@keyframes saki-pulse{0%,to{opacity:1}50%{opacity:.5}}.saki-session-ctx-backdrop{z-index:10001;position:fixed;inset:0}.saki-session-ctx-menu{z-index:10002;background:var(--saki-bg-elevated-2);border:1px solid var(--saki-border-soft);border-radius:var(--saki-radius-md);box-shadow:var(--saki-shadow-float);padding:var(--saki-space-1) 0;flex-direction:column;min-width:160px;max-height:calc(100vh - 16px);display:flex;position:fixed;overflow-y:auto}.saki-session-ctx-menu--armed{pointer-events:none}.saki-session-ctx-item{text-align:left;width:100%;color:var(--saki-text);font-size:var(--saki-fs-base);padding:var(--saki-space-3) var(--saki-space-5);cursor:pointer;transition:background var(--saki-transition-fast);background:0 0;border:none;display:block}.saki-session-ctx-item:focus-visible,.saki-session-ctx-item:hover{background:var(--saki-bg-sidebar-item);outline:none}.saki-session-ctx-item--danger{color:var(--saki-danger)}.saki-session-ctx-item--danger:focus-visible,.saki-session-ctx-item--danger:hover{background:var(--saki-danger-bg)}.saki-sidebar-nav{padding:var(--saki-space-3) var(--saki-space-5)}.saki-nav-link{align-items:center;gap:var(--saki-space-3);padding:var(--saki-space-2-5,9px);color:var(--saki-text-mute);border-radius:var(--saki-radius-sm);font-size:var(--saki-fs-md);transition:background var(--saki-transition-fast),color var(--saki-transition-fast);text-decoration:none;display:flex}.saki-nav-link:hover{background:var(--saki-bg-sidebar-item);color:var(--saki-accent-text)}.saki-nav-link.router-link-active{color:var(--saki-accent)}.saki-avatar,.saki-avatar-placeholder{width:var(--saki-avatar-size);height:var(--saki-avatar-size);background:var(--saki-accent-bd);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.saki-logout-btn{color:#666;cursor:pointer;font-size:var(--saki-fs-lg);background:0 0;border:none;margin-left:auto;padding:2px}.saki-logout-btn:hover{color:#aaa}.saki-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.saki-mobile-header{display:none}.saki-menu-btn{cursor:pointer;background:0 0;border:0;place-content:center;gap:4px;width:36px;height:36px;display:grid}.saki-menu-btn span{background:#d5dae3;width:18px;height:2px}.saki-sidebar-overlay{z-index:20;background:#0000008c;position:fixed;inset:0}.saki-messages{min-height:0;padding:var(--saki-space-8) 0;gap:var(--saki-space-1);scrollbar-width:thin;scrollbar-color:#2a2a2a transparent;background:0 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.saki-messages::-webkit-scrollbar{width:5px}.saki-messages::-webkit-scrollbar-track{background:0 0}.saki-messages::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}.saki-messages::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.saki-load-more{padding:var(--saki-space-3) 0;text-align:center}.saki-load-more-btn{padding:var(--saki-space-2) var(--saki-space-5);border:1px solid var(--saki-border);border-radius:var(--saki-radius-md);color:var(--saki-text-mute);font:inherit;font-size:var(--saki-fs-sm);cursor:pointer;background:0 0}.saki-load-more-btn:hover{background:var(--saki-bg-elevated)}.saki-load-more-btn:disabled{cursor:default;opacity:.5}.saki-empty-state{align-content:center;place-items:center;gap:var(--saki-space-5);min-height:100%;color:var(--saki-text-mute);text-align:center;display:grid}.saki-empty-state h2{color:#eef2f7;letter-spacing:0;margin:0}.saki-empty-state p{max-width:520px;line-height:var(--saki-lh-relaxed);margin:0}.saki-body-loading{justify-content:center;align-items:center;gap:var(--saki-space-4);min-height:100%;color:var(--saki-text-mute);flex-direction:column;display:flex}.saki-body-loading .saki-spinner-ring{border-width:3px;width:24px;height:24px}.saki-body-loading-label{font-size:var(--saki-fs-md)}.saki-message{max-width:var(--saki-message-max);width:100%;margin:0 auto}.saki-message.is-user{padding-top:var(--saki-space-5);justify-content:flex-end;display:flex}.saki-message.is-assistant{align-items:flex-start;gap:var(--saki-space-4);padding-top:var(--saki-space-5);display:flex}.saki-saki-icon{flex-shrink:0;margin-top:2px}.saki-msg-bubble-wrap{flex:1;min-width:0}.saki-msg-bubble-wrap,.saki-msg-user-wrap{gap:var(--saki-space-1);flex-direction:column;display:flex}.saki-msg-user-wrap{max-width:var(--saki-user-bubble-max);align-items:flex-end}.saki-bubble{max-width:100%;padding:var(--saki-pad-bubble);border-radius:var(--saki-radius-bubble-assistant);white-space:normal;word-break:break-word;line-height:var(--saki-lh-base);background:var(--saki-bg-bubble);border:1px solid var(--saki-border-bubble);color:var(--saki-text);box-shadow:none;width:fit-content;margin:0}.saki-message.is-user .saki-bubble{white-space:pre-wrap;background:var(--saki-bg-bubble-user);border-color:var(--saki-accent-bd);color:var(--saki-text);border-radius:var(--saki-radius-bubble-user);box-shadow:none}.saki-message.is-assistant .saki-bubble{width:auto;max-width:100%}@keyframes saki-fresh-glow{0%{box-shadow:0 0 0 1px var(--saki-accent),0 0 16px -2px var(--saki-accent)}70%{box-shadow:0 0 0 1px var(--saki-accent),0 0 10px -3px var(--saki-accent)}to{box-shadow:0 0 #0000,0 0 #0000}}.saki-message.is-fresh .approval-card,.saki-message.is-fresh .saki-bubble{border-color:var(--saki-accent-bd);animation:4s ease-out forwards saki-fresh-glow}@media (prefers-reduced-motion:reduce){.saki-message.is-fresh .approval-card,.saki-message.is-fresh .saki-bubble{box-shadow:0 0 0 1px var(--saki-accent);animation:none}}.saki-bubble p{margin:var(--saki-space-2) 0}.saki-bubble p:first-child{margin-top:0}.saki-bubble p:last-child{margin-bottom:0}.saki-bubble h1,.saki-bubble h2,.saki-bubble h3,.saki-bubble h4{line-height:var(--saki-lh-tight);color:var(--saki-text-strong);margin:.8em 0 .4em}.saki-bubble h1:first-child,.saki-bubble h2:first-child,.saki-bubble h3:first-child,.saki-bubble h4:first-child{margin-top:0}.saki-bubble h1{padding-bottom:var(--saki-space-1);border-bottom:1px solid var(--saki-border-divider);font-size:1.22em}.saki-bubble h2{font-size:1.1em}.saki-bubble h3{color:var(--saki-accent-text);font-size:1em}.saki-bubble h4{color:var(--saki-text-soft);font-size:.95em}.saki-bubble ol,.saki-bubble ul{margin:var(--saki-space-2) 0;padding-inline-start:1.5em;list-style-position:outside}.saki-bubble ul{list-style-type:disc}.saki-bubble ul ul{list-style-type:circle}.saki-bubble ul ul ul{list-style-type:square}.saki-bubble ol{list-style-type:decimal}.saki-bubble li{margin:var(--saki-space-1) 0;padding-inline-start:.1em}.saki-bubble li>p{margin:0}.saki-bubble li>ol,.saki-bubble li>ul{margin-top:var(--saki-space-1)}.saki-bubble blockquote{margin:var(--saki-space-3) 0;padding:var(--saki-space-2) var(--saki-space-4);border-left:3px solid var(--saki-accent-bd);background:var(--saki-accent-bg-soft);color:var(--saki-text-soft)}.saki-bubble hr{margin:var(--saki-space-5) 0;border:0;border-top:1px solid var(--saki-border-divider)}.saki-bubble a{color:var(--saki-accent);text-underline-offset:.18em}.saki-bubble strong{color:var(--saki-text-strong)}.saki-bubble pre{border-radius:var(--saki-radius-xl);background:var(--saki-bg-code);scrollbar-width:thin;scrollbar-color:#2a2a2a transparent;border:1px solid #262d36;margin:.5em 0;padding:10px 12px;overflow-x:auto}.saki-bubble pre::-webkit-scrollbar{height:5px}.saki-bubble pre::-webkit-scrollbar-thumb{background:var(--saki-border-bubble);border-radius:var(--saki-radius-xs)}.saki-bubble code{font-family:var(--saki-font-mono)}.saki-bubble :not(pre)>code{border:1px solid var(--saki-border-soft);border-radius:var(--saki-radius-xs);background:var(--saki-bg-code);padding:.12em .35em;font-size:.92em}.saki-bubble table{border-collapse:collapse;width:100%;max-width:100%;display:block;overflow-x:auto}.saki-bubble td,.saki-bubble th{border-bottom:1px solid var(--saki-border-divider);padding:var(--saki-space-2) var(--saki-space-3)}.saki-msg-actions{align-items:center;gap:var(--saki-space-3);margin-top:var(--saki-space-1);min-height:22px;display:flex}.saki-message.is-user .saki-msg-actions{justify-content:flex-end}.saki-msg-time{font-size:var(--saki-fs-xs);color:var(--saki-text-disabled)}.saki-msg-time.is-inline{margin-left:auto}.saki-copy-msg-btn,.saki-rollback-btn{border:1px solid var(--saki-border-soft);color:var(--saki-text-disabled);cursor:pointer;font-size:var(--saki-fs-md);border-radius:var(--saki-radius-xs);transition:opacity var(--saki-transition-fast),color var(--saki-transition-fast),border-color var(--saki-transition-fast);background:0 0;padding:2px 8px}.saki-copy-msg-btn:hover{color:var(--saki-accent);border-color:var(--saki-accent-bd)}.saki-copy-msg-btn.is-copied{color:var(--saki-success);border-color:#1a4a2a}.saki-rollback-btn{opacity:0;padding:2px 7px}.saki-msg-actions:hover .saki-rollback-btn,.saki-rollback-btn:focus{opacity:1}.saki-rollback-btn:hover{color:var(--saki-accent);border-color:var(--saki-accent-bd)}.saki-rollback-btn:disabled{cursor:wait;opacity:.6}.saki-date-separator{max-width:var(--saki-message-max);width:100%;margin:var(--saki-space-7) auto var(--saki-space-2);align-items:center;gap:var(--saki-space-4);color:var(--saki-text-disabled);font-size:var(--saki-fs-xs);letter-spacing:.06em;display:flex}.saki-date-separator:after,.saki-date-separator:before{content:"";background:linear-gradient(90deg,transparent,var(--saki-border-soft),transparent);flex:1;height:1px}.saki-date-separator span{border:1px solid var(--saki-border-soft);border-radius:var(--saki-radius-pill);background:var(--saki-bg-elevated);padding:2px 10px}.saki-thinking{align-items:center;gap:var(--saki-space-4);display:flex;padding:var(--saki-space-4) var(--saki-space-6)!important}.saki-thinking-label{font-size:var(--saki-fs-md);color:var(--saki-text-mute)}@keyframes saki-spin{to{transform:rotate(1turn)}}.saki-spinner-ring{border:2px solid #7db8f733;border-top-color:var(--saki-accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite saki-spin;display:inline-block}.saki-spinner-ring.is-small{vertical-align:middle;border-width:2px;width:12px;height:12px;margin-right:6px}.saki-msg-phase-prompt,.saki-msg-routing{max-width:var(--saki-message-max);width:100%;margin:0 auto}.saki-msg-phase-prompt details,.saki-msg-routing details{background:var(--saki-bg-elevated);border:1px solid var(--saki-border-divider);border-radius:var(--saki-radius-lg);padding:4px 10px}.saki-msg-phase-prompt summary,.saki-msg-routing summary{align-items:center;gap:var(--saki-space-3);cursor:pointer;font-size:var(--saki-fs-sm);color:var(--saki-text-mute);padding:4px 0;list-style:none;display:flex}.saki-msg-phase-prompt summary::-webkit-details-marker{display:none}.saki-msg-routing summary::-webkit-details-marker{display:none}.saki-phase-prompt-badge,.saki-routing-badge{font-size:var(--saki-fs-md)}.saki-phase-prompt-tag,.saki-routing-tag{color:var(--saki-accent);font-weight:var(--saki-fw-medium);font-size:var(--saki-fs-xs);border-radius:var(--saki-radius-pill);background:var(--saki-accent-bg-soft);border:1px solid #7db8f72e;padding:2px 7px}.saki-phase-prompt-tag{color:#c5a36b;background:#c5a36b14;border-color:#c5a36b33}.saki-phase-prompt-summary,.saki-routing-summary-text{color:var(--saki-text-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.saki-routing-detail{gap:var(--saki-space-1);padding:var(--saki-space-3) var(--saki-space-1) var(--saki-space-1);display:grid}.saki-routing-row{gap:var(--saki-space-3);font-size:var(--saki-fs-sm);grid-template-columns:120px 1fr;display:grid}.saki-routing-label{color:var(--saki-text-disabled)}.saki-routing-value{color:var(--saki-accent-text);font-family:var(--saki-font-mono)}.saki-routing-row.is-retry .saki-routing-label{color:#c5a36b}.saki-routing-row.is-retry .saki-routing-value{color:var(--saki-warning)}.saki-phase-prompt-body{margin:var(--saki-space-3) 0 var(--saki-space-1);padding:var(--saki-space-4) var(--saki-space-5);color:var(--saki-text-soft);border:1px solid var(--saki-border-divider);border-radius:var(--saki-radius-sm);white-space:pre-wrap;word-break:break-word;font-size:var(--saki-fs-sm);background:#0d1117;line-height:1.65}.saki-error-bubble{gap:var(--saki-space-2);display:grid;color:#ffd7d7!important;background:linear-gradient(#4a171a66,#3a171a99)!important;border-color:#693039!important}.saki-error-title{font-weight:var(--saki-fw-bold);color:#ffb4b4}.saki-error-body{font-size:var(--saki-fs-sm);white-space:pre-wrap;word-break:break-word;color:#f0b7b7;margin:0}.saki-error-hint{margin:var(--saki-space-1) 0 0;padding:var(--saki-space-2) var(--saki-space-3);font-size:var(--saki-fs-sm);color:#ffd9b5;border-radius:var(--saki-radius-sm);background:#ffd9b514;border:1px solid #ffd9b533}.saki-paused-bubble{gap:var(--saki-space-3);display:grid;color:#ffe8cc!important;background:linear-gradient(#4a301773,#3a28148c)!important;border-color:#6b4a2a!important}.saki-paused-title{font-weight:var(--saki-fw-bold);font-size:var(--saki-fs-base);color:#ffcc80}.saki-paused-body,.saki-paused-hint{font-size:var(--saki-fs-sm);color:#f5d9b8;margin:0;line-height:1.55}.saki-paused-hint{padding:var(--saki-space-2) var(--saki-space-3);border-radius:var(--saki-radius-sm);background:#ffcc8014;border:1px solid #ffcc8033}.saki-paused-actions{gap:var(--saki-space-2);flex-wrap:wrap;display:flex}.saki-research-handoff-bubble{gap:var(--saki-space-3);display:grid;border-color:var(--saki-accent-bd)!important;color:var(--saki-text-primary,#e7e9ee)!important;background:linear-gradient(#254a7a59,#1c345880)!important}.saki-research-handoff-title{font-weight:var(--saki-fw-bold);font-size:var(--saki-fs-base);color:#b8d4ff}.saki-research-handoff-hint,.saki-research-handoff-summary{font-size:var(--saki-fs-sm);color:#c8d6e5;margin:0;line-height:1.55}.saki-research-handoff-hint{color:#9eb8d4}.saki-research-handoff-actions{gap:var(--saki-space-2);flex-wrap:wrap;align-items:center;display:flex}.saki-coding-suggest-bubble{gap:var(--saki-space-3);display:grid;border-color:var(--saki-accent-bd)!important;color:var(--saki-text-primary,#e7e9ee)!important;background:linear-gradient(#254a7a59,#1c345880)!important}.saki-coding-suggest-title{font-weight:var(--saki-fw-bold);font-size:var(--saki-fs-base);color:#b8d4ff}.saki-coding-suggest-body{font-size:var(--saki-fs-sm);color:#c8d6e5;margin:0;line-height:1.55}.saki-coding-suggest-actions{gap:var(--saki-space-2);flex-wrap:wrap;align-items:center;display:flex}.saki-research-suggest-bubble{gap:var(--saki-space-3);display:grid;border-color:var(--saki-accent-bd)!important;color:var(--saki-text-primary,#e7e9ee)!important;background:linear-gradient(#254a7a59,#1c345880)!important}.saki-research-suggest-title{font-weight:var(--saki-fw-bold);font-size:var(--saki-fs-base);color:#b8d4ff}.saki-research-suggest-body{font-size:var(--saki-fs-sm);color:#c8d6e5;margin:0;line-height:1.55}.saki-research-suggest-actions{gap:var(--saki-space-2);flex-wrap:wrap;align-items:center;display:flex}.saki-completion-notice{align-items:center;gap:var(--saki-space-4);margin:var(--saki-space-6) auto;padding:var(--saki-space-3) var(--saki-space-6);border-radius:var(--saki-radius-pill);background:var(--saki-success-bg);border:1px solid var(--saki-success-bd);color:var(--saki-success-ink);width:fit-content;font-size:var(--saki-fs-md);display:flex}.saki-completion-icon{background:var(--saki-success-chip-bg);width:22px;height:22px;color:var(--saki-success);font-weight:var(--saki-fw-bold);border-radius:50%;place-items:center;display:grid}.saki-completion-link{margin-left:var(--saki-space-2);color:var(--saki-link);text-decoration:none}.saki-completion-link:hover{color:var(--saki-link-hover);text-decoration:underline}.saki-scroll-to-bottom{background:var(--saki-accent-bg);width:36px;height:36px;color:var(--saki-accent-text);border:1px solid var(--saki-accent-bd);font-size:var(--saki-fs-lg);cursor:pointer;box-shadow:var(--saki-shadow-float);z-index:10;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:24px;right:24px}.saki-scroll-to-bottom:hover{background:#254a7a}.saki-composer{margin:0 var(--saki-space-7) var(--saki-space-6);border-radius:var(--saki-radius-lg);background:var(--saki-bg-elevated);padding:var(--saki-space-5);gap:var(--saki-space-4);flex-direction:column;display:flex}.saki-composer,.saki-textarea{border:1px solid var(--saki-border-soft)}.saki-textarea{color:#f3f4f6;background:var(--saki-bg-input);border-radius:var(--saki-radius-md);width:100%;font:inherit;resize:vertical;min-height:80px;line-height:var(--saki-lh-base);transition:border-color var(--saki-transition-fast);scrollbar-width:thin;scrollbar-color:#333 transparent;outline:none;padding:9px 10px}.saki-textarea::-webkit-scrollbar{width:4px}.saki-textarea::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.saki-textarea:focus{border-color:var(--saki-accent-bd)}.saki-textarea:disabled{opacity:.55;cursor:not-allowed}.saki-composer-actions{justify-content:space-between;align-items:center;gap:var(--saki-space-5);display:flex}.saki-composer-buttons{align-items:center;gap:var(--saki-space-3);flex-shrink:0;display:flex}.saki-composer-send-mode{color:#f3f4f6;background:var(--saki-bg-input);border:1px solid var(--saki-border-soft);border-radius:var(--saki-radius-md);font:inherit;cursor:pointer;max-width:220px;transition:border-color var(--saki-transition-fast);outline:none;padding:7px 10px;font-size:.875rem}.saki-composer-send-mode:focus{border-color:var(--saki-accent-bd)}.saki-composer-send-mode:disabled{opacity:.55;cursor:not-allowed}.saki-btn-abort,.saki-btn-danger,.saki-btn-ghost,.saki-btn-primary,.saki-new-btn{border-radius:var(--saki-radius-md);cursor:pointer;font:inherit;border:1px solid #0000}.saki-new-btn{margin:0 var(--saki-space-5) var(--saki-space-5);color:var(--saki-accent-text);background:var(--saki-accent-bg);border-color:var(--saki-accent-bd);align-items:center;gap:var(--saki-space-2);padding:9px 12px;display:flex}.saki-new-btn:hover:not(:disabled){background:#254a7a}.saki-btn-primary{padding:var(--saki-pad-btn);color:var(--saki-accent-ink);background:var(--saki-accent-strong);align-items:center;gap:var(--saki-space-1);display:inline-flex}.saki-btn-primary:hover:not(:disabled){background:#b7defc}.saki-btn-ghost{padding:var(--saki-pad-ghost);color:var(--saki-text-soft);border-color:var(--saki-border-soft);background:#171b21}.saki-btn-ghost:hover:not(:disabled){background:#1f242c}.saki-btn-danger{padding:var(--saki-pad-btn);color:#ffd7d7;background:#3a171a;border-color:#693039}.saki-btn-abort{border-radius:var(--saki-radius-md);border:1px solid var(--saki-danger-bd);background:var(--saki-danger-bg);color:var(--saki-danger-ink);transition:background var(--saki-transition-fast);padding:8px 12px}.saki-btn-abort:hover{background:#6a3a3a}button.saki-btn-abort:disabled,button.saki-btn-danger:disabled,button.saki-btn-ghost:disabled,button.saki-btn-primary:disabled,button.saki-new-btn:disabled{opacity:.55;cursor:not-allowed}@media (width<=767px){.saki-sidebar{z-index:30;transition:transform var(--saki-transition-base) ease;box-shadow:none;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.saki-sidebar.is-open{transform:translate(0);box-shadow:4px 0 24px #0009}.saki-mobile-header{align-items:center;gap:var(--saki-space-4);min-height:44px;padding:var(--saki-space-3) var(--saki-space-5);background:var(--saki-bg-sidebar);border-bottom:1px solid var(--saki-border);color:inherit;flex-shrink:0;text-decoration:none;display:flex}.saki-mobile-header:focus-visible,.saki-mobile-header:hover{color:var(--saki-text-strong)}.saki-mobile-title{min-width:0;font-weight:var(--saki-fw-bold);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.saki-messages{padding:var(--saki-space-3) var(--saki-space-3) var(--saki-space-5)}.saki-message{padding-left:0;padding-right:0}.saki-message.is-assistant{gap:0}.saki-message.is-assistant>.saki-saki-icon{display:none}.saki-message.is-assistant .saki-bubble,.saki-message.is-assistant .saki-msg-bubble-wrap{width:100%}.saki-bubble{padding:var(--saki-space-3) var(--saki-space-4)}.saki-bubble ol,.saki-bubble ul{padding-inline-start:1.35em}.saki-msg-user-wrap{max-width:85%}.saki-composer{margin:0 var(--saki-space-3) calc(var(--saki-space-3) + env(safe-area-inset-bottom,0px));padding:var(--saki-space-3);gap:var(--saki-space-3)}.saki-textarea{min-height:56px}.saki-scroll-to-bottom{bottom:16px;right:16px}.saki-empty-state{padding:32px 20px}.saki-empty-state h2{font-size:var(--saki-fs-lg);text-align:center}}.saki-pwa-update-banner{z-index:10000;justify-content:space-between;align-items:center;gap:var(--saki-space-3);padding:var(--saki-space-3) var(--saki-space-5);background:var(--saki-accent-bg);border-bottom:1px solid var(--saki-accent-bd);color:var(--saki-accent-text);box-shadow:var(--saki-shadow-float);flex-wrap:wrap;display:flex;position:fixed;top:0;left:0;right:0}.saki-pwa-update-text{font-size:var(--saki-fs-sm);line-height:var(--saki-lh-relaxed);flex:12rem;margin:0}.saki-pwa-update-actions{gap:var(--saki-space-2);flex-shrink:0;display:flex}.saki-pwa-update-btn{padding:var(--saki-space-2) var(--saki-space-4);font-size:var(--saki-fs-sm)}@media (width<=767px){.saki-pwa-update-banner{padding:var(--saki-space-3) var(--saki-space-4)}.saki-pwa-update-actions{justify-content:flex-end;width:100%}}.overlay-fade-enter-active,.overlay-fade-leave-active{transition:opacity .2s}.overlay-fade-enter-from,.overlay-fade-leave-to{opacity:0}.completion-fade-enter-active,.completion-fade-leave-active{transition:opacity .25s,transform .25s}.completion-fade-enter-from,.completion-fade-leave-to{opacity:0;transform:translateY(8px)}.scroll-fade-enter-active,.scroll-fade-leave-active{transition:opacity .18s,transform .18s}.scroll-fade-enter-from,.scroll-fade-leave-to{opacity:0;transform:translateY(6px)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{color:#e0e0e0;background:#0d0d0d;height:100%}
