:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#18201e;font-synthesis:none;text-rendering:optimizelegibility;--canvas:#f4f6f1;--surface:#fff;--surface-muted:#eef1ec;--surface-strong:#e1e7df;--ink:#18201e;--ink-muted:#66716d;--line:#d7ddd6;--line-strong:#bec8bf;--green:#176b5c;--green-dark:#104c42;--green-soft:#dceee8;--coral:#bd6248;--coral-soft:#f5e4de;--blue:#2d6d91;--blue-soft:#e0edf4;--warning:#9b6a15;--warning-soft:#f5ecd4;--danger:#a54139;--danger-soft:#f6e2df;--shadow:0 18px 48px #1f2e2924;--topbar-height:60px;background:#edf0eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:var(--canvas);min-width:280px;overflow:hidden}button,input,textarea,select{font:inherit;letter-spacing:0}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 35%, transparent);outline-offset:2px}button{color:inherit}.icon-command,.text-command{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .14s,border-color .14s,color .14s,opacity .14s}.icon-command{border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex}.icon-command svg{stroke-width:2px;width:19px;height:19px}.text-command{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-weight:700;display:inline-flex}.text-command svg{width:18px;height:18px}.icon-command:hover,.text-command:hover{border-color:var(--line-strong);background:var(--surface-muted)}.icon-command.primary,.text-command.primary{border-color:var(--green-dark);background:var(--green);color:#fff}.icon-command.primary:hover,.text-command.primary:hover{background:var(--green-dark)}button:disabled,input:disabled,textarea:disabled,select:disabled{opacity:.48;cursor:default}.auth-screen{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom));background:linear-gradient(180deg, #ffffff8c, transparent 42%), var(--canvas);grid-template-rows:minmax(0,1fr) auto;align-items:end;display:grid}.auth-brand{align-self:center;align-items:center;gap:16px;width:min(100%,420px);margin:0 auto;display:flex}.auth-mark{border-radius:14px;width:72px;height:72px;box-shadow:0 18px 40px #173f3833}.auth-brand h1{letter-spacing:0;margin:2px 0 0;font-size:2.6rem;line-height:1}.auth-eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:0;font-size:.76rem;font-weight:800}.auth-panel{border:1px solid var(--line);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow);border-radius:8px;margin:0 auto;padding:18px}.auth-panel-heading{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;margin-bottom:22px;display:grid}.auth-panel-heading>svg{width:22px;color:var(--green)}.auth-panel-heading h2,.auth-panel-heading p{margin:0}.auth-panel-heading h2{font-size:1rem}.auth-panel-heading p{color:var(--ink-muted);margin-top:4px;font-size:.84rem;line-height:1.4}.field-label{color:var(--ink-muted);margin-bottom:7px;font-size:.76rem;font-weight:750;display:block}.auth-input-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.auth-input-row input,.form-field input,.form-field select{border:1px solid var(--line-strong);width:100%;min-width:0;height:44px;color:var(--ink);background:#fbfcfa;border-radius:8px;padding:0 12px}.form-error{color:var(--danger);margin:10px 0 0;font-size:.8rem;line-height:1.4}.app-shell{background:var(--canvas);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.main-shell{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.topbar{min-width:0;min-height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#fafbf8f0;align-items:center;gap:9px;display:flex}.topbar-title{flex:auto;gap:2px;min-width:0;display:grid}.topbar-title strong,.topbar-title span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar-title strong{font-size:.92rem}.topbar-title span{color:var(--ink-muted);font-size:.68rem}.topbar-status{flex:none;align-items:center;gap:6px;display:flex}.runtime-state{border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;display:inline-flex}.runtime-state svg{width:15px;height:15px}.runtime-state.healthy{color:var(--green);background:var(--green-soft)}.runtime-state.warning{color:var(--warning);background:var(--warning-soft)}.active-run-count{min-width:25px;height:25px;color:var(--blue);background:var(--blue-soft);border-radius:7px;justify-content:center;align-items:center;padding:0 6px;font-size:.72rem;font-weight:800;display:inline-flex}.stream-indicator{background:var(--danger);z-index:150;border-radius:50%;width:5px;height:5px;position:fixed;bottom:4px;right:4px}.stream-indicator.connected{background:var(--green)}.drawer-backdrop,.activity-backdrop,.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#131c1961;border:0;transition:opacity .18s;position:fixed;inset:0}.drawer-backdrop,.activity-backdrop{z-index:50}.drawer-backdrop.open,.activity-backdrop.open{opacity:1;pointer-events:auto}.session-rail,.activity-panel{background:var(--surface);z-index:60;width:min(88vw,350px);min-width:0;min-height:0;box-shadow:var(--shadow);transition:transform .18s;display:grid;position:fixed;top:0;bottom:0}.session-rail{padding-top:env(safe-area-inset-top);border-right:1px solid var(--line);grid-template-rows:auto auto minmax(0,1fr) auto;left:0;transform:translate(-105%)}.session-rail.open{transform:translate(0)}.rail-brand{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:10px 12px;display:flex}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-lockup img{border-radius:8px;width:38px;height:38px}.brand-lockup>div{gap:1px;min-width:0;display:grid}.brand-lockup strong{font-size:1rem}.brand-lockup span{color:var(--ink-muted);font-size:.7rem}.rail-tools{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px;display:grid}.search-field{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;align-items:center;gap:8px;min-width:0;height:42px;padding:0 10px;display:flex}.search-field svg{width:17px;height:17px;color:var(--ink-muted);flex:none}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.session-list{overscroll-behavior:contain;min-height:0;overflow-y:auto}.session-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;display:grid;position:relative}.session-row.active{background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green)}.session-main{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:72px;padding:10px 6px 10px 13px;display:grid}.status-dot{background:#9ba49f;border-radius:50%;width:8px;height:8px}.status-dot.queued,.status-dot.running,.status-dot.cancelling{background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.status-dot.failed{background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}.session-copy{gap:5px;min-width:0;display:grid}.session-copy strong,.session-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.session-copy strong{font-size:.83rem}.session-copy small{color:var(--ink-muted);font-size:.7rem}.session-count{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.68rem}.session-delete{width:34px;height:34px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-self:center;align-items:center;padding:0;display:inline-flex}.session-delete svg{width:15px;height:15px}.rail-empty,.activity-empty{color:var(--ink-muted);text-align:center;padding:32px 18px;font-size:.82rem}.rail-footer{min-height:50px;padding:8px 13px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--ink-muted);justify-content:space-between;align-items:center;gap:10px;font-size:.7rem;display:flex}.chat-view{grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.empty-chat-view{place-items:center;display:grid}.empty-chat-copy,.conversation-empty{color:var(--ink-muted);justify-items:center;gap:8px;display:grid}.empty-chat-copy img,.conversation-empty img,.first-session img{border-radius:12px;width:54px;height:54px}.conversation-empty{padding:18vh 0 80px}.conversation-empty strong{color:var(--ink)}.conversation-empty span{font-size:.76rem}.message-scroller{overscroll-behavior-y:contain;scrollbar-gutter:stable;min-width:0;min-height:0;overflow-y:auto}.message-column{width:min(100%,880px);min-height:100%;margin:0 auto;padding:14px 12px 30px}.message{min-width:0;margin-bottom:6px;position:relative}.message.assistant{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(0,1fr);gap:9px;padding:14px 0 18px;display:grid}.message.user{color:#fff;background:#20312d;border-radius:8px 8px 2px;width:fit-content;max-width:min(88%,680px);margin:16px 0 16px auto;padding:11px 13px}.message.user .message-identity{display:none}.message-identity img{border-radius:7px;width:28px;height:28px;display:block}.message-content{min-width:0}.message-meta{align-items:center;gap:7px;min-width:0;min-height:24px;margin-bottom:6px;font-size:.7rem;display:flex}.message-meta time{color:var(--ink-muted);font-variant-numeric:tabular-nums}.message.user .message-meta{display:none}.message-copy{width:28px;height:28px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.message-copy svg{width:14px;height:14px}.markdown-body{overflow-wrap:anywhere;min-width:0;font-size:.91rem;line-height:1.58}.message.user .markdown-body{font-size:.88rem}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body pre,.markdown-body table{margin:0 0 .85em}.markdown-body h1,.markdown-body h2,.markdown-body h3{letter-spacing:0;margin:1.05em 0 .5em;line-height:1.25}.markdown-body h1{font-size:1.18rem}.markdown-body h2{font-size:1.05rem}.markdown-body h3{font-size:.96rem}.markdown-body code{background:var(--surface-strong);border-radius:4px;padding:.12em .32em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86em}.message.user .markdown-body code{background:#ffffff24}.markdown-body pre{border:1px solid var(--line);background:#e9ede8;border-radius:8px;max-width:100%;padding:12px;overflow:auto}.markdown-body pre code{white-space:pre;overflow-wrap:normal;background:0 0;padding:0}.markdown-body blockquote{border-left:3px solid var(--coral);color:var(--ink-muted);padding-left:10px}.markdown-body a{color:var(--blue);text-underline-offset:2px}.markdown-body table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--line-strong);text-align:left;padding:7px 8px}.response-pulse{align-items:center;gap:4px;min-height:20px;margin-top:4px;display:inline-flex}.response-pulse i{background:var(--green);border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite response-pulse}.response-pulse i:nth-child(2){animation-delay:.14s}.response-pulse i:nth-child(3){animation-delay:.28s}.composer-zone{padding:8px 10px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f6f1f5}.composer{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;width:min(100%,880px);margin:0 auto;padding:6px;display:grid;box-shadow:0 8px 24px #1f2e2914}.composer textarea{resize:none;width:100%;min-width:0;min-height:48px;max-height:140px;color:var(--ink);background:0 0;border:0;outline:0;padding:13px 10px;line-height:1.4;overflow-y:auto}.composer-action{color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.composer-action svg{width:19px;height:19px}.composer-action.send{background:var(--green)}.composer-action.stop{background:var(--coral)}.composer-meta{width:min(100%,880px);min-width:0;min-height:18px;color:var(--ink-muted);justify-content:space-between;align-items:center;gap:12px;margin:3px auto 0;font-size:.62rem;display:flex}.composer-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.composer-meta span:last-child{text-align:right}.first-session{place-content:center;justify-items:center;gap:10px;padding:20px;display:grid}.first-session h1{margin:2px 0 12px;font-size:1.5rem}.activity-panel{padding-top:env(safe-area-inset-top);border-left:1px solid var(--line);z-index:70;grid-template-rows:auto auto minmax(0,1fr);right:0;transform:translate(105%)}.activity-panel.open{transform:translate(0)}.activity-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:66px;padding:10px 12px;display:flex}.activity-heading>div{align-items:center;gap:9px;display:flex}.activity-heading h2{margin:0;font-size:.94rem}.activity-heading svg{width:18px;color:var(--blue)}.run-summary-list{border-bottom:1px solid var(--line);display:grid}.run-summary{border-bottom:1px solid var(--line);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:8px 12px;display:grid}.run-summary:last-child{border-bottom:0}.run-summary>svg{width:18px;height:18px;color:var(--blue)}.run-summary>svg.success{color:var(--green)}.run-summary>svg.danger{color:var(--danger)}.run-summary>span{gap:3px;min-width:0;display:grid}.run-summary strong{font-size:.78rem}.run-summary small{color:var(--ink-muted);font-size:.66rem}.event-list{min-height:0;overflow-y:auto}.event-row{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr);gap:7px;min-width:0;padding:11px 12px;display:grid}.event-marker{background:var(--surface-muted);width:25px;height:25px;color:var(--ink-muted);border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.event-marker svg{width:14px;height:14px}.event-row>div{gap:3px;min-width:0;display:grid}.event-row strong{font-size:.75rem}.event-row small{color:var(--ink-muted);font-size:.64rem}.event-row code{background:var(--surface-muted);overflow-wrap:anywhere;border-radius:4px;min-width:0;max-height:4.2em;margin-top:3px;padding:5px 6px;font-size:.65rem;line-height:1.35;overflow:hidden}.dialog-layer{z-index:100;position:fixed;inset:0}.dialog-backdrop{opacity:1;pointer-events:auto}.create-dialog{left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));max-height:calc(100dvh - 20px - env(safe-area-inset-top));border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);z-index:101;border-radius:8px;grid-template-rows:auto minmax(0,1fr);display:grid;position:absolute;overflow:hidden}.create-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:8px 10px 8px 14px;display:flex}.create-dialog h2{margin:0;font-size:.96rem}.create-dialog form{min-height:0;padding:14px;overflow-y:auto}.form-field{gap:6px;margin-bottom:14px;display:grid}.form-field>span{color:var(--ink-muted);font-size:.74rem;font-weight:750}.form-field small{color:var(--ink-muted);font-size:.68rem;line-height:1.4}.create-dialog footer{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.notice{left:12px;right:12px;top:max(12px, env(safe-area-inset-top));z-index:120;border:1px solid color-mix(in srgb, var(--danger) 30%, var(--line));background:var(--danger-soft);width:min(460px,100vw - 24px);color:var(--danger);box-shadow:var(--shadow);border-radius:8px;margin:0 auto;padding:12px 14px;font-size:.8rem;position:fixed}.spin{animation:1.2s linear infinite spin}@keyframes response-pulse{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=680px){.message-column{padding:20px 24px 36px}.composer-zone{padding-left:24px;padding-right:24px}.create-dialog{width:min(520px,100vw - 32px);inset:50% auto auto 50%;transform:translate(-50%,-50%)}.auth-screen{grid-template-rows:auto;grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:center;gap:50px;padding:40px}.auth-brand,.auth-panel{margin:0}.auth-brand{justify-self:end}}@media (width>=900px){.app-shell{grid-template-columns:292px minmax(0,1fr)}.session-rail{z-index:1;width:auto;box-shadow:none;position:relative;transform:none}.drawer-backdrop,.rail-close,.mobile-session-toggle{display:none}.topbar{padding-left:18px;padding-right:18px}.message.assistant{grid-template-columns:34px minmax(0,1fr);gap:12px}.message-identity img{width:32px;height:32px}}@media (width>=1280px){.app-shell{grid-template-columns:292px minmax(0,1fr) 320px}.activity-panel{z-index:1;width:auto;box-shadow:none;position:relative;transform:none}.activity-backdrop,.activity-close,.activity-command{display:none}}@media (width<=350px){.topbar{gap:5px;padding-left:6px;padding-right:6px}.topbar-status{gap:3px}.runtime-state{display:none}.icon-command{width:40px;height:40px}.message-column{padding-left:8px;padding-right:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
