:root{--sans:"Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SF Mono", ui-monospace, "JetBrains Mono", Menlo, Monaco, Consolas, monospace;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-none:1;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.6;--radius-xs:4px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-full:999px;--space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--duration-fast:.12s;--duration-normal:.2s;--duration-moderate:.3s;--duration-slow:.4s;--duration-slower:.55s;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--accent:#5b5bd6;--accent-hover:#4f51c9;--accent-soft:#f4f4fb;--accent-soft-border:#e2e2f6;--accent-soft-text:#4338ca;--primary:#16a34a;--primary-hover:#15803d;--primary-muted:#86efac;--primary-soft:#f0fdf4;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--warn:#b45309;--warn-bg:#fffbeb;--warn-border:#fde68a;--page-bg:#fafafa;--panel-bg:#fff;--panel-bg-elevated:#fff;--panel-bg-solid:#fff;--surface-muted:#f4f4f5;--surface-muted-border:#e4e4e7;--subtle-bg:#fafafa;--field-bg:#fff;--field-bg-inset:#f4f4f5;--border:#e4e4e7;--border-strong:#d4d4d8;--border-subtle:#ececef;--text:#18181b;--text-muted:#52525b;--text-soft:#71717a;--text-secondary:#3f3f46;--on-primary:#fff;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f, 0 1px 3px #0000000a;--shadow-panel:0 1px 3px #0000000a;--shadow-strong:0 4px 16px #00000014, 0 1px 3px #0000000a;--shadow-elevated:0 12px 40px #0000001f, 0 2px 8px #0000000f;--shadow-accent-sm:0 1px 2px #0000000f;--shadow-accent:0 1px 3px #00000014;--shadow-primary-sm:0 1px 2px #0000000f;--shadow-primary:0 1px 3px #00000014;--glow-accent:0 0 0 2px #5b5bd659;--glow-primary:0 0 0 2px #16a34a4d;--glow-danger:0 0 0 2px #dc26264d;--glow-warn:0 0 0 2px #b453094d;--gradient-accent:var(--accent);--gradient-primary:var(--primary);--gradient-brand:var(--accent);--gradient-danger:var(--danger);--gradient-surface:#fff;--gradient-page:none;--status-bg:#f4f4f5;--status-ok-bg:#f0fdf4;--status-ok-border:#16a34a33;--status-ok-text:#15803d;--status-text:#52525b;--button-bg:#f4f4f5;--button-bg-hover:#e4e4e7;--focus-ring:#5b5bd666;--tap-color:#f59e0b;--tap-long-press:#f43f5e;--tap-double:var(--accent);--swipe-color:#f59e0b;--phone-shell:#1a1a1a;--phone-screen:#0a0a0a;--overlay:#0000008c;--modal-text:#fafafa;--grid-line:#0000000a;--chrome-bg:#fff;--ease-productive:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo:cubic-bezier(.19, 1, .22, 1);--ease-snap:cubic-bezier(.2, 0, 0, 1);color:var(--text);background:var(--page-bg);background-image:var(--gradient-page);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:15px/1.5 var(--sans);font-synthesis:none;letter-spacing:-.011em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed}:root[data-theme=dark],:root[data-system-theme=dark]{--accent:#818cf8;--accent-hover:#a5b4fc;--accent-soft:#818cf81a;--accent-soft-border:#818cf840;--accent-soft-text:#a5b4fc;--primary:#4ade80;--primary-hover:#86efac;--primary-muted:#22c55e;--primary-soft:#4ade801a;--danger:#f87171;--danger-bg:#f871711a;--danger-border:#f8717140;--warn:#fbbf24;--warn-bg:#fbbf241a;--warn-border:#fbbf2440;--page-bg:#0a0a0a;--panel-bg:#111;--panel-bg-elevated:#161616;--panel-bg-solid:#161616;--surface-muted:#1a1a1a;--surface-muted-border:#262626;--subtle-bg:#161616;--field-bg:#161616;--field-bg-inset:#0f0f0f;--border:#262626;--border-strong:#333;--border-subtle:#1f1f1f;--text:#fafafa;--text-muted:#a1a1aa;--text-soft:#71717a;--text-secondary:#d4d4d8;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 2px 8px #0006, 0 1px 3px #0000004d;--shadow-panel:0 1px 3px #0000004d;--shadow-strong:0 4px 16px #00000080, 0 1px 3px #0000004d;--shadow-elevated:0 12px 40px #0009, 0 2px 8px #0006;--shadow-accent-sm:0 1px 2px #0006;--shadow-accent:0 1px 3px #00000080;--shadow-primary-sm:0 1px 2px #0006;--shadow-primary:0 1px 3px #00000080;--glow-accent:0 0 0 2px #818cf873;--glow-primary:0 0 0 2px #4ade8066;--glow-danger:0 0 0 2px #f8717166;--glow-warn:0 0 0 2px #fbbf2466;--gradient-accent:var(--accent);--gradient-primary:var(--primary);--gradient-brand:var(--accent);--gradient-danger:var(--danger);--gradient-surface:#111;--gradient-page:none;--status-bg:#1a1a1a;--status-ok-bg:#4ade801a;--status-ok-border:#4ade8040;--status-ok-text:#4ade80;--status-text:#a1a1aa;--button-bg:#1a1a1a;--button-bg-hover:#262626;--focus-ring:#818cf873;--phone-shell:#0a0a0a;--phone-screen:#000;--overlay:#000000bf;--grid-line:#ffffff0a;--chrome-bg:#111111e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--accent:#818cf8;--accent-hover:#a5b4fc;--accent-soft:#818cf81a;--accent-soft-border:#818cf840;--accent-soft-text:#a5b4fc;--primary:#4ade80;--primary-hover:#86efac;--primary-muted:#22c55e;--primary-soft:#4ade801a;--danger:#f87171;--danger-bg:#f871711a;--danger-border:#f8717140;--warn:#fbbf24;--warn-bg:#fbbf241a;--warn-border:#fbbf2440;--page-bg:#0a0a0a;--panel-bg:#111;--panel-bg-elevated:#161616;--panel-bg-solid:#161616;--surface-muted:#1a1a1a;--surface-muted-border:#262626;--subtle-bg:#161616;--field-bg:#161616;--field-bg-inset:#0f0f0f;--border:#262626;--border-strong:#333;--border-subtle:#1f1f1f;--text:#fafafa;--text-muted:#a1a1aa;--text-soft:#71717a;--text-secondary:#d4d4d8;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 2px 8px #0006, 0 1px 3px #0000004d;--shadow-panel:0 1px 3px #0000004d;--shadow-strong:0 4px 16px #00000080, 0 1px 3px #0000004d;--shadow-elevated:0 12px 40px #0009, 0 2px 8px #0006;--shadow-accent-sm:0 1px 2px #0006;--shadow-accent:0 1px 3px #00000080;--shadow-primary-sm:0 1px 2px #0006;--shadow-primary:0 1px 3px #00000080;--glow-accent:0 0 0 2px #818cf873;--glow-primary:0 0 0 2px #4ade8066;--glow-danger:0 0 0 2px #f8717166;--glow-warn:0 0 0 2px #fbbf2466;--gradient-accent:var(--accent);--gradient-primary:var(--primary);--gradient-brand:var(--accent);--gradient-danger:var(--danger);--gradient-surface:#111;--gradient-page:none;--status-bg:#1a1a1a;--status-ok-bg:#4ade801a;--status-ok-border:#4ade8040;--status-ok-text:#4ade80;--status-text:#a1a1aa;--button-bg:#1a1a1a;--button-bg-hover:#262626;--focus-ring:#818cf873;--phone-shell:#0a0a0a;--phone-screen:#000;--overlay:#000000bf;--grid-line:#ffffff0a;--chrome-bg:#111111e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--page-bg);background-image:var(--gradient-page);background-attachment:fixed;min-width:320px;margin:0}#root{min-height:100vh}svg.lucide{stroke-width:1.5px}details:not([open])>:not(summary){display:none}::selection{color:var(--text);background:#5b5bd62e}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#00000026}::-webkit-scrollbar-thumb:hover{background:#00000047}:root[data-theme=dark]::-webkit-scrollbar-thumb{background:#ffffff24}:root[data-system-theme=dark]::-webkit-scrollbar-thumb{background:#ffffff24}:root[data-theme=dark]::-webkit-scrollbar-thumb:hover{background:#ffffff42}:root[data-system-theme=dark]::-webkit-scrollbar-thumb:hover{background:#ffffff42}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark])::-webkit-scrollbar-thumb{background:#ffffff24}:root:not([data-theme=light]):not([data-theme=dark])::-webkit-scrollbar-thumb:hover{background:#ffffff42}}.disclosure{gap:var(--space-2);display:grid}.disclosure summary{color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-2);width:fit-content;list-style:none;display:inline-flex}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary:before{content:"";height:0;transition:transform var(--duration-fast) var(--ease-productive);border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;width:0}.disclosure[open] summary:before{transform:rotate(90deg)}label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);gap:var(--space-1);display:grid}input,select,textarea{background:var(--field-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-sizing:border-box;color:var(--text);font:var(--font-weight-normal) var(--text-sm) / var(--leading-normal) var(--sans);letter-spacing:0;min-width:0;padding:var(--space-2) var(--space-3);transition:background var(--duration-normal) var(--ease-productive), border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive);width:100%}input::placeholder,textarea::placeholder{color:var(--text-soft)}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus{background:var(--panel-bg-elevated);border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.toggle{align-items:center;gap:var(--space-2);min-width:0;display:flex}.toggle input[type=checkbox]{appearance:none;background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:var(--radius-full);cursor:pointer;height:26px;transition:background var(--duration-moderate) var(--ease-spring), border-color var(--duration-moderate) var(--ease-spring), box-shadow var(--duration-moderate) var(--ease-productive);flex:none;width:46px;margin:0;padding:0;position:relative}.toggle input[type=checkbox]:before{background:var(--panel-bg-solid);content:"";height:20px;transition:transform var(--duration-moderate) var(--ease-spring), background var(--duration-moderate) var(--ease-productive);border-radius:50%;width:20px;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003,0 0 0 .5px #0000000d}.toggle input[type=checkbox]:checked{background:var(--gradient-primary);border-color:#0000}.toggle input[type=checkbox]:checked:before{background:var(--on-primary);transform:translate(20px)}.toggle input[type=checkbox]:focus{outline:none}.toggle input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.toggle input[type=checkbox]:disabled+span{color:var(--text-soft)}.button-row{align-items:center;gap:var(--space-2);display:flex}.button-row>button{flex:1 1 0;min-width:0}button{background:var(--button-bg);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);cursor:pointer;font:var(--font-weight-semibold) var(--text-sm) / var(--leading-tight) var(--sans);align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-4);text-align:center;transition:background var(--duration-normal) var(--ease-productive), border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive), transform var(--duration-normal) var(--ease-spring);justify-content:center;display:flex}button:hover:not(:disabled){background:var(--button-bg-hover);border-color:var(--border-strong)}button:active:not(:disabled){background:var(--button-bg-hover);box-shadow:var(--shadow-xs)}button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--gradient-primary);color:var(--on-primary);border-color:#0000}button.primary:hover:not(:disabled){background:linear-gradient(135deg, color-mix(in srgb, var(--primary), var(--primary-hover)), var(--primary-hover));box-shadow:var(--shadow-primary-sm);border-color:#0000}button.primary:disabled{background:var(--primary-muted);border-color:var(--primary-muted)}button.secondary{background:var(--surface-muted);border-color:var(--border);color:var(--text-secondary)}button.secondary:hover:not(:disabled){background:var(--button-bg-hover);border-color:var(--border-strong);color:var(--text)}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger-border)}.icon-button{aspect-ratio:1;border-radius:var(--radius-lg);flex:none;width:36px;min-height:36px;padding:0}.wide{width:100%}.muted{color:var(--text-soft)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100dvh;padding:var(--space-6) clamp(var(--space-5), 2.5vw, var(--space-8)) var(--space-6);width:100%;overflow-x:auto}.topbar{background:var(--chrome-bg);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(24px)saturate(1.6);align-items:center;gap:var(--space-2);margin:0 auto var(--space-4);max-width:1480px;min-height:56px;padding:var(--space-2) var(--space-4);top:var(--space-2);transition:border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive);z-index:30;flex-wrap:nowrap;justify-content:flex-start;width:min(100%,1480px);display:flex;position:sticky}.topbar-actions{align-items:center;gap:var(--space-1);flex-wrap:nowrap;flex:0 auto;justify-content:flex-start;min-width:0;margin-left:0;display:flex}.topbar-brand{border-radius:var(--radius-lg);color:inherit;align-items:center;gap:var(--space-3);min-width:0;min-height:40px;padding:0 var(--space-3) 0 var(--space-2);transition:background var(--duration-normal) var(--ease-productive);border:0;flex:0 auto;display:flex}.topbar-brand:hover{background:var(--button-bg-hover)}.app-logo{border-radius:var(--radius-md);box-shadow:var(--shadow-sm), 0 0 0 1px var(--border);object-fit:contain;flex:none;width:32px;height:32px;display:block}.eyebrow{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;margin:0 0 var(--space-1);text-transform:uppercase}h1,h2{letter-spacing:-.01em;margin:0}h1{color:var(--text);font-size:var(--text-lg);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}h2{color:var(--text);font-size:var(--text-md);font-weight:var(--font-weight-semibold);line-height:var(--leading-normal)}.status-strip,.panel-title,.status,.alert{align-items:center;display:flex}.status-strip{gap:var(--space-2);flex-wrap:wrap;flex:0 auto;justify-content:flex-start;min-width:0;margin-left:auto}.status{background:var(--status-bg);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--status-text);font-size:var(--text-xs);font-weight:var(--font-weight-medium);gap:var(--space-1);min-width:0;min-height:30px;padding:var(--space-1) var(--space-3);transition:background var(--duration-normal) var(--ease-productive), border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive), transform var(--duration-normal) var(--ease-spring);flex:0 auto}.status-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.current-app-status .status-label{max-width:220px}.status:hover{background:var(--button-bg-hover);border-color:var(--border-strong)}.status.ok{background:var(--status-ok-bg);border-color:var(--status-ok-border);color:var(--status-ok-text)}.status.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.topbar-button{border-radius:var(--radius-lg);color:var(--text-secondary);min-height:38px;padding:0 var(--space-3);transition:background var(--duration-normal) var(--ease-productive), border-color var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive), transform var(--duration-normal) var(--ease-spring);background:0 0;border:1px solid #0000;flex:none}.topbar-button:hover:not(:disabled),.topbar-button.active{background:var(--button-bg);border-color:var(--border);color:var(--text)}@keyframes alert-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert{animation:alert-enter .3s var(--ease-out-expo);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-lg);color:var(--danger);gap:var(--space-2);margin:0 auto var(--space-3);max-width:1480px;padding:var(--space-3) var(--space-4)}.workspace{align-items:stretch;gap:var(--space-6);min-width:0;max-width:1480px;min-height:min(800px,100dvh - 120px);transition:grid-template-columns var(--duration-moderate) var(--ease-productive);grid-template-columns:minmax(320px,360px) minmax(400px,500px) minmax(380px,1fr);margin:0 auto;display:grid}.workspace-config-collapsed{grid-template-columns:64px minmax(420px,520px) minmax(380px,1fr)}.phone-column{align-content:start;gap:var(--space-4);justify-self:center;width:min(100%,500px);min-width:0;display:grid}.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(20px)saturate(1.3);gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-5);flex-direction:column;display:flex}.log-section{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(20px)saturate(1.3)}@media (width>=981px){.conversation-panel{height:calc(100dvh - 120px);min-height:600px}.config-panel-expanded{max-height:calc(100dvh - 120px)}}.panel-title{gap:var(--space-2)}.panel-title svg{color:var(--text-muted)}.button{background:var(--button-bg);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);cursor:pointer;font:var(--font-weight-semibold) var(--text-sm) / var(--leading-tight) var(--sans);align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-4);text-align:center;transition:background var(--duration-fast) var(--ease-productive), border-color var(--duration-fast) var(--ease-productive), box-shadow var(--duration-fast) var(--ease-productive), color var(--duration-fast) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);justify-content:center;display:inline-flex}.button:hover:not(:disabled){background:var(--button-bg-hover);border-color:var(--border-strong)}.button:active:not(:disabled){box-shadow:var(--shadow-xs)}.button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.button:disabled{cursor:not-allowed;opacity:.45}.button--primary{background:var(--gradient-primary);color:var(--on-primary);border-color:#0000}.button--primary:hover:not(:disabled){background:var(--primary-hover);border-color:#0000}.button--secondary{background:var(--surface-muted);border-color:var(--border);color:var(--text-secondary)}.button--secondary:hover:not(:disabled){background:var(--button-bg-hover);border-color:var(--border-strong);color:var(--text)}.button--ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.button--ghost:hover:not(:disabled){background:var(--button-bg);color:var(--text)}.button--danger{color:var(--danger)}.button--danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger-border);box-shadow:0 2px 8px #f43f5e26}.button--sm{min-height:32px;padding:var(--space-0-5) var(--space-3);border-radius:var(--radius-md)}.button--md{min-height:38px;padding:var(--space-1) var(--space-3)}.button--lg{min-height:46px;padding:var(--space-3) var(--space-5)}.button--block{width:100%}.icon-button{aspect-ratio:1;border-radius:var(--radius-lg);flex:none;justify-content:center;align-items:center;width:36px;min-height:36px;padding:0;display:inline-flex}.icon-button--sm{border-radius:var(--radius-md);width:28px;min-height:28px}.icon-button--md{width:36px;min-height:36px}.card{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-5);-webkit-backdrop-filter:blur(12px);flex-direction:column;display:flex}.card--elevated{background:var(--panel-bg-elevated);box-shadow:var(--shadow-md)}.input{background:var(--field-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-sizing:border-box;color:var(--text);font:var(--font-weight-normal) var(--text-sm) / var(--leading-normal) var(--sans);min-width:0;padding:var(--space-2) var(--space-3);transition:background var(--duration-fast) var(--ease-productive), border-color var(--duration-fast) var(--ease-productive), box-shadow var(--duration-fast) var(--ease-productive);width:100%}.input::placeholder{color:var(--text-soft)}.input:focus{background:var(--panel-bg-elevated);border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring), var(--shadow-accent-sm);outline:none}.textarea{resize:vertical;min-height:110px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23646488' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right var(--space-3) center;padding-right:var(--space-8);background-repeat:no-repeat}.badge{border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-1);min-height:24px;padding:var(--space-0-5) var(--space-2);display:inline-flex}.badge--primary{background:var(--primary-soft);color:var(--primary);border-color:#0000}.badge--danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.badge--warning{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.compact-section{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-4);scroll-margin:var(--space-5);transition:background var(--duration-fast) var(--ease-productive), border-color var(--duration-fast) var(--ease-productive), box-shadow var(--duration-moderate) var(--ease-productive);padding:0;display:grid;overflow:hidden}.compact-section>summary{color:var(--text);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-4);min-height:40px;padding:var(--space-4) var(--space-5);transition:background var(--duration-fast) var(--ease-productive), color var(--duration-fast) var(--ease-productive);outline:none;grid-template-columns:4px minmax(0,1fr) 18px;list-style:none;display:grid}.compact-section>summary::marker{display:none}.compact-section>summary::-webkit-details-marker{display:none}.compact-section>summary:before{background:var(--gradient-brand);border-radius:var(--radius-full);content:"";opacity:.85;height:18px;transition:opacity var(--duration-normal) var(--ease-productive), height var(--duration-normal) var(--ease-spring);width:4px}.compact-section>summary:after{border-color:var(--text-soft);content:"";height:7px;transition:border-color var(--duration-fast) var(--ease-productive), transform var(--duration-moderate) var(--ease-spring);border-style:solid;border-width:0 2px 2px 0;justify-self:center;width:7px;transform:rotate(-45deg)}.compact-section>summary:hover{background:var(--button-bg-hover)}.compact-section>summary:hover:before{opacity:1;height:22px}.compact-section>summary:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-ring);outline:none}.compact-section[open]{padding-bottom:var(--space-4);background:var(--panel-bg);border-color:var(--border-strong);box-shadow:var(--shadow-panel)}.compact-section[open]>summary{border-bottom:1px solid var(--border);color:var(--accent-soft-text)}.compact-section[open]>summary:before{opacity:1;height:22px}.compact-section[open]>summary:after{border-color:var(--accent);transform:rotate(45deg)}.compact-section>:not(summary){margin:0 var(--space-4)}.compact-section .direct-command-panel,.compact-section .installed-app-panel,.compact-section .doctor-results,.compact-section .conversation-list{background:0 0;border:0;border-radius:0;padding:0}.settings-page{animation:settings-overlay-in .25s var(--ease-out-expo);background:var(--overlay);-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes settings-overlay-in{0%{opacity:0}to{opacity:1}}.settings-panel{animation:settings-panel-in .35s var(--ease-out-expo);background:var(--panel-bg);-webkit-backdrop-filter:blur(40px)saturate(1.4);backdrop-filter:blur(40px)saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-elevated), var(--shadow-accent);width:min(90vw,1080px);max-width:1080px;height:min(85dvh,780px);min-height:0;display:flex;overflow:hidden}@keyframes settings-panel-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.settings-sidebar{background:var(--surface-muted);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);flex-direction:column;flex:0 0 240px;width:240px;min-height:0;display:flex}.settings-sidebar-header{flex:none;justify-content:space-between;align-items:center;padding:18px;display:flex}.settings-close-button{border-radius:var(--radius-md);color:var(--text-soft);min-height:34px;transition:background var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);background:0 0;border:0;flex:none;width:34px;padding:0}.settings-close-button:hover:not(:disabled){background:var(--surface-muted);color:var(--text);transform:scale(1.08)}.settings-close-button:focus-visible,.settings-tab-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.settings-sidebar-title,.settings-sidebar-spacer{display:none}.settings-nav{gap:var(--space-2);min-height:0;padding:0 var(--space-4) var(--space-5);scrollbar-color:var(--text-soft) transparent;scrollbar-width:thin;flex-direction:column;flex:auto;display:flex;overflow:hidden auto}.settings-nav-group{gap:var(--space-2);flex-direction:column;flex:none;min-width:0;display:flex}.settings-nav-group+.settings-nav-group{margin-top:0;padding-top:0}.settings-content::-webkit-scrollbar{width:6px;height:6px}.settings-nav::-webkit-scrollbar{width:6px;height:6px}.settings-content::-webkit-scrollbar-track{background:0 0}.settings-nav::-webkit-scrollbar-track{background:0 0}.settings-content::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.settings-nav::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.settings-tab-button{border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-weight-semibold);gap:var(--space-5);min-height:42px;padding:0 var(--space-5);text-align:left;transition:background var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);background:0 0;border:0;flex-shrink:0;justify-content:flex-start;width:100%;display:flex;position:relative}.settings-tab-button svg{color:var(--text-soft);transition:color var(--duration-normal) var(--ease-productive);flex:none}.settings-tab-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings-tab-compact-label{display:none}.settings-tab-button:hover:not(:disabled){background:var(--surface-muted);color:var(--text);transform:translate(2px)}.settings-tab-button.is-active{background:var(--accent-soft);color:var(--accent-soft-text)}.settings-tab-button.is-active:before{background:var(--gradient-brand);border-radius:var(--radius-full);content:"";width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.settings-tab-button.is-active svg{color:var(--accent)}.settings-main{background:var(--panel-bg);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);flex-direction:column;flex:auto;min-width:0;display:flex;overflow:hidden}.settings-content{scrollbar-color:var(--text-soft) transparent;scrollbar-width:thin;flex:auto;min-height:0;padding:28px;overflow:hidden auto}.settings-main-heading,.settings-tab-content{width:100%;max-width:720px;margin:0 auto}.settings-main-heading{padding-bottom:20px}.settings-main-heading h2{color:var(--text);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);margin:0}.settings-tab-content{animation:settings-fade-in .22s var(--ease-out-expo)}.settings-section,.settings-panel-stack{gap:var(--space-6);display:grid}.settings-preferences,.settings-resources,.settings-project{background:0 0;border:0;border-radius:0;padding:0}.settings-preferences-grid{gap:0;display:grid}.settings-field{border:0;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-md);font-weight:var(--font-weight-semibold);min-width:0;padding:var(--space-5) 0;transition:background var(--duration-fast) var(--ease-productive);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:center;gap:18px;display:grid}.settings-field:hover{background:color-mix(in srgb, var(--accent-soft) 50%, transparent)}.settings-field:last-child{border-bottom:0}.settings-field span{color:var(--text);align-items:center;gap:var(--space-4);overflow-wrap:anywhere;min-width:0;display:flex}.settings-field svg{color:var(--text-soft);flex:none}.settings-storage,.settings-data-management,.settings-resource-management{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-4);padding:var(--space-6);display:grid}.settings-storage,.settings-data-management{border:0;border-bottom:1px solid var(--border);padding:var(--space-5) 0;background:0 0;border-radius:0}.settings-data-management{border-bottom:0}.settings-storage>div,.settings-resource-title{align-items:center;gap:var(--space-5);justify-content:space-between;min-width:0;display:flex}.settings-storage span,.settings-resource-title{color:var(--text-secondary);align-items:center;gap:var(--space-3);min-width:0;display:flex}.settings-data-management{grid-template-columns:minmax(0,1fr) auto;align-items:center}.settings-data-management-title{color:var(--text);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-3);min-width:0;display:flex}.settings-storage svg,.settings-data-management svg,.settings-resource-management svg{color:var(--text-soft);flex:none}.settings-storage strong{color:var(--text);font-size:var(--text-md);text-align:right}.settings-storage meter{width:100%;height:8px}.settings-data-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.settings-data-actions button{flex:0 auto}.settings-data-management button.danger svg{color:var(--danger)}.settings-resource-grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}.settings-resource-title{justify-content:flex-start}.settings-resource-title span{color:var(--text);font-weight:var(--font-weight-semibold)}.settings-resource-title button{margin-left:auto}.settings-resource-management textarea{font-family:var(--mono);resize:vertical;min-height:140px}.settings-tool-availability{gap:var(--space-4)}.settings-tool-summary{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-full);color:var(--accent-soft-text);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;margin-left:auto;padding:2px 7px}.settings-tool-search{background:var(--field-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:var(--space-3);min-width:0;min-height:36px;padding:0 var(--space-3) 0 var(--space-4);transition:border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive);display:flex}.settings-tool-search:focus-within{border-color:var(--accent);box-shadow:var(--glow-accent)}.settings-tool-search svg{color:var(--accent);flex:none}.settings-tool-search input{box-shadow:none;background:0 0;border:0;flex:auto;min-width:0;padding:0}.settings-tool-search input:focus{box-shadow:none;border:0;transform:none}.settings-tool-search button{border-radius:var(--radius-md);box-shadow:none;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;width:24px;height:24px;min-height:24px;padding:0;display:flex}.settings-tool-search button:hover{background:var(--button-bg-hover);color:var(--text)}.settings-tool-filters{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.settings-tool-filters button{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);min-width:0;min-height:32px;padding:0 var(--space-3);transition:background var(--duration-normal) var(--ease-productive), border-color var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive)}.settings-tool-filters button.is-active{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-soft-text)}.settings-tool-filters button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.settings-tool-list{border:1px solid var(--border);border-radius:var(--radius-md);scrollbar-color:var(--text-soft) transparent;scrollbar-width:thin;min-width:0;max-height:300px;display:grid;overflow:auto}.settings-tool-row{border-top:1px solid var(--border);align-items:center;gap:var(--space-5);min-width:0;padding:var(--space-3) var(--space-4);transition:background var(--duration-fast) var(--ease-productive);grid-template-columns:minmax(0,1fr) auto;display:grid}.settings-tool-row:first-child{border-top:0}.settings-tool-row:hover{background:color-mix(in srgb, var(--accent-soft) 60%, transparent)}.settings-tool-row.is-disabled{background:var(--surface-muted)}.settings-tool-row>div{gap:3px;min-width:0;display:grid}.settings-tool-row strong{color:var(--text);font-size:var(--text-base);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-tool-row code{color:var(--text-soft);font-size:var(--text-sm);overflow-wrap:anywhere}.settings-tool-toggle{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);justify-content:flex-end}.settings-tool-empty{color:var(--text-secondary);font-size:var(--text-base);padding:var(--space-5);text-align:center;margin:0}.settings-copy{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.settings-project-grid{align-items:stretch;gap:var(--space-5);grid-template-columns:minmax(240px,1fr) minmax(300px,1fr);display:grid}.settings-project-links{gap:var(--space-3);min-width:0;display:grid}.app-version,.repository-link{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-5);transition:border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);display:flex}.app-version svg,.repository-link svg{color:var(--text-soft);flex:none}.app-version strong{font-size:var(--text-xl);line-height:1}.app-version span{color:var(--text-soft);font-size:var(--text-base);margin-left:auto}.repository-link{text-decoration:none}.repository-link:hover{border-color:var(--accent-soft-border);box-shadow:var(--shadow-sm), var(--shadow-accent-sm);transform:translateY(-1px)}.repository-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.repository-stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.repository-stats div{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-2);min-height:82px;padding:var(--space-5);transition:border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);justify-items:start;display:grid}.repository-stats div:hover{border-color:var(--accent-soft-border);box-shadow:var(--shadow-sm), var(--shadow-accent-sm);transform:translateY(-2px)}.repository-stats svg{color:var(--text-soft)}.repository-stats strong{color:var(--text);font-size:var(--text-3xl);line-height:1}.repository-stats span,.settings-error{color:var(--text-soft);font-size:var(--text-base)}.settings-error{margin:0}@keyframes settings-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.settings-project-grid{grid-template-columns:1fr}}@media (width<=760px){.settings-page{padding:0}.settings-panel{border-radius:0;flex-direction:column;width:100%;height:100dvh}.settings-sidebar{border-bottom:1px solid var(--border);border-right:0;flex:none;width:100%}.settings-sidebar-header{padding:var(--space-5) var(--space-6)}.settings-sidebar-title{color:var(--text);font-size:var(--text-md);font-weight:var(--font-weight-semibold);display:block}.settings-sidebar-spacer{flex:0 0 34px;display:block}.settings-nav{gap:var(--space-2);padding:0 var(--space-4) var(--space-4);flex-direction:row;position:relative;overflow:auto hidden}.settings-nav-group{gap:var(--space-2);flex-direction:row}.settings-nav-group+.settings-nav-group{border-top:0;margin-top:0;margin-left:0;padding-top:0;padding-left:0}.settings-tab-button{flex:none;gap:7px;width:auto;min-height:38px;padding:0 9px}.settings-tab-button.is-active:before{width:auto;height:3px;inset:auto 8px 0;transform:none}.settings-tab-full-label{display:inline}.settings-tab-compact-label{display:none}.settings-tab-button.is-active{background:var(--accent-soft)}.settings-main-heading{display:none}.settings-content{padding:var(--space-7) var(--space-6) var(--space-8)}}@media (width<=560px){.settings-field{gap:var(--space-3);padding:var(--space-4) 0;grid-template-columns:1fr}.settings-data-management{grid-template-columns:1fr;align-items:stretch}.settings-data-actions{justify-content:stretch}.settings-data-actions button{flex:1 1 0}.settings-storage>div,.settings-data-management-title,.resource-title{flex-wrap:wrap;align-items:flex-start}.settings-storage strong{text-align:left}.settings-data-actions{grid-template-columns:1fr;justify-content:stretch;display:grid}.settings-data-actions button,.settings-resource-title button{width:100%}.settings-resource-title button{margin-left:0}.repository-stats{grid-template-columns:1fr}}.config-panel{transition:width var(--duration-moderate) var(--ease-spring), padding var(--duration-moderate) var(--ease-spring)}.config-panel-expanded{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;gap:0;max-height:calc(100dvh - 110px);overflow:auto}.config-panel-expanded:after{content:none}.config-panel-expanded::-webkit-scrollbar{width:6px}.config-panel-expanded::-webkit-scrollbar-track{background:0 0}.config-panel-expanded::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.config-panel-collapsed{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-3)}.config-sidebar-header{background:var(--chrome-bg);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);align-items:center;gap:var(--space-4);min-width:0;min-height:52px;padding:var(--space-4) var(--space-5) var(--space-4) var(--space-7);transition:border-color var(--duration-normal) var(--ease-productive);z-index:2;border-bottom:1px solid #0000;justify-content:space-between;margin:-16px -16px 0;display:flex;position:sticky;top:0}.config-panel-expanded:not(:has(:first-child:hover)) .config-sidebar-header{border-bottom-color:var(--border)}.config-sidebar-title{color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.config-sidebar-toggle{border-radius:var(--radius-md);height:38px;min-height:38px;transition:background var(--duration-normal) var(--ease-productive), transform var(--duration-normal) var(--ease-spring);width:38px}.config-sidebar-toggle:hover:not(:disabled){background:var(--button-bg-hover)}.config-panel-content{gap:var(--space-5);margin-top:var(--space-5);order:2;min-width:0;display:grid}.config-panel-content>.config-panel-group+.config-panel-group{border-top:1px solid var(--border-subtle);padding-top:var(--space-5);border-top-style:solid}.config-panel-group{gap:var(--space-3);min-width:0;padding:var(--space-5) 0;display:grid}.config-panel-group:last-child{padding-bottom:0}.config-panel-group{scroll-margin:var(--space-5)}.config-section-heading{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,min(46%,116px));min-width:0;display:grid}.config-section-heading .panel-title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.config-section-heading .panel-title svg{color:var(--text)}.config-section-heading .panel-title h2{color:var(--text);font-size:var(--text-md);font-weight:var(--font-weight-semibold);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.config-section-heading>span{color:var(--text-soft);font-size:var(--text-xs);align-items:center;gap:var(--space-2);text-overflow:ellipsis;white-space:nowrap;justify-self:end;width:fit-content;min-width:0;max-width:100%;margin-left:auto;font-weight:500;line-height:1.2;display:inline-flex;overflow:hidden}.config-section-heading>span.config-section-badge{width:100%}.config-section-heading>span.config-section-badge:not(:only-child){width:fit-content}.config-section-heading>span:before{content:none}.config-section-heading>span:after{border-radius:var(--radius-full);content:"";display:none}.config-section-badge{background:var(--status-bg);color:var(--text-soft)}.config-section-badge.ready{background:var(--status-ok-bg);color:var(--status-ok-text)}.config-section-badge.warning{background:var(--warn-bg);color:var(--warn)}.config-section-badge.neutral{background:var(--status-bg);color:var(--text-soft)}.config-section-badge.count{background:var(--accent-soft);color:var(--text-soft)}.config-panel-collapsed .config-sidebar-header{background:0 0;min-height:auto;margin:0;padding:0}.config-rail{align-items:center;gap:var(--space-3);justify-items:center;display:grid}.config-rail-button{aspect-ratio:1;background:var(--surface-muted);border-color:var(--border);border-radius:var(--radius-md);color:var(--text-secondary);min-height:40px;transition:background var(--duration-normal) var(--ease-productive), border-color var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);width:40px;padding:0;position:relative}.config-rail-button:hover:not(:disabled),.config-rail-button:focus-visible{background:var(--accent-soft);border-color:var(--accent-soft-border);box-shadow:var(--glow-accent);color:var(--accent)}.config-rail-button:active:not(:disabled){background:var(--accent-soft)}.model-box{gap:var(--space-3);display:grid}.config-section-badge-sep{color:var(--text-soft);margin:0 2px}.model-config-status-help{color:var(--text-muted);font-size:var(--text-sm);margin:0;line-height:1.4}.model-details{gap:var(--space-3);display:grid}.model-details summary{color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-2);width:fit-content;list-style:none;display:inline-flex}.model-details summary::-webkit-details-marker{display:none}.model-details summary:before{content:"";height:0;transition:transform var(--duration-fast) var(--ease-productive);border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;width:0}.model-details[open] summary:before{transform:rotate(90deg)}.model-settings-form{gap:var(--space-3);min-width:0;display:grid}.api-key-setting{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-weight-semibold);gap:var(--space-2);display:grid}.api-key-field{align-items:stretch;gap:var(--space-2);grid-template-columns:minmax(0,1fr) 38px;display:grid}.api-key-visibility-button{width:38px;min-height:38px;padding:0}.api-key-visibility-button svg{flex:none}.model-settings-field.missing,.api-key-setting.missing{color:var(--warn)}.model-settings-field.missing input,.api-key-setting.missing input{background:var(--warn-bg);border-color:var(--warn-border);box-shadow:var(--glow-warn)}.device-box{gap:var(--space-2);display:grid}.device-box span{color:var(--text);font-size:var(--text-md);font-weight:var(--font-weight-semibold)}.device-details{gap:var(--space-2);display:grid}.device-details summary{color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-2);width:fit-content;list-style:none;display:inline-flex}.device-details summary::-webkit-details-marker{display:none}.device-details summary:before{content:"";height:0;transition:transform var(--duration-fast) var(--ease-productive);border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;width:0}.device-details[open] summary:before{transform:rotate(90deg)}.device-box small{color:var(--text-soft)}.home-device-tool-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.home-device-tool-button{min-width:0;padding:0 var(--space-3);text-align:left;justify-content:flex-start}.home-device-tool-title{align-items:center;gap:var(--space-2);width:100%;min-width:0;display:flex}.home-device-tool-title>span:last-child{overflow-wrap:anywhere;min-width:0}.home-device-tool-icon{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-md);color:var(--accent-soft-text);flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.home-device-installed-apps,.home-device-doctor-results{min-width:0}.home-device-options-panel{gap:var(--space-2);display:grid}.home-device-options-panel .toggle span{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;min-width:0;display:flex}.home-device-options-panel .toggle svg{color:var(--accent);flex:none}.capability-grid{flex-wrap:wrap;gap:5px;display:flex}.capability-grid span{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-full);color:var(--accent-soft-text);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);padding:3px 7px}.installed-app-dialog-page{animation:app-dialog-overlay-in .2s var(--ease-out-expo);background:var(--overlay);-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);padding:var(--space-7);z-index:45;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes app-dialog-overlay-in{0%{opacity:0}to{opacity:1}}.installed-app-dialog-panel{animation:app-dialog-panel-in .35s var(--ease-out-expo);background:var(--panel-bg-elevated);-webkit-backdrop-filter:blur(40px)saturate(1.4);backdrop-filter:blur(40px)saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-elevated), var(--shadow-accent-sm);gap:var(--space-5);max-width:600px;min-height:0;max-height:min(100dvh - 48px,700px);padding:var(--space-7);width:min(92vw,600px);display:grid;overflow:hidden}@keyframes app-dialog-panel-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.installed-app-dialog-header{align-items:center;gap:var(--space-5);justify-content:space-between;min-width:0;display:flex}.installed-app-dialog-header h2{color:var(--text);font-size:var(--text-xl);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.installed-app-dialog-close{color:var(--text-soft);transition:background var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);background:0 0;border:0}.installed-app-dialog-close:hover:not(:disabled){background:var(--surface-muted);color:var(--text);transform:scale(1.08)}.installed-app-panel{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-3);padding:var(--space-4);display:grid}.installed-app-dialog-panel .installed-app-panel{background:0 0;border:0;min-height:0;padding:0}.installed-app-panel>strong{color:var(--text);font-size:var(--text-base)}.search-field{gap:var(--space-2);width:100%;min-width:0;display:grid}.search-field>span:last-child{align-items:center;width:100%;min-width:0;display:block;position:relative}.search-field .search-icon{color:var(--text-soft);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-field input{padding-left:32px;padding-right:38px}.search-clear-button{box-shadow:none;color:var(--text-soft);height:26px;min-height:26px;transition:background var(--duration-fast) var(--ease-productive), color var(--duration-fast) var(--ease-productive);background:0 0;border:0;justify-content:center;align-items:center;width:26px;padding:0;display:inline-flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.search-clear-button:hover{background:var(--button-bg-hover);color:var(--text)}.search-clear-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.installed-app-empty{background:var(--surface-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-secondary);padding:var(--space-4)}.installed-app-list{gap:var(--space-3);max-height:240px;display:grid;overflow:auto}.installed-app-dialog-panel .installed-app-list{max-height:min(50dvh,410px)}.installed-app-row{border-top:1px solid var(--border);align-items:center;gap:var(--space-3);padding-top:var(--space-3);transition:background var(--duration-fast) var(--ease-productive);grid-template-columns:minmax(0,1fr) auto;display:grid}.installed-app-row:first-child{border-top:0;padding-top:0}.installed-app-row:hover{background:color-mix(in srgb, var(--accent-soft) 50%, transparent)}.installed-app-row div{gap:2px;min-width:0;display:grid}.installed-app-row strong{color:var(--text);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.installed-app-row small{color:var(--text-soft);font-size:var(--text-sm);overflow-wrap:anywhere}.installed-app-row button{min-height:32px;padding:0 var(--space-4)}.muted.compact{font-size:var(--text-sm);margin:0}@media (width<=520px){.installed-app-dialog-page{padding:var(--space-5);align-items:flex-end}.installed-app-dialog-panel{max-height:calc(100dvh - 24px);padding:var(--space-6);width:100%}.installed-app-row{grid-template-columns:1fr;align-items:stretch}.installed-app-row button{justify-self:stretch;width:100%}}.direct-command-panel{background:var(--surface-muted);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-2);padding:var(--space-3);display:grid}.direct-command-panel>strong{color:var(--text);font-size:var(--text-md)}.direct-command-grid{gap:var(--space-2);display:grid}.direct-command-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.direct-command-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.direct-command-panel .button-row{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.device-quick-controls{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px)saturate(1.3);backdrop-filter:blur(20px)saturate(1.3);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);gap:var(--space-2);padding:var(--space-3);display:grid}.direct-text-row{align-items:end;gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(112px,auto);display:grid}.direct-key-row{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.doctor-results{gap:var(--space-3);display:grid}.doctor-results>strong{color:var(--text);font-size:var(--text-md)}.doctor-check-list{gap:var(--space-2);display:grid}.doctor-check{border-top:1px solid var(--border);padding-top:var(--space-2);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;display:grid}.doctor-check:first-child{border-top:0;padding-top:0}.doctor-check>span{border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--text-soft);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-align:center;min-width:52px;padding:5px 6px;line-height:1}.doctor-check.ok>span{background:var(--status-ok-bg);border-color:var(--status-ok-border);color:var(--status-ok-text)}.doctor-check.warn>span{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.doctor-check.error>span{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.doctor-check.skipped>span{background:var(--status-bg)}.doctor-check div{gap:3px;min-width:0;display:grid}.doctor-check strong{color:var(--text);font-size:var(--text-md)}.doctor-check p,.doctor-check small{color:var(--text-soft);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;line-height:1.35}.doctor-check small{color:var(--text-secondary)}.phone-stage{background:var(--surface-muted);background-image:radial-gradient(circle, var(--grid-line) 1px, transparent 1px);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);padding:var(--space-6);background-size:20px 20px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.phone-stage-fullscreen:before{content:"";z-index:39;background:#000000d9;position:fixed;inset:0}.phone-frame{aspect-ratio:9/19.5;background:var(--phone-shell);border:6px solid var(--phone-shell);max-width:100%;max-height:min(82vh,820px);transition:border-radius var(--duration-moderate) var(--ease-productive), box-shadow var(--duration-moderate) var(--ease-productive);background-image:none;border-radius:38px;width:min(100%,390px);padding:9px 4px;position:relative;overflow:hidden;box-shadow:0 0 0 1.5px #00000014,0 1px 1px #ffffff0f,0 2px 6px #0000001f,0 12px 28px #0000002e,0 28px 64px #00000038,inset 0 0 0 1px #ffffff0d,inset 0 1.5px 2px #ffffff14,inset 0 -1px 1px #0006}.phone-frame:after{content:"";pointer-events:none;z-index:9;background:linear-gradient(#ffffff1a,#0000 30%);position:absolute;inset:0}.phone-frame:before{display:none}.phone-frame.phone-frame-fullscreen{z-index:40;border-radius:0;width:100vw;max-width:none;height:100vh;max-height:none;padding:0;position:fixed;inset:0;transform:none}.phone-frame.phone-frame-fullscreen:before,.phone-frame.phone-frame-fullscreen:after{display:none}.phone-frame.phone-frame-fullscreen .phone-viewport{border-radius:0}.phone-viewport{background:var(--phone-screen);overscroll-behavior:contain;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;border-radius:30px;width:100%;height:100%;overflow:auto}.phone-zoom-surface{min-width:100%;min-height:100%;transition:height .1s ease-out,width .1s ease-out;position:relative}.phone-screenshot-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.phone-screen-placeholder{background:var(--phone-screen);background-image:none;place-items:center;width:100%;height:100%;display:grid;position:relative}.phone-screen-placeholder:before,.phone-screen-placeholder:after{display:none}.phone-empty-state{color:#ffffff8c;align-items:center;gap:var(--space-3);max-width:80%;padding:var(--space-4);text-align:center;justify-items:center;display:grid}.phone-empty-state svg{color:#ffffff59;opacity:1;width:40px;height:40px}.phone-empty-state strong{color:#ffffffeb;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:1.3}.phone-empty-state span{color:#ffffff73;font-size:var(--text-xs);line-height:1.4}.phone-zoom-controls{background:var(--overlay);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);color:var(--modal-text);align-items:center;gap:var(--space-1);opacity:0;padding:var(--space-1);pointer-events:none;right:var(--space-2);top:var(--space-2);transition:opacity var(--duration-normal) var(--ease-productive), transform var(--duration-normal) var(--ease-spring);z-index:12;display:flex;position:absolute;transform:translateY(-4px)}.phone-stage:is(:hover,:focus-within) .phone-zoom-controls{opacity:1;pointer-events:auto;transform:translateY(0)}.phone-stage-fullscreen .phone-zoom-controls{z-index:41;position:fixed;top:14px;right:14px}.phone-zoom-controls button{border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--modal-text);background:#ffffff1a;width:28px;height:28px;min-height:28px;padding:0}.phone-zoom-controls button:hover:not(:disabled){background:#ffffff2e}.phone-zoom-controls span{font:var(--text-xs)/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;text-align:center;min-width:38px}.phone-frame img{object-fit:contain;width:100%;height:100%;display:block}@keyframes tap-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.tap-marker,.swipe-marker{border:2px solid var(--on-primary);box-shadow:0 0 0 4px #f59e0b59, var(--shadow-accent-sm);z-index:2;border-radius:50%;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%)}.tap-marker{animation:tap-pulse .3s var(--ease-spring);background:var(--tap-color)}.tap-marker.long_press{background:var(--tap-long-press)}.tap-marker.double_tap{background:var(--accent)}.screenshot-visible-layer{z-index:5;position:absolute;inset:0}.swipe-path{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.swipe-path-line{fill:none;marker-end:inherit;stroke:var(--swipe-color);stroke-linecap:round;stroke-width:8px;vector-effect:non-scaling-stroke}.swipe-path-arrowhead{fill:var(--swipe-color)}.swipe-duration-label{background:var(--overlay);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px)saturate(1.2);backdrop-filter:blur(12px)saturate(1.2);color:var(--modal-text);font:var(--text-xs)/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;padding:var(--space-1) calc(var(--space-1) + 2px);pointer-events:none;white-space:nowrap;z-index:3;position:absolute;transform:translate(-50%,-50%)}.swipe-marker.start{background:var(--accent)}.swipe-marker.end{background:var(--primary)}.screenshot-command-layer{cursor:crosshair;z-index:4;position:absolute;inset:0}.screenshot-command-draft{background:var(--overlay);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);bottom:var(--space-2);color:var(--modal-text);align-items:center;gap:var(--space-2);left:var(--space-2);padding:var(--space-2);right:var(--space-2);z-index:8;grid-template-columns:minmax(0,1fr) auto auto;display:grid;position:absolute}.screenshot-command-draft span{font:var(--text-xs)/1.3 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.screenshot-command-draft button{border-color:var(--border-strong);color:var(--modal-text);min-height:28px;padding:0 var(--space-2);background:#ffffff1f}.agent-cursor{opacity:0;transform-origin:12px 12px;will-change:transform, opacity;pointer-events:none;z-index:10;width:24px;height:24px;position:absolute;top:0;left:0}.agent-cursor img{transform-origin:0 0;filter:drop-shadow(0 0 6px #339cffe6)drop-shadow(0 0 15px #339cff7a);display:block;transform:translate(12px,-2.5px)rotate(44deg)}.conversation-panel-title{gap:var(--space-4);justify-content:space-between}.conversation-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px)saturate(1.15);backdrop-filter:blur(20px)saturate(1.15);min-width:0;min-height:0;padding:0;position:relative;overflow:hidden}.panel-title-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.panel-title-action{border-radius:var(--radius-md);font-size:var(--text-base);min-height:32px;padding:0 var(--space-4);transition:background var(--duration-normal) var(--ease-productive), border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);flex:none}.panel-title-action:hover:not(:disabled){background:var(--button-bg-hover);border-color:var(--border-strong)}.pending-action{animation:pending-action-enter .35s var(--ease-out-expo) both;background:var(--panel-bg-elevated);-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);border:1px solid var(--accent-soft-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);gap:var(--space-4);margin:0 var(--space-5) var(--space-5);padding:var(--space-4);display:grid}@keyframes pending-action-enter{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-stream>.pending-action{margin:var(--space-1) 0 0;justify-self:stretch;width:100%;min-width:0}.pending-action-body{align-items:flex-start;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);display:grid}.pending-action .pending-action-icon{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent);width:32px;height:32px;margin-top:1px}.pending-action .pending-action-icon svg{width:16px;height:16px}.pending-action-content{gap:5px;min-width:0;display:grid}.pending-header{align-items:center;gap:var(--space-4);justify-content:space-between;min-width:0;display:flex}.pending-header span{color:var(--accent-soft-text);font-size:var(--text-xs);text-transform:uppercase;font-weight:600}.pending-header small{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-full);color:var(--accent-soft-text);font-size:var(--text-2xs);padding:var(--space-1) 7px;flex:none;font-weight:600;line-height:1}.pending-step-meta{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:5px;display:flex}.pending-action-name{color:var(--text);font-size:var(--text-lg);overflow-wrap:anywhere;line-height:1.2}.pending-action-meta{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.pending-action-chip{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-full);color:var(--accent-soft-text);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;max-width:min(100%,160px);min-height:20px;padding:0 7px;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.pending-action-preview{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);overflow-wrap:anywhere;min-height:38px;padding:var(--space-3) var(--space-4);margin:0;line-height:1.4}.pending-action-button{box-shadow:var(--shadow-accent-sm)}.chat-shell{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px)saturate(1.15);backdrop-filter:blur(20px)saturate(1.15);flex:1 1 0;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:540px;margin:0;display:grid;position:relative;overflow:hidden}.chat-shell:has(.chat-session-strip){grid-template-rows:auto auto minmax(0,1fr) auto}.chat-shell-header{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);border-bottom:1px solid var(--border);min-height:48px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);z-index:2;margin:0;position:relative}.chat-session-strip{background:var(--surface-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:var(--space-1);min-width:0;min-height:36px;padding:var(--space-1) var(--space-2);z-index:1;flex-wrap:wrap;display:flex;position:relative;overflow:hidden}.chat-session-pill,.chat-session-message{background:var(--panel-bg-elevated);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-1);min-width:0;min-height:22px;padding:0 var(--space-2);transition:background var(--duration-fast) var(--ease-productive), border-color var(--duration-fast) var(--ease-productive), box-shadow var(--duration-fast) var(--ease-productive);white-space:nowrap;line-height:1;display:inline-flex}.chat-session-pill svg{flex:none}.chat-session-pill.status-running,.chat-session-pill.status-awaiting_review,.chat-session-pill.status-awaiting_takeover,.chat-session-pill.queued,.chat-session-pill.compacted{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-soft-text)}.chat-session-pill.status-done{background:var(--status-ok-bg);border-color:var(--status-ok-border);color:var(--status-ok-text)}.chat-session-pill.status-stopped{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.chat-session-pill.status-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.chat-session-message{border-radius:var(--radius-md);text-overflow:ellipsis;flex:140px;justify-content:flex-start;overflow:hidden}.chat-stream{align-content:start;gap:var(--space-4);overflow-anchor:none;overscroll-behavior:contain;min-width:0;min-height:0;padding:var(--space-6) var(--space-4) var(--space-5);scroll-behavior:smooth;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;background:0 0;display:grid;position:relative;overflow:auto}.chat-stream:has(.chat-empty-state){align-content:center}@media (prefers-reduced-motion:reduce){.chat-stream{scroll-behavior:auto}}.chat-stream::-webkit-scrollbar{width:6px;height:6px}.chat-stream::-webkit-scrollbar-track{background:0 0}.chat-stream::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.chat-stream::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.chat-empty-state{color:var(--text-secondary);align-self:center;align-items:center;gap:var(--space-4);text-align:center;justify-self:center;justify-items:center;width:min(100%,480px);max-width:480px;margin:0 auto;display:grid;transform:translateY(-4px)}.chat-empty-icon{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-2xl);color:var(--accent);justify-content:center;align-items:center;width:56px;height:56px;display:flex}.chat-empty-icon svg{width:26px;height:26px}.chat-empty-state strong{color:var(--text);font-size:var(--text-lg);font-weight:var(--font-weight-bold)}.chat-message{animation:chat-message-in .3s var(--ease-out-expo) both;line-height:var(--leading-normal);width:100%;max-width:100%;display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.chat-message.observation{justify-content:center}.chat-message.user .chat-message-content{background:var(--accent-soft);-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);border:1px solid var(--accent-soft-border);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);box-shadow:var(--shadow-accent-sm);color:var(--text);max-width:min(82%,520px);padding:var(--space-3) var(--space-4);width:fit-content}.chat-message.assistant .chat-message-content{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px)saturate(1.05);backdrop-filter:blur(12px)saturate(1.05);border:1px solid var(--surface-muted-border);border-radius:var(--radius-sm) var(--radius-xl) var(--radius-xl) var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--text);max-width:min(100%,580px);padding:var(--space-3) var(--space-4)}.chat-message.observation .chat-message-content{background:var(--surface-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.chat-run-status{background:var(--surface-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:var(--space-1);min-height:28px;padding:var(--space-1) var(--space-2);justify-self:center;display:inline-flex}.chat-run-status-spinner{color:var(--accent);animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.chat-run-status-spinner{animation:none}}.chat-scroll-bottom{animation:scroll-btn-in .2s var(--ease-spring);aspect-ratio:1;background:var(--panel-bg-elevated);-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--text-secondary);height:38px;bottom:120px;right:var(--space-5);transition:box-shadow var(--duration-normal) var(--ease-spring), transform var(--duration-normal) var(--ease-spring), color var(--duration-normal) var(--ease-productive);z-index:4;border-radius:50%;place-items:center;width:38px;padding:0;display:grid;position:absolute}.chat-scroll-bottom:hover:not(:disabled){border-color:var(--border-strong);color:var(--accent)}@keyframes chat-message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(-4px)}50%{transform:translateY(-10px)}}@keyframes scroll-btn-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.chat-history-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default;z-index:6;border:0;border-radius:0;min-height:0;padding:0;position:absolute;inset:0}.chat-history-sidebar{background:var(--panel-bg);-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);border-right:1px solid var(--border);box-shadow:none;pointer-events:none;min-width:260px;max-width:calc(100% - 42px);transition:box-shadow .3s var(--ease-out-expo), opacity .3s var(--ease-out-expo), transform .3s var(--ease-spring);z-index:7;flex-direction:column;width:min(290px,100% - 42px);display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-101%)}.chat-history-sidebar.open{box-shadow:var(--shadow-elevated);pointer-events:auto;transform:translate(0)}.chat-history-header{border-bottom:1px solid var(--border);align-items:center;gap:var(--space-2);min-height:46px;padding:var(--space-2) var(--space-2-5);background:0 0;display:flex}.chat-history-header span{color:var(--text);font-size:var(--text-md);flex:auto;min-width:0;font-weight:600}.chat-history-count{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-full);color:var(--accent-soft-text);font-size:var(--text-xs);text-align:center;flex:none;min-width:22px;padding:2px 7px;font-weight:600}.chat-history-close,.chat-history-toggle{flex:none}.chat-history-toggle{border-radius:var(--radius-md);box-shadow:none;color:var(--text-soft);height:34px;min-height:34px;transition:background var(--duration-normal) var(--ease-productive), color var(--duration-normal) var(--ease-productive);background:0 0;border-color:#0000;justify-content:center;align-items:center;width:34px;padding:0;display:flex}.chat-history-toggle:hover:not(:disabled),.chat-history-toggle:active:not(:disabled){background:var(--accent-soft);box-shadow:none;color:var(--accent-soft-text);border-color:#0000;transform:none}.chat-history-toggle:focus-visible{box-shadow:var(--glow-accent);border-color:#0000;outline:none}.chat-history-actions{gap:var(--space-1-5);padding:var(--space-2) var(--space-2) 7px;display:grid}.chat-history-action{background:var(--button-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-base);align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-2-5);text-align:left;transition:background var(--duration-normal) var(--ease-productive), border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive), transform var(--duration-normal) var(--ease-spring);justify-content:flex-start;width:100%;font-weight:600;display:flex}.chat-history-action:hover:not(:disabled),.chat-history-action:focus-visible{background:var(--accent-soft);border-color:var(--accent-soft-border);box-shadow:var(--shadow-accent-sm);transform:translate(2px)}.chat-history-action svg,.chat-history-close svg,.chat-history-search svg{color:var(--accent)}.chat-history-toggle svg{color:currentColor;display:block}.chat-history-search{background:var(--field-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-2) 0 var(--space-2-5);display:flex}.chat-history-search:focus-within{border-color:var(--accent-soft-border);box-shadow:var(--glow-accent)}.chat-history-search input{color:var(--text);font:var(--text-md)/1.2 var(--sans);background:0 0;border:0;outline:none;flex:auto;min-width:0;padding:0}.chat-history-search input::placeholder{color:var(--text-soft)}.chat-history-search button{border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;width:24px;height:24px;min-height:24px;padding:0;display:flex}.chat-history-search button:hover{background:var(--accent-soft);color:var(--accent-soft-text)}.chat-history-list{min-height:0;padding:var(--space-2) var(--space-2) var(--space-2-5);scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;flex:auto;overflow:auto}.chat-history-list h3{color:var(--text-soft);font-size:var(--text-2xs);letter-spacing:.05em;margin:var(--space-1-5) var(--space-2) 5px;text-transform:uppercase;font-weight:600}.chat-history-items{gap:var(--space-1);display:grid}.chat-history-item-row{border-radius:var(--radius-md);min-height:46px;transition:background var(--duration-fast) var(--ease-productive), box-shadow var(--duration-fast) var(--ease-productive), color var(--duration-fast) var(--ease-productive);grid-template-columns:minmax(0,1fr) 32px;align-items:center;display:grid}.chat-history-item-row:hover{background:var(--surface-muted);box-shadow:inset 2px 0 0 var(--accent-soft-border)}.chat-history-item-row.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent), var(--shadow-accent-sm)}.chat-history-item{color:var(--text);gap:var(--space-2);min-width:0;min-height:46px;padding:var(--space-1-5) var(--space-2) var(--space-1-5) var(--space-2-5);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);width:100%;display:grid}.chat-history-item:disabled{cursor:not-allowed;opacity:.5}.chat-history-status-dot{background:var(--text-soft);border:2px solid var(--panel-bg-solid);box-shadow:0 0 0 1px var(--border);height:9px;margin-top:var(--space-1);border-radius:50%;align-self:start;width:9px}.chat-history-status-dot.status-running,.chat-history-status-dot.status-awaiting_review,.chat-history-status-dot.status-awaiting_takeover{background:var(--accent);box-shadow:0 0 0 1px var(--border), 0 0 8px #3b82f666}.chat-history-status-dot.status-done{background:var(--primary);box-shadow:0 0 0 1px var(--border), 0 0 8px #10b98166}.chat-history-status-dot.status-error{background:var(--danger);box-shadow:0 0 0 1px var(--border), 0 0 8px #f43f5e66}.chat-history-status-dot.status-stopped{background:var(--warn);box-shadow:0 0 0 1px var(--border), 0 0 8px #f59e0b66}.chat-history-item-text{gap:2px;min-width:0;display:grid}.chat-history-item-title{font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;line-height:1.25;overflow:hidden}.chat-history-item-meta{color:var(--text-soft);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.25;overflow:hidden}.chat-history-delete{border-radius:var(--radius-sm);color:var(--text-soft);opacity:.6;height:26px;min-height:26px;transition:background var(--duration-fast) var(--ease-productive), color var(--duration-fast) var(--ease-productive), opacity var(--duration-fast) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);background:0 0;border:0;justify-content:center;align-items:center;width:26px;padding:0;display:flex}.chat-history-item-row:hover .chat-history-delete,.chat-history-delete:focus-visible{opacity:1}.chat-history-delete:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);transform:scale(1.1)}.chat-history-empty{background:var(--surface-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-soft);align-items:center;gap:var(--space-2);margin:var(--space-3-5) var(--space-2);padding:var(--space-4) var(--space-3);text-align:center;justify-items:center;display:grid}.chat-history-empty svg{color:var(--accent)}.chat-history-empty p{font-size:var(--text-base);margin:0}.chat-history-empty-action{border-color:var(--border-strong);border-radius:var(--radius-md);box-shadow:none;color:var(--text-secondary);font-size:var(--text-sm);min-height:30px;padding:0 var(--space-2-5);background:0 0;font-weight:600}.chat-history-empty-action:hover:not(:disabled),.chat-history-empty-action:focus-visible{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-soft-text)}.chat-composer{background:linear-gradient(180deg, transparent, var(--panel-bg) 12px);-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);border-top:1px solid var(--border);padding:var(--space-4) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-4));z-index:3;display:block;position:relative}.chat-input-frame{background:var(--field-bg);-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:text;align-items:stretch;gap:var(--space-1);max-width:40rem;min-height:72px;padding:var(--space-2) var(--space-4);transition:background var(--duration-fast) var(--ease-productive), border-color var(--duration-fast) var(--ease-productive), box-shadow var(--duration-fast) var(--ease-productive);flex-direction:column;margin:0 auto;display:flex}.chat-input-frame:focus-within{background:var(--panel-bg-elevated);border-color:var(--accent-soft-border);box-shadow:var(--glow-accent)}.chat-input-label{flex:auto;align-items:flex-start;min-width:0;min-height:24px;display:flex}.chat-input{box-shadow:none;font-size:var(--text-base);min-height:24px;max-height:120px;padding:2px var(--space-1) 0;resize:none;background:0 0;border:0;border-radius:0;flex:auto;width:100%;line-height:22px;display:block;overflow-y:auto}.chat-input:focus,.chat-input:focus-visible{box-shadow:none;border:0;outline:none}.chat-input-actions{min-height:38px;padding-top:var(--space-1);justify-content:flex-end;align-items:center;width:100%;display:flex}.chat-input-action-spacer{display:none}.chat-send{aspect-ratio:1;height:38px;min-height:38px;transition:background var(--duration-fast) var(--ease-productive), border-color var(--duration-fast) var(--ease-productive), box-shadow var(--duration-fast) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);border-radius:50%;flex:0 0 38px;place-items:center;gap:0;width:38px;padding:0;line-height:0;display:grid;position:static}.chat-send.button--primary{background:var(--gradient-accent);box-shadow:var(--shadow-accent-sm);color:var(--on-primary);border-color:#0000}.chat-send.button--primary:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.chat-send.button--primary:disabled{background:var(--surface-muted);border-color:var(--surface-muted-border);box-shadow:none;color:var(--text-soft);opacity:1}.chat-send svg{display:block}@keyframes stop-pulse{0%,to{box-shadow:0 0 #f43f5e66}50%{box-shadow:0 0 0 6px #f43f5e00}}.chat-stop{background:var(--gradient-danger);color:var(--on-primary);border-color:#0000;animation:1.8s infinite stop-pulse}.chat-stop:hover:not(:disabled){background:var(--gradient-danger);filter:brightness(.92);border-color:#0000}.chat-send:disabled{background:var(--surface-muted);border-color:var(--surface-muted-border);color:var(--text-soft);opacity:1}.markdown-content{color:inherit;line-height:inherit;overflow-wrap:anywhere;min-width:0}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:0 0 .6em}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:inherit;margin:.8em 0 .35em;font-weight:700;line-height:1.22}.markdown-content h1{font-size:1.25em}.markdown-content h2{font-size:1.12em}.markdown-content h3,.markdown-content h4{font-size:1em}.markdown-content ul,.markdown-content ol{margin:.3em 0 .6em;padding-left:1.3em}.markdown-content li+li{margin-top:.2em}.markdown-content blockquote{background:var(--surface-muted);border:1px solid var(--border);border-left:3px solid;border-image:var(--gradient-brand) 1;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-secondary);margin:.7em 0;padding:.5em .7em}.markdown-content a{color:var(--accent);text-underline-offset:2px;transition:color var(--duration-fast) var(--ease-productive), text-decoration-color var(--duration-fast) var(--ease-productive);font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.markdown-content a:hover{text-decoration-color:currentColor}.markdown-content code{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.1em .3em;font:.92em/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.markdown-content pre{background:var(--phone-screen);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--modal-text);font:var(--text-sm)/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;max-width:100%;margin:.7em 0;padding:10px;position:relative;overflow:auto}.markdown-content pre code{color:inherit;font:inherit;white-space:pre;background:0 0;border:0;border-radius:0;padding:0;display:block}.markdown-content table{border-collapse:separate;border:1px solid var(--border);border-radius:var(--radius-md);border-spacing:0;max-width:100%;margin:.7em 0;display:block;overflow:hidden}.markdown-content th,.markdown-content td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px}.markdown-content th{background:var(--surface-muted);font-size:var(--text-base);font-weight:600}.markdown-content tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-muted) 50%, transparent)}.markdown-content tr:hover td{background:var(--accent-soft)}.markdown-content hr{background:var(--gradient-brand);opacity:.3;border:0;height:1px;margin:1em 0}.markdown-content input[type=checkbox]{vertical-align:middle;margin:0 .35em 0 0}.chat-message.observation .markdown-content p{margin:0}@keyframes step-card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes running-pulse{0%,to{box-shadow:inset 3px 0 0 var(--accent), var(--shadow-accent-sm)}50%{box-shadow:inset 3px 0 0 var(--accent), inset 6px 0 0 #3b82f626, var(--glow-accent)}}.agent-step-card{animation:step-card-enter .25s var(--ease-out-expo) both;background:var(--panel-bg);-webkit-backdrop-filter:blur(20px)saturate(1.3);backdrop-filter:blur(20px)saturate(1.3);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:var(--space-2);min-width:0;max-width:100%;padding:var(--space-3) var(--space-4);transition:border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-moderate) var(--ease-productive);justify-self:stretch;width:100%;display:grid}.agent-step-card.running{animation:running-pulse 2s var(--ease-productive) infinite;border-color:var(--accent-soft-border)}.agent-step-card.success{border-color:var(--status-ok-border);box-shadow:inset 3px 0 0 var(--primary), var(--shadow-primary-sm)}.agent-step-card.failed{border-color:var(--danger-border);box-shadow:inset 3px 0 0 var(--danger), 0 2px 8px #f43f5e1f}.agent-step-card.review,.agent-step-card.takeover{border-color:var(--warn-border);box-shadow:inset 3px 0 0 var(--warn), 0 2px 8px #f59e0b1f}.agent-step-header{align-items:center;gap:var(--space-2);line-height:var(--leading-tight);justify-content:space-between;min-width:0;display:flex}.agent-step-heading{color:var(--text);font-size:var(--text-base);font-weight:var(--font-weight-semibold);align-items:center;gap:7px;min-width:0;display:flex}.agent-step-action-icon{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.agent-step-action-icon svg{height:var(--text-md);width:var(--text-md);display:block}.agent-step-action-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.agent-step-header-meta{flex:none;align-items:center;gap:5px;display:flex}.agent-step-index{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);letter-spacing:0;flex:none;justify-content:center;align-items:center;min-width:24px;height:18px;padding:0 5px;line-height:1;display:inline-flex}.agent-step-status svg{color:currentColor;height:var(--text-sm);width:var(--text-sm);flex:none}.agent-step-summary{color:var(--text);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);overflow-wrap:anywhere;margin:0}.agent-step-summary p{margin:0}.agent-step-quick-meta{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.agent-step-chip{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;max-width:min(100%,180px);min-height:20px;padding:0 7px;line-height:1;display:inline-flex;overflow:hidden}.agent-step-card.running .agent-step-chip{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-soft-text)}.agent-step-card.success .agent-step-chip{background:var(--status-ok-bg);border-color:var(--status-ok-border);color:var(--status-ok-text)}.agent-step-card.failed .agent-step-chip{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.agent-step-card.review .agent-step-chip,.agent-step-card.takeover .agent-step-chip{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.agent-step-status{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-1);flex:none;padding:3px 7px 3px 5px;line-height:1;display:inline-flex}.agent-step-status.running{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-soft-text)}.agent-step-status.success{background:var(--status-ok-bg);border-color:var(--status-ok-border);color:var(--status-ok-text)}.agent-step-status.failed{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.agent-step-status.review,.agent-step-status.takeover{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.agent-step-body{gap:var(--space-2);display:grid}.agent-step-block{gap:3px;display:grid}.agent-step-label,.agent-step-detail-title{color:var(--text-soft);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.agent-step-block p{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0}.agent-step-block.result p{color:var(--text)}.agent-step-block.result p.pending{color:var(--text-soft)}.agent-step-meta{color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.agent-step-meta span{overflow-wrap:anywhere;align-items:center;gap:5px;min-width:0;display:inline-flex}.agent-step-details{color:var(--text-muted);gap:6px;padding-top:1px;display:grid}.agent-step-details summary{color:var(--text-soft);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-1);width:fit-content;line-height:1.1;list-style:none;display:inline-flex}.agent-step-details summary::-webkit-details-marker{display:none}.agent-step-details summary:before{content:"";transform-origin:50%;height:0;transition:transform var(--duration-fast) var(--ease-productive);border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;width:0}.agent-step-details[open] summary:before{transform:rotate(90deg)}.agent-step-details-grid{font-size:var(--text-xs);gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.agent-step-details pre{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font:var(--text-xs)/1.35 var(--mono);max-height:140px;padding:var(--space-2);white-space:pre-wrap;word-break:break-word;margin:0;overflow:auto}.agent-step-details pre.pending{color:var(--text-soft)}.agent-step-spinner{animation:.9s linear infinite agent-step-spin}@keyframes agent-step-spin{to{transform:rotate(360deg)}}@media (width<=620px){.agent-step-card{max-width:100%}}.tutorial-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px)saturate(1.3);backdrop-filter:blur(20px)saturate(1.3);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);gap:var(--space-4);margin:0 auto var(--space-7);max-width:1480px;padding:var(--space-6);display:grid}.tutorial-header{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.tutorial-header p:last-child{color:var(--text-secondary);font-size:var(--text-md);margin:var(--space-2) 0 0;max-width:720px}.tutorial-steps{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tutorial-steps li{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-3);min-height:160px;padding:var(--space-4);transition:border-color var(--duration-normal) var(--ease-productive), box-shadow var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);grid-template-columns:auto 1fr;display:grid;position:relative}.tutorial-steps li:hover{border-color:var(--accent-soft-border);box-shadow:var(--shadow-sm), var(--shadow-accent-sm);transform:translateY(-2px)}.tutorial-step-number{background:var(--gradient-primary);border-radius:var(--radius-full);color:var(--on-primary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.tutorial-step-icon{color:var(--accent);justify-content:flex-end;align-items:center;display:flex}.tutorial-steps h3,.tutorial-notes h3,.tutorial-faq h3{color:var(--text);font-size:var(--text-md);line-height:var(--leading-tight);margin:0}.tutorial-steps p{color:var(--text-secondary);font-size:var(--text-md);line-height:var(--leading-normal);margin:var(--space-2) 0 0}.tutorial-notes{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.tutorial-notes h3{color:var(--accent-soft-text)}.tutorial-notes ul{color:var(--text-secondary);gap:var(--space-2);font-size:var(--text-md);margin:var(--space-3) 0 0;padding-left:18px;line-height:1.45;display:grid}.tutorial-faq{gap:var(--space-3);display:grid}.tutorial-faq-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tutorial-faq article{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-2);padding:var(--space-3);display:grid}.tutorial-faq h4{color:var(--text);font-size:var(--text-md);line-height:var(--leading-snug);margin:0}.tutorial-faq p{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.45}@media (width<=980px){.tutorial-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-faq-list{grid-template-columns:1fr}}@media (width<=620px){.tutorial-panel{padding:var(--space-4)}.tutorial-header{gap:var(--space-3)}.tutorial-steps{grid-template-columns:1fr}.tutorial-steps li{min-height:0}}.sensitive-action-dialog-page{animation:sensitive-dialog-overlay-in .2s var(--ease-out-expo);background:var(--overlay);-webkit-backdrop-filter:blur(16px)saturate(1.15);backdrop-filter:blur(16px)saturate(1.15);padding:var(--space-7);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes sensitive-dialog-overlay-in{0%{opacity:0}to{opacity:1}}.sensitive-action-dialog-panel{--sensitive-action-dialog-padding:var(--space-5);animation:sensitive-dialog-panel-in .35s var(--ease-out-expo);background:var(--panel-bg-elevated);-webkit-backdrop-filter:blur(40px)saturate(1.4);backdrop-filter:blur(40px)saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-elevated), var(--shadow-accent-sm);gap:var(--space-6);overscroll-behavior:contain;max-width:480px;min-height:0;max-height:min(100dvh - 48px,600px);padding:var(--sensitive-action-dialog-padding);scrollbar-gutter:stable;width:min(100%,480px);display:grid;overflow-y:auto}@keyframes sensitive-dialog-panel-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.sensitive-action-dialog-header{align-items:flex-start;gap:var(--space-5);display:flex}.sensitive-action-dialog-header h2{font-size:var(--text-xl);line-height:var(--leading-tight)}.sensitive-action-dialog-icon{animation:warn-icon-pulse 2s var(--ease-productive) infinite;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-lg);color:var(--warn);flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}@keyframes warn-icon-pulse{0%,to{box-shadow:0 0 0 0 #f59e0b66, var(--glow-warn)}50%{box-shadow:0 0 0 8px #f59e0b00, var(--glow-warn)}}.sensitive-action-dialog-message,.sensitive-action-dialog-prompt{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.sensitive-action-dialog-prompt{padding-bottom:var(--space-1)}.sensitive-action-dialog-preview{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-2);padding:var(--space-4);display:grid}.sensitive-action-dialog-preview span{color:var(--text-soft);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.sensitive-action-dialog-preview code{color:var(--text);font:var(--text-base)/1.45 var(--mono);overflow-wrap:anywhere}.sensitive-action-dialog-actions{background:linear-gradient(180deg, transparent, var(--panel-bg-elevated) 18px);bottom:calc(var(--sensitive-action-dialog-padding) * -1);gap:var(--space-3);margin:-4px 0 calc(var(--sensitive-action-dialog-padding) * -1);padding:var(--space-4) 0 var(--sensitive-action-dialog-padding);z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:sticky}@media (width<=520px){.sensitive-action-dialog-page{padding:var(--space-5);align-items:flex-end}.sensitive-action-dialog-panel{--sensitive-action-dialog-padding:var(--space-4);max-height:calc(100dvh - 24px)}.sensitive-action-dialog-actions{grid-template-columns:1fr}}.log-drawer{margin:var(--space-7) auto 0;max-width:1480px}.log-drawer>summary{grid-template-columns:4px minmax(0,auto) minmax(0,1fr) 14px;min-height:42px}.log-drawer>summary small{color:var(--text-soft);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.log-title{justify-content:space-between}.log-title span{align-items:center;gap:var(--space-2);display:flex}.log-section{box-shadow:none;padding:var(--space-7);border:0;margin:0}.log-list{gap:var(--space-3);margin-top:var(--space-3);display:grid}.log-empty-state{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-soft);align-items:center;gap:var(--space-2);min-height:46px;padding:0 var(--space-3);display:flex}.log-empty-state svg{color:var(--accent);flex:none}.log-empty-state p{font-size:var(--text-md);margin:0}.log-entry{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);gap:5px;display:grid}.log-entry.with-screenshot{gap:7px}.log-entry-content{gap:5px;min-width:0;display:grid}.log-entry-body{align-items:start;column-gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.log-entry-text{gap:var(--space-2);min-width:0;display:grid}.log-entry-media{justify-content:flex-end;display:flex}.log-entry.ok{border-color:var(--status-ok-border)}.log-entry.warn{border-color:var(--warn-border)}.log-entry.error{border-color:var(--danger-border)}.log-entry time{color:var(--text-soft);font-size:var(--text-sm)}.log-entry strong{color:var(--text)}.log-entry pre{background:var(--field-bg-inset);border-radius:var(--radius-md);color:var(--text-secondary);max-height:160px;padding:var(--space-2);white-space:pre-wrap;word-break:break-word;margin:2px 0 0;overflow:auto}.step-timeline{background:var(--surface-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-2);padding:var(--space-3);display:grid}.step-timeline-header{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.step-timeline-header span{background:var(--status-ok-bg);border:1px solid var(--status-ok-border);border-radius:var(--radius-full);color:var(--status-ok-text);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);padding:3px var(--space-2)}.step-timeline-header code{color:var(--text-soft);font:var(--text-sm)/1.3 var(--mono);overflow-wrap:anywhere}.step-timeline-field{gap:var(--space-1);display:grid}.step-timeline-field>span{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.step-timeline-field pre{max-height:100px;margin:0}.log-screenshot-button{background:var(--phone-screen);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:zoom-in;height:140px;transition:box-shadow var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);border:0;width:106px;padding:0;position:relative;overflow:hidden}.log-screenshot-button:hover{box-shadow:var(--shadow-md)}.log-screenshot-button img{object-fit:contain;width:100%;height:100%;display:block}.log-screenshot-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--on-primary);opacity:0;transition:opacity var(--duration-fast) var(--ease-productive);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.log-screenshot-button:hover .log-screenshot-overlay,.log-screenshot-button:focus-visible .log-screenshot-overlay{opacity:1}.screenshot-modal{animation:screenshot-modal-in .25s var(--ease-out-expo);background:var(--overlay);-webkit-backdrop-filter:blur(16px)saturate(1.15);backdrop-filter:blur(16px)saturate(1.15);padding:var(--space-7);z-index:30;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes screenshot-modal-in{0%{opacity:0}to{opacity:1}}.screenshot-modal-panel{animation:screenshot-panel-in .35s var(--ease-out-expo);background:var(--phone-screen);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated), var(--shadow-accent-sm);gap:var(--space-5);max-width:min(92vw,1200px);max-height:92vh;padding:var(--space-5);width:100%;display:grid}@keyframes screenshot-panel-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.screenshot-modal-header{color:var(--modal-text);align-items:center;gap:var(--space-5);justify-content:space-between;min-width:0;display:flex}.screenshot-modal-header strong{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;max-width:min(54vw,600px);display:block;overflow:hidden}.screenshot-modal-header small{color:var(--text-soft)}.screenshot-modal-close{color:var(--modal-text);height:34px;transition:background var(--duration-normal) var(--ease-productive), transform var(--duration-fast) var(--ease-spring);background:#ffffff14;border-color:#ffffff1f;flex:none;width:34px}.screenshot-modal-close:hover:not(:disabled){transform:scale(1.08)}.screenshot-modal-toolbar,.screenshot-modal-zoom-controls{align-items:center;gap:var(--space-3);min-width:0;display:flex}.screenshot-modal-zoom-controls{border-radius:var(--radius-full);background:#ffffff14;border:1px solid #ffffff1f;padding:3px}.screenshot-modal-zoom-controls button{color:var(--modal-text);height:28px;min-height:28px;transition:background var(--duration-fast) var(--ease-productive);background:0 0;border-color:#0000;flex:none;width:28px;padding:0}.screenshot-modal-zoom-controls button:hover:not(:disabled),.screenshot-modal-zoom-controls button:focus-visible{background:#ffffff1f;border-color:#ffffff24}.screenshot-modal-zoom-controls button:disabled{color:#f8fafc66;opacity:1}.screenshot-modal-zoom-controls span{color:var(--modal-text);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);text-align:center;flex:0 0 46px}.screenshot-modal-viewport{text-align:center;height:calc(92vh - 86px);overflow:auto}.screenshot-modal-viewport img{background:var(--phone-screen);border-radius:var(--radius-md);object-fit:contain;max-width:none;transition:height 80ms var(--ease-productive);width:auto;margin:0 auto;display:block}@media (width<=640px){.screenshot-modal{padding:var(--space-4)}.screenshot-modal-panel{gap:var(--space-4);max-height:calc(100dvh - 20px);padding:var(--space-4)}.screenshot-modal-header{align-items:flex-start}.screenshot-modal-header strong{max-width:120px}.screenshot-modal-toolbar{gap:var(--space-2)}.screenshot-modal-zoom-controls{gap:2px}.screenshot-modal-zoom-controls span{flex-basis:42px}.screenshot-modal-viewport{height:calc(100dvh - 80px)}}@media (width<=380px){.screenshot-modal-header{grid-template-columns:minmax(0,1fr);display:grid}.screenshot-modal-header strong{max-width:100%}.screenshot-modal-toolbar{justify-content:space-between;width:100%}.screenshot-modal-zoom-controls{flex:none}.screenshot-modal-viewport{height:calc(100dvh - 126px)}}@media (width<=1199px){.app-shell{padding:var(--space-3) var(--space-3) var(--space-4)}.workspace{gap:var(--space-3);grid-template-columns:minmax(280px,340px) minmax(360px,1fr)}.workspace-config-collapsed{grid-template-columns:64px minmax(360px,1fr)}.conversation-panel{grid-column:1/-1}.phone-stage{min-height:620px}.phone-frame{max-height:80vh}}@media (width<=899px){.workspace,.workspace-config-collapsed{gap:var(--space-3);grid-template-columns:1fr;min-height:0}.conversation-panel{order:2}.phone-column{order:1}.config-panel{order:3}.config-panel-expanded{max-height:none;overflow:visible}.config-panel-expanded:after{display:none}.config-panel-expanded .config-sidebar-header{position:static}.config-panel-collapsed{align-items:stretch}.config-panel-collapsed .config-sidebar-header{justify-content:flex-start}.config-panel-collapsed .config-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.config-panel-collapsed .config-rail-button{width:100%}}@media (width<=760px){.topbar{gap:var(--space-2);margin-bottom:var(--space-2);min-height:44px;padding:var(--space-1) 0;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;display:grid;overflow:hidden}.topbar-actions{gap:var(--space-1);flex:auto;width:auto;min-width:0;margin-left:0;display:flex}.topbar-brand{gap:var(--space-2);min-height:36px;padding:0 var(--space-2) 0 var(--space-0-5);flex:0 128px}.topbar-brand h1{font-size:var(--text-base);max-width:90px}.topbar-button{justify-self:end;width:36px;min-height:36px}.status-strip{scrollbar-width:none;flex-wrap:nowrap;flex:auto;justify-content:flex-start;margin-left:0;overflow:hidden}.status-strip::-webkit-scrollbar{display:none}.status{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:160px;min-height:32px;overflow:hidden}}@media (width<=620px){.app-shell{padding:var(--space-2);overflow-x:hidden}.topbar{max-width:calc(100vw - var(--space-4));padding:var(--space-1) var(--space-2) var(--space-2);width:calc(100vw - var(--space-4));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions""status status";align-items:center}.topbar-brand{gap:var(--space-2);min-width:0;padding-right:var(--space-0-5);flex-basis:auto;grid-area:brand}.topbar-brand h1{display:none}.topbar-button{width:36px;min-height:34px;padding:0}.topbar-actions{grid-area:actions;justify-self:end}.topbar-button-label{display:none}.status-strip{gap:var(--space-2);grid-area:status;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);width:100%;display:grid}.status{max-width:100%;min-height:30px;padding:var(--space-1) var(--space-2);justify-content:center}.status-prefix{display:none}.direct-text-row{grid-template-columns:1fr}.chat-shell{min-height:min(58dvh,520px)}.chat-shell:has(.chat-empty-state){min-height:clamp(320px,42dvh,420px)}.chat-stream{padding:var(--space-4) var(--space-2)}.chat-stream:has(.chat-empty-state){padding-bottom:var(--space-4)}.chat-empty-state{gap:var(--space-2);max-width:100%;transform:translateY(-4px)}.conversation-panel-title{gap:var(--space-2)}.conversation-panel-title .panel-title-action{aspect-ratio:1;gap:0;width:34px;min-height:34px;padding:0;font-size:0}.conversation-panel-title .panel-title-action svg{color:var(--text-secondary)}.chat-composer{padding:var(--space-2) var(--space-2) calc(env(safe-area-inset-bottom,0px) + var(--space-2))}.chat-input-frame{border-radius:var(--radius-full);min-height:70px;padding:var(--space-1) var(--space-2)}.chat-input{min-height:24px;max-height:100px}}@media (width<=720px){.log-entry-body{row-gap:var(--space-2);grid-template-columns:1fr}.log-entry-media{justify-content:flex-start}}@media (width<=560px){.config-section-heading{grid-template-columns:1fr;align-items:start}.config-section-heading>span{width:100%;max-width:100%}}@media (width<=360px){.chat-empty-state{gap:var(--space-2);transform:none}.chat-empty-icon{border-radius:var(--radius-md);width:42px;height:42px}.chat-empty-state strong{font-size:var(--text-sm)}}
