:root{color-scheme:light;font-family:Segoe UI Variable Text,Segoe UI,Arial,sans-serif;color:#1a1b19;background:#f4f4f1;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f4f4f1;--workspace: rgba(250, 250, 248, .78);--glass: rgba(250, 250, 248, .78);--sidebar: rgba(237, 238, 234, .78);--panel: #ffffff;--panel-soft: #f0f0ed;--panel-raised: #f8f8f6;--input: rgba(255, 255, 255, .84);--user-message: #eeefec;--ink: #1a1b19;--muted: #666963;--subtle: #858981;--line: rgba(30, 32, 28, .11);--line-strong: rgba(30, 32, 28, .18);--hover: rgba(30, 32, 28, .055);--accent: #222421;--accent-hover: #090a09;--accent-contrast: #ffffff;--assistant-rule: #777b74;--success: #30785b;--danger: #ae443e;--danger-soft: #fff0ee;--warning: #8a641f;--code-background: #181a18;--code-foreground: #e9ebe7;--focus-ring: rgba(34, 36, 33, .16);--shadow-soft: 0 10px 30px rgba(25, 27, 24, .09);--shadow-raised: 0 18px 58px rgba(25, 27, 24, .12);--scrim: rgba(17, 18, 16, .42);--scrollbar: rgba(70, 74, 68, .28)}:root[data-theme=dark]{color-scheme:dark;color:#f0f1ee;background:#0d0f0e;--canvas: linear-gradient(135deg, #0b0d0c 0%, #151815 48%, #0c0e0d 100%);--workspace: linear-gradient(145deg, rgba(20, 22, 20, .82), rgba(8, 10, 9, .72));--glass: linear-gradient(135deg, rgba(36, 39, 35, .76), rgba(17, 19, 17, .88));--sidebar: linear-gradient(160deg, rgba(23, 26, 23, .82), rgba(12, 14, 13, .9));--panel: #171917;--panel-soft: #20231f;--panel-raised: #1b1e1b;--input: rgba(31, 34, 30, .9);--user-message: #20231f;--ink: #f0f1ee;--muted: #a6aaa2;--subtle: #7f847c;--line: rgba(239, 242, 236, .1);--line-strong: rgba(239, 242, 236, .17);--hover: rgba(239, 242, 236, .06);--accent: #e8ebe5;--accent-hover: #ffffff;--accent-contrast: #101210;--assistant-rule: #7f847c;--success: #58b58a;--danger: #e07972;--danger-soft: #2b1d1b;--warning: #d0a45f;--code-background: #090b0a;--code-foreground: #e5e8e3;--focus-ring: rgba(232, 235, 229, .17);--shadow-soft: 0 14px 36px rgba(0, 0, 0, .32);--shadow-raised: 0 22px 70px rgba(0, 0, 0, .36);--scrim: rgba(0, 0, 0, .64);--scrollbar: rgba(219, 224, 216, .24)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:var(--canvas);scrollbar-color:var(--scrollbar) transparent}body{min-width:320px;color:var(--ink);background:var(--canvas)}button,input,textarea,select{font:inherit;letter-spacing:0}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}::selection{color:var(--accent-contrast);background:var(--accent)}.app-shell{display:grid;grid-template:60px minmax(0,1fr) / 286px minmax(0,1fr);width:100%;min-height:100vh;height:100dvh;overflow:hidden;background:var(--workspace)}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:0 18px;color:var(--ink);background:var(--glass);box-shadow:0 8px 24px #191b180d;-webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%);min-width:0}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:0}.brand h1{margin:0;font-size:22px}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent);border-radius:8px}.compact-brand{width:250px;flex:0 0 250px}.topbar-context{flex:1;min-width:0}.presence{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.presence.online{color:var(--success)}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;color:inherit;background:transparent;border:1px solid transparent;border-radius:8px}.icon-button:hover{background:var(--hover);border-color:var(--line)}.icon-button:active{transform:scale(.94)}.icon-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.send-button:focus-visible,.stop-button:focus-visible,.thread-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary-icon{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.primary-icon:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.theme-toggle{flex:0 0 auto}.sidebar{grid-row:2;display:flex;flex-direction:column;min-height:0;background:var(--sidebar);box-shadow:8px 0 26px #191b1809;-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:0 14px 0 18px;box-shadow:0 8px 20px #191b1809}.sidebar-actions{display:flex;align-items:center;gap:2px}.section-label{color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase}.thread-list{flex:1;overflow:auto;padding:10px}.thread-row{position:relative;display:flex;align-items:center;width:100%;min-height:58px;gap:8px;padding:11px 12px;text-align:left;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:8px}.thread-row:hover{background:var(--hover)}.thread-row.selected{background:var(--glass);border-color:transparent;box-shadow:var(--shadow-soft)}.thread-row.selected:before{position:absolute;inset:9px auto 9px -1px;width:2px;content:"";background:var(--assistant-rule);border-radius:0 2px 2px 0}.thread-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.thread-title,.thread-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-title{font-size:14px;font-weight:700}.thread-meta{color:var(--muted);font-size:12px}.device-section{padding:16px 14px 20px;background:var(--panel-soft);box-shadow:0 -10px 24px #191b1809}.device-section>.section-label{display:block;padding:0 4px 10px}.device-row{display:grid;grid-template-columns:20px minmax(0,1fr) 10px;align-items:center;gap:8px;padding:8px 4px;font-size:13px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--subtle)}.status-dot.online{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 13%,transparent)}.presence.online>svg{animation:presence-fade .4s ease-out}.sidebar-empty{padding:14px 10px;color:var(--subtle);font-size:13px}.workspace-view{grid-row:2;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;min-height:0;background:var(--workspace)}.thread-header{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding:16px 30px;background:var(--glass);box-shadow:0 10px 28px #191b180e;-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%)}.thread-header h1{margin:0 0 7px;font-size:19px;line-height:1.25}.workspace-path{display:flex;align-items:center;gap:6px;max-width:min(68vw,760px);overflow:hidden;color:var(--muted);font-family:Cascadia Code,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.thread-options{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.model-label{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;min-height:32px;padding:0 10px;color:var(--muted);background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;font-size:12px}.event-stream{grid-row:3;overflow:auto;padding:30px max(26px,calc((100% - 920px)/2));scrollbar-gutter:stable}.message{width:min(100%,780px);margin:0 0 24px}.message.user{margin-left:auto;padding:16px 18px;background:var(--user-message);border:1px solid transparent;border-radius:8px;box-shadow:var(--shadow-soft)}.message.assistant{margin-right:auto;padding:2px 0 2px 18px;border-left:2px solid var(--assistant-rule)}.message-role{display:block;margin-bottom:8px;color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase}.message p{margin:0;line-height:1.62;white-space:pre-wrap;overflow-wrap:anywhere}.markdown-content{min-width:0;line-height:1.62;overflow-wrap:anywhere}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:0 0 .8em;white-space:normal}.markdown-content ul,.markdown-content ol{margin:.45em 0 .8em;padding-left:1.4em}.markdown-content li+li{margin-top:.25em}.markdown-content code{padding:1px 4px;background:var(--panel-soft);border-radius:4px;font:.9em Cascadia Code,Consolas,monospace}.markdown-content pre{max-width:100%;margin:.7em 0;padding:12px;overflow:auto;color:var(--code-foreground);background:var(--code-background);border:1px solid var(--line);border-radius:6px}.markdown-content pre code{padding:0;color:inherit;background:transparent}.markdown-content a{color:var(--ink);text-decoration-color:var(--subtle);text-underline-offset:3px}.markdown-image-label{color:var(--subtle);font-style:italic}.timeline-dot{width:6px;height:6px;flex:0 0 auto;background:var(--subtle);border-radius:50%}.turn-process{width:min(100%,780px);margin:-8px 0 24px;color:var(--muted);border:0;border-bottom:1px solid var(--line-strong)}.turn-process>summary{display:flex;align-items:center;min-height:42px;gap:8px;padding:8px 2px;cursor:pointer;list-style:none;font-size:12px}.turn-process summary::-webkit-details-marker,.process-action summary::-webkit-details-marker{display:none}.turn-process>summary:hover,.process-action>summary:hover{color:var(--ink)}.turn-process>summary:focus-visible,.process-action>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.event-chevron{flex:0 0 auto;transition:transform .14s ease-out}.turn-process[open]>summary>.event-chevron,.process-action[open]>summary>.event-chevron{transform:rotate(90deg)}.process-title{color:var(--muted);font-weight:650}.process-failures{margin-left:auto;color:var(--danger);font-size:11px}.turn-process.failed{border-bottom-color:color-mix(in srgb,var(--danger) 52%,transparent)}.turn-process.failed .process-title{color:var(--danger)}.process-body{padding:2px 0 12px 22px;border-top:0}.process-reasoning{display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px;padding:13px 0;color:var(--ink)}.process-reasoning>svg{margin-top:5px;color:var(--muted)}.process-reasoning .markdown-content{font-size:13px}.process-action{color:var(--muted);border:0;border-radius:6px}.process-action+.process-action{margin-top:3px}.process-action[open]{background:var(--panel-soft);box-shadow:0 5px 16px #191b180b}.process-action>summary{display:flex;align-items:center;min-height:38px;gap:8px;padding:7px 2px;cursor:pointer;list-style:none;font-size:12px}.process-action-title{color:var(--ink);font-weight:700}.process-action-meta{margin-left:auto;color:var(--subtle);font-size:11px}.activity-kind-icon{display:inline-grid;place-items:center;flex:0 0 auto;color:var(--muted)}.process-action.running .activity-kind-icon,.activity-status.running{color:var(--success)}.process-action.failed .activity-kind-icon,.process-action.failed .process-action-title,.activity-status.failed{color:var(--danger)}.activity-heading{display:flex;flex:1;align-items:center;min-width:0;gap:8px}.activity-preview{min-width:0;overflow:hidden;color:var(--subtle);font-family:Cascadia Code,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.activity-status{flex:0 0 auto}.activity-body{padding:11px 8px 13px 22px;background:var(--panel-soft);border:0;border-radius:0 0 6px 6px}.activity-section+.activity-section{margin-top:11px}.activity-section-label{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.activity-code{max-height:280px;margin:0;padding:11px;overflow:auto;color:var(--code-foreground);background:var(--code-background);border:1px solid var(--line);border-radius:6px;font:11px/1.5 Cascadia Code,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.activity-footer{margin-top:9px;color:var(--muted);font:11px Cascadia Code,Consolas,monospace}.diagnostic-log{max-height:260px;margin:0 0 10px 22px;padding:11px;overflow:auto;color:var(--code-foreground);background:var(--code-background);border:1px solid var(--line);border-radius:6px;font:11px/1.5 Cascadia Code,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.process-notice{display:flex;align-items:center;gap:9px;padding:9px 0;color:var(--subtle);font-size:12px}.process-notice.failed{color:var(--danger)}.process-notice.failed .timeline-dot{background:var(--danger)}.stream-empty{display:grid;place-items:center;align-content:center;min-height:100%;gap:12px;color:var(--subtle)}.composer{grid-row:4;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:9px;width:min(calc(100% - 44px),920px);margin:12px auto max(18px,env(safe-area-inset-bottom));padding:9px;background:var(--glass);border:1px solid transparent;border-radius:8px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%)}.composer textarea{width:100%;min-height:44px;max-height:180px;padding:10px;resize:vertical;color:var(--ink);background:transparent;border:0;outline:0;line-height:1.45}.composer textarea::placeholder{color:var(--subtle)}.send-button,.stop-button{display:grid;place-items:center;width:42px;height:42px;padding:0;color:var(--accent-contrast);background:var(--accent);border:0;border-radius:8px}.send-button:hover{background:var(--accent-hover)}.stop-button{background:var(--danger)}.error-banner{grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 24px 0;padding:9px 10px 9px 14px;color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);border-radius:8px;font-size:13px}.empty-state,.center-screen{display:grid;place-items:center;align-content:center;min-height:100vh;gap:14px;color:var(--subtle);background:var(--canvas)}.empty-state{grid-row:1 / -1;min-height:auto}.empty-state h1{margin:0;color:var(--ink);font-size:18px}.loading-line{width:84px;height:3px;background:var(--accent);animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.2;transform:scaleX(.45)}to{opacity:1;transform:scaleX(1)}}.login-screen{position:relative;display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--canvas)}.login-theme-toggle{position:fixed;z-index:2;top:18px;right:18px}.login-panel{width:min(100%,380px);padding:30px;background:var(--glass);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%)}.login-brand{margin-bottom:28px}.login-brand .brand-mark{color:var(--accent-contrast);border-color:var(--accent)}label{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:700}input,select{width:100%;height:42px;padding:0 11px;color:var(--ink);background:var(--input);border:1px solid var(--line-strong);border-radius:8px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.form-error{margin:9px 0 0;color:var(--danger);font-size:12px}.primary-button,.secondary-button{min-height:40px;padding:0 16px;border-radius:8px;font-weight:700}.primary-button{color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent)}.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.login-panel .primary-button{width:100%;margin-top:18px}.secondary-button{color:var(--ink);background:var(--panel-soft);border:1px solid var(--line-strong)}.secondary-button:hover{background:var(--hover)}.inline-button{display:inline-flex;align-items:center;gap:7px}.dialog-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog{width:min(100%,470px);padding:22px;background:var(--glass);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(20px) saturate(110%);backdrop-filter:blur(20px) saturate(110%)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog h2{margin:0;font-size:18px}.dialog input,.dialog select{margin-bottom:15px}.field-hint{margin:-8px 0 15px;color:var(--muted);font-size:11px;line-height:1.4}.optional{color:var(--subtle);font-weight:400}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}.mobile-only,.sidebar-scrim{display:none}@media(max-width:760px){.app-shell{grid-template:56px minmax(0,1fr) / minmax(0,1fr)}.topbar{grid-column:1;padding:0 10px;gap:9px}.compact-brand{width:auto;flex:0 0 auto}.compact-brand>span:last-child{display:none}.topbar-context{overflow:hidden}.presence{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-only{display:inline-grid}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:min(86vw,320px);transform:translate(-105%);transition:transform .18s ease-out;box-shadow:var(--shadow-raised)}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;z-index:25;inset:0;padding:0;background:var(--scrim);border:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.workspace-view{grid-row:2;min-height:0}.thread-header{min-height:0;padding:13px 14px;gap:10px;flex-direction:column;align-items:flex-start}.thread-header h1{font-size:16px}.workspace-path{max-width:calc(100vw - 28px)}.thread-options{width:100%;max-width:100%;justify-content:flex-start;gap:6px;overflow-x:auto}.model-label{max-width:64vw;min-height:28px;padding:0 8px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.event-stream{padding:20px 12px;scrollbar-gutter:auto}.message{margin-bottom:18px}.message.user{padding:14px}.message.assistant,.process-body,.activity-body{padding-left:14px}.diagnostic-log{margin-left:14px}.diagnostic-log,.activity-code{max-height:240px}.composer{width:calc(100% - 20px);margin:8px 10px max(10px,env(safe-area-inset-bottom))}.error-banner{margin:8px 10px 0}.dialog-backdrop{align-items:end;padding:0}.dialog{width:100%;max-height:92vh;overflow:auto;border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:no-preference){body,.app-shell,.topbar,.sidebar,.workspace-view,.thread-header,.composer,.login-screen,.login-panel,.dialog,.message.user,.model-label,input,select{transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.icon-button,.primary-button,.secondary-button,.send-button,.stop-button,.thread-row{transition:color .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .18s ease,transform .14s cubic-bezier(.2,.7,.3,1.2)}.primary-button:hover,.send-button:hover{transform:translateY(-1px);box-shadow:0 6px 18px #191b1829}.primary-button:active,.secondary-button:active,.send-button:active,.stop-button:active{transform:translateY(0) scale(.97);box-shadow:none}.thread-row:active{transform:scale(.985)}.message,.turn-process{animation:rise-in .32s cubic-bezier(.16,1,.3,1) both}.process-notice,.process-reasoning{animation:fade-in .28s ease-out both}.process-body,.activity-body,.diagnostic-log{animation:unfold .22s cubic-bezier(.16,1,.3,1)}.event-chevron{transition:transform .18s cubic-bezier(.2,.8,.3,1.1)}.process-action{transition:background-color .18s ease,box-shadow .18s ease}.process-action.running>summary>.activity-kind-icon,.activity-status.running{animation:breathe 1.6s ease-in-out infinite}.turn-process:not(.completed):not(.failed):not(.cancelled)>summary>.process-title{animation:breathe 1.8s ease-in-out infinite}.status-dot.online{animation:dot-pulse 2.4s ease-out infinite}.dialog-backdrop{animation:fade-in .18s ease-out}.dialog{animation:dialog-in .26s cubic-bezier(.16,1,.3,1)}.sidebar-scrim{animation:fade-in .18s ease-out}.error-banner{animation:banner-in .26s cubic-bezier(.16,1,.3,1)}.login-panel{animation:rise-in .4s cubic-bezier(.16,1,.3,1) both}.stream-empty{animation:fade-in .5s ease-out both}.composer:focus-within{border-color:var(--line-strong);box-shadow:var(--shadow-raised)}.event-stream{scroll-behavior:smooth}.sidebar{transition-timing-function:cubic-bezier(.2,.9,.25,1)}.theme-toggle>svg{animation:theme-spin .32s ease-out}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes unfold{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes banner-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.45}}@keyframes dot-pulse{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}70%{box-shadow:0 0 0 7px color-mix(in srgb,var(--success) 0%,transparent)}to{box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 0%,transparent)}}@keyframes theme-spin{0%{opacity:0;transform:rotate(-70deg) scale(.7)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes presence-fade{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
