@charset "UTF-8";@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgtIU.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgtIU.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgtIU.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgtIU.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-bg-base: #F7F5F2;--color-bg-raised: #FFFFFF;--color-bg-sunken: #EDEAE5;--color-bg-subtle: #EDEAE5;--color-bg-overlay: rgba(26, 26, 26, .4);--color-border-subtle: #E0DDD6;--color-border-strong: #C8C4BC;--color-text-primary: #1A1A1A;--color-text-secondary: #5C5A55;--color-text-tertiary: #8A877F;--color-text-inverse: #F7F5F2;--color-accent: #E85D04;--color-accent-hover: #C2410C;--color-accent-muted: #FEF3EB;--color-focus-ring: #2563EB;--color-editor-selection: rgba(37, 99, 235, .35);--color-editor-selection-inactive: rgba(37, 99, 235, .2);--color-editor-active-line: color-mix(in srgb, var(--color-bg-subtle) 38%, transparent);--color-success: #15803D;--color-warning: #B45309;--color-error: #B91C1C;--color-info: #1D4ED8;--color-presence-user: #2563EB;--color-presence-user-alt: #7C3AED;--color-session-active: #E85D04;--color-session-finalized: #5C5A55;--color-ai-message: #EDEAE5;--color-human-message: #FFFFFF;--color-diff-add-bg: #ECFDF5;--color-diff-add-text: #15803D;--color-diff-del-bg: #FEF2F2;--color-diff-del-text: #B91C1C;--color-diff-hunk: #1D4ED8;--color-diff-meta: #5C5A55;--font-sans: "Inter", "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 22px;--lh-xs: 16px;--lh-sm: 16px;--lh-base: 20px;--lh-md: 22px;--lh-lg: 24px;--lh-xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--sidebar-width: 260px;--chat-width: 320px;--topbar-height: 48px;--shadow-raised: 0 1px 3px rgba(0, 0, 0, .06);--shadow-overlay: 0 8px 24px rgba(0, 0, 0, .12);--transition-fast: .12s ease-out;--transition-theme: .2s ease}[data-theme=dark]{color-scheme:dark;--color-bg-base: #1A1918;--color-bg-raised: #242322;--color-bg-sunken: #141312;--color-bg-subtle: #242322;--color-bg-overlay: rgba(0, 0, 0, .6);--color-border-subtle: #3A3836;--color-border-strong: #4D4A47;--color-text-primary: #EDEAE5;--color-text-secondary: #A8A49C;--color-text-tertiary: #6B6760;--color-text-inverse: #1A1918;--color-accent: #F97316;--color-accent-hover: #FB923C;--color-accent-muted: #431407;--color-focus-ring: #60A5FA;--color-editor-selection: rgba(96, 165, 250, .42);--color-editor-selection-inactive: rgba(96, 165, 250, .24);--color-editor-active-line: color-mix(in srgb, var(--color-bg-subtle) 45%, transparent);--color-success: #22C55E;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--color-ai-message: #2A2928;--color-human-message: #242322;--color-diff-add-bg: #052e16;--color-diff-add-text: #22C55E;--color-diff-del-bg: #450a0a;--color-diff-del-text: #EF4444;--color-diff-hunk: #60A5FA;--color-diff-meta: #A8A49C;--shadow-raised: 0 2px 8px rgba(0, 0, 0, .35);--shadow-overlay: 0 12px 32px rgba(0, 0, 0, .5)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-base);color:var(--color-text-primary);background:var(--color-bg-base);transition:background-color var(--transition-theme),color var(--transition-theme),border-color var(--transition-theme)}h1,h2,h3,h4,p{margin:0}a{color:var(--color-info);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.mono{font-family:var(--font-mono)}.text-xs{font-size:var(--text-xs);line-height:var(--lh-xs)}.text-sm{font-size:var(--text-sm);line-height:var(--lh-sm)}.text-base{font-size:var(--text-base);line-height:var(--lh-base)}.text-md{font-size:var(--text-md);line-height:var(--lh-md);font-weight:500}.text-lg{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:600}.text-xl{font-size:var(--text-xl);line-height:var(--lh-xl);font-weight:600}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.label-caps{font-size:var(--text-sm);font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;line-height:var(--lh-base);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-raised);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-sunken)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){color:var(--color-accent);background:var(--color-accent-muted)}.btn-danger-ghost{background:transparent;color:var(--color-error);border-color:var(--color-border-strong)}.btn-danger-ghost:hover:not(:disabled){background:var(--color-bg-sunken)}.btn-icon{width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast)}.btn-icon:hover{background:var(--color-bg-sunken);color:var(--color-text-primary)}.btn-icon.active,.btn-icon[aria-pressed=true]{background:var(--color-accent-muted);color:var(--color-accent);border-color:var(--color-accent)}.btn-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:var(--text-base);font-weight:500;color:var(--color-text-primary)}.field-hint{font-size:var(--text-sm);color:var(--color-text-secondary)}.field-error{font-size:var(--text-sm);color:var(--color-error)}.input,.select,.textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-base);color:var(--color-text-primary);background:var(--color-bg-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus-ring) 25%,transparent)}.input::placeholder,.textarea::placeholder{color:var(--color-text-tertiary)}.textarea{resize:vertical;min-height:80px}.input-mono{font-family:var(--font-mono);font-size:var(--text-sm)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-bg-sunken);color:var(--color-text-secondary)}.badge-success{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 30%,transparent);background:color-mix(in srgb,var(--color-success) 10%,transparent)}.badge-warning{color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 30%,transparent);background:color-mix(in srgb,var(--color-warning) 10%,transparent)}.badge-error{color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 30%,transparent);background:color-mix(in srgb,var(--color-error) 10%,transparent)}.badge-info{color:var(--color-info);border-color:color-mix(in srgb,var(--color-info) 30%,transparent);background:color-mix(in srgb,var(--color-info) 10%,transparent)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot-active{background:var(--color-session-active)}.status-dot-success{background:var(--color-success)}.status-dot-warning{background:var(--color-warning)}.status-dot-finalized{background:var(--color-session-finalized)}.status-dot-pulse{animation:pulse 1.2s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.segmented{display:inline-flex;padding:2px;background:var(--color-bg-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.segmented button{padding:var(--space-1) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.segmented button.active,.segmented button[aria-selected=true]{background:var(--color-bg-raised);color:var(--color-text-primary);border-color:var(--color-border-subtle);box-shadow:var(--shadow-raised)}.card{background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.card-raised{box-shadow:var(--shadow-raised)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.toggle{position:relative;width:36px;height:20px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:var(--color-bg-raised);border-radius:2px;transition:transform var(--transition-fast)}.toggle input:checked+.toggle-slider{background:var(--color-accent)}.toggle input:checked+.toggle-slider:before{transform:translate(16px)}.toggle input:focus-visible+.toggle-slider{outline:2px solid var(--color-focus-ring);outline-offset:2px}.avatar{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-bg-sunken);border:1px solid var(--color-border-subtle);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary)}.avatar-stack{display:flex}.avatar-stack .avatar{margin-left:-8px;box-shadow:0 0 0 2px var(--color-bg-raised)}.avatar-stack .avatar:first-child{margin-left:0}.avatar--photo,img.avatar{object-fit:cover;padding:0;background:transparent}.avatar-stack .avatar--photo,.avatar-stack img.avatar{box-shadow:0 0 0 2px var(--color-bg-raised)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);max-width:420px}.modal-backdrop{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:1000}.modal{width:100%;max-width:480px;background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);padding:var(--space-6)}.modal-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.modal-body{margin:var(--space-4) 0 var(--space-6);color:var(--color-text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.settings-menu-wrap{position:relative}.settings-menu-trigger{font-size:var(--text-sm);color:var(--color-text-secondary);background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.settings-menu-trigger:hover,.settings-menu-trigger[aria-expanded=true]{color:var(--color-text-primary)}.settings-menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:30;min-width:180px;background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.settings-menu[hidden]{display:none}.settings-menu-item{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-primary);text-decoration:none}.settings-menu-item:hover{background:var(--color-bg-sunken);text-decoration:none;color:var(--color-text-primary)}.settings-menu-item.is-active{background:var(--color-accent-muted);color:var(--color-accent);font-weight:500}.project-switcher{display:inline-flex;align-items:center;gap:var(--space-2);max-width:280px;padding:var(--space-1) var(--space-3);background:var(--color-bg-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:500;color:var(--color-text-primary)}.project-switcher:hover{background:var(--color-bg-sunken)}.project-switcher svg{width:16px;height:16px;stroke:var(--color-text-secondary);fill:none;stroke-width:1.5}.file-tree{font-family:var(--font-mono);font-size:var(--text-sm);list-style:none;margin:0;padding:0}.file-tree li{height:28px;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);color:var(--color-text-primary);cursor:pointer;border-left:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;overflow:hidden}.file-tree li:hover{background:var(--color-bg-sunken)}.file-tree li.selected{background:var(--color-accent-muted);border-left-color:var(--color-accent)}.file-tree .indent-1{padding-left:var(--space-4)}.file-tree .indent-2{padding-left:calc(var(--space-4) + 16px)}.file-tree .indent-3{padding-left:calc(var(--space-4) + 32px)}.file-tree svg{width:16px;height:16px;stroke:var(--color-text-secondary);fill:none;stroke-width:1.5;flex-shrink:0}.chat-panel{display:flex;flex-direction:column;height:100%;background:var(--color-bg-raised);border-left:1px solid var(--color-border-subtle)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.chat-bubble{max-width:90%;padding:var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-base);line-height:var(--lh-base)}.chat-bubble-human{background:var(--color-human-message);border:1px solid var(--color-border-subtle);align-self:flex-end}.chat-bubble-ai{background:var(--color-ai-message);border:1px solid var(--color-border-subtle);align-self:flex-start}.chat-bubble-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.chat-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--color-bg-sunken);border:1px solid var(--color-border-subtle)}.chat-avatar--agent{display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--color-text-secondary);background:var(--color-bg-sunken)}.chat-avatar--agent svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.5}.ai-trace{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-2) 0 var(--space-3)}.ai-trace-block{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-base);overflow:hidden}.ai-trace-block summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-secondary);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.ai-trace-block summary::-webkit-details-marker{display:none}.ai-trace-block summary:before{content:"";width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.ai-trace-block[open] summary:before{transform:rotate(90deg)}.ai-thinking-content{padding:0 var(--space-3) var(--space-3);font-size:var(--text-sm);line-height:var(--lh-base);color:var(--color-text-secondary);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-2);margin:0 var(--space-3) var(--space-3)}.ai-tool-call{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-base);overflow:hidden}.ai-tool-call-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);min-height:28px}.ai-tool-call-icon{display:inline-flex;color:var(--color-text-tertiary);flex-shrink:0}.ai-tool-call-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}.ai-tool-call-name{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-tool-call-header .badge{margin-left:auto;flex-shrink:0}.ai-tool-call-body{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-subtle);font-family:var(--font-mono);font-size:var(--text-xs);line-height:16px;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-all;max-height:120px;overflow-y:auto}.ai-tool-call--running{border-color:color-mix(in srgb,var(--color-warning) 40%,var(--color-border-subtle))}.ai-tool-call-output .ai-tool-call-body{color:var(--color-success)}.ai-tool-call-error .ai-tool-call-body{color:var(--color-error)}.ai-response{font-size:var(--text-base);line-height:var(--lh-base);color:var(--color-text-primary)}.ai-response--streaming:after{content:"\258b";display:inline;color:var(--color-info);animation:ai-cursor-blink 1s step-end infinite;margin-left:1px}@keyframes ai-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.chat-typing{display:flex;align-items:center;gap:var(--space-2);align-self:flex-start;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary);transition:opacity var(--transition-fast),transform var(--transition-fast)}.chat-typing[hidden]{display:none}.chat-typing-avatars{display:flex;flex-shrink:0}.chat-typing-avatars .chat-avatar{margin-left:-6px;box-shadow:0 0 0 1px var(--color-bg-raised)}.chat-typing-avatars .chat-avatar:first-child{margin-left:0}.chat-typing-body{display:flex;align-items:center;gap:var(--space-2);min-width:0}.chat-typing-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-typing-dots{display:inline-flex;gap:3px;align-items:center;flex-shrink:0;height:12px}.chat-typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--color-text-tertiary);animation:typing-dot 1.2s ease-in-out infinite}.chat-typing-dots span:nth-child(2){animation-delay:.15s}.chat-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-3px);opacity:1}}.chat-input-area{position:relative;padding:var(--space-3) var(--space-4)}.mention-menu{position:absolute;bottom:calc(100% - var(--space-1));left:var(--space-4);right:var(--space-4);z-index:20;background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);overflow:hidden}.mention-menu[hidden]{display:none}.mention-menu-header{padding:var(--space-2) var(--space-3);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border-subtle)}.mention-menu-list{list-style:none;margin:0;padding:var(--space-1);max-height:180px;overflow-y:auto}.mention-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--text-sm);color:var(--color-text-primary);text-align:left;cursor:pointer}.mention-item:hover,.mention-item.is-active{background:var(--color-accent-muted)}.mention-item-kind{margin-left:auto;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-tertiary)}.chat-providers{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.chip{padding:2px var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono);background:var(--color-bg-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.chat-input-row{display:flex;gap:var(--space-2);align-items:flex-end}.tab-bar{display:flex;height:36px;background:var(--color-bg-sunken);border-bottom:1px solid var(--color-border-subtle);overflow-x:auto}.tab{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);background:transparent;border:none;border-right:1px solid var(--color-border-subtle);cursor:pointer;white-space:nowrap}.tab.active{background:var(--color-bg-base);color:var(--color-text-primary)}.tab-unsaved{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.code-editor{font-family:var(--font-mono);font-size:13px;line-height:20px;padding:var(--space-4);background:var(--color-bg-base);color:var(--color-text-primary);overflow:auto;flex:1}.code-editor .line-num{display:inline-block;width:32px;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none}.code-editor .kw{color:var(--color-info)}.code-editor .str{color:var(--color-success)}.code-editor .cmt{color:var(--color-text-tertiary)}.remote-cursor{display:inline-block;width:2px;height:16px;background:var(--color-presence-user);vertical-align:text-bottom;position:relative}.remote-cursor-label{position:absolute;top:-18px;left:0;padding:1px 4px;font-size:10px;font-family:var(--font-sans);background:var(--color-presence-user);color:#fff;border-radius:2px;white-space:nowrap}.console{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg-sunken);border-top:1px solid var(--color-border-subtle);padding:var(--space-2) var(--space-3);overflow:auto;flex:0 0 35%}.console-window{flex:none;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.console-line{line-height:18px}.console-log{color:var(--color-text-primary)}.console-warn{color:var(--color-warning)}.console-error{color:var(--color-error)}.console-info{color:var(--color-info)}.diff-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-bg-sunken);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.diff-toolbar-title{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.diff-toolbar-stats{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}.diff-toolbar-stats .diff-stat-add{color:var(--color-diff-add-text)}.diff-toolbar-stats .diff-stat-del{color:var(--color-diff-del-text)}.diff-layout{display:flex;flex:1;min-height:0;overflow:hidden}.diff-file-list{width:220px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--color-border-subtle);background:var(--color-bg-sunken)}.diff-file-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;border-left:2px solid transparent}.diff-file-item:hover{background:var(--color-bg-base);color:var(--color-text-primary)}.diff-file-item.active{background:var(--color-accent-muted);border-left-color:var(--color-accent);color:var(--color-text-primary)}.diff-file-stats{margin-left:auto;font-size:var(--text-xs);white-space:nowrap}.diff-file-stats-add{color:var(--color-diff-add-text)}.diff-file-stats-del{color:var(--color-diff-del-text)}.diff-content{flex:1;min-width:0;overflow:auto;background:var(--color-bg-base)}.diff-file-header{position:sticky;top:0;z-index:1;padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;background:var(--color-bg-raised);border-bottom:1px solid var(--color-border-subtle)}.diff-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:13px;line-height:20px}.diff-table td{padding:0 var(--space-2);vertical-align:top;white-space:pre}.diff-lnum{width:40px;text-align:right;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;border-right:1px solid var(--color-border-subtle)}.diff-lnum-old,.diff-lnum-new{width:36px}.diff-code{width:100%;padding-left:var(--space-3)!important}.diff-line-context td{background:var(--color-bg-base);color:var(--color-text-primary)}.diff-line-add td{background:var(--color-diff-add-bg);color:var(--color-diff-add-text)}.diff-line-del td{background:var(--color-diff-del-bg);color:var(--color-diff-del-text)}.diff-line-hunk td{background:var(--color-bg-sunken);color:var(--color-diff-hunk);font-weight:500;padding-top:var(--space-2);padding-bottom:var(--space-2)}.diff-line-hunk .diff-lnum{border-right-color:transparent}.panel-resize-handle{flex-shrink:0;touch-action:none;background:var(--color-border-subtle);transition:background-color var(--transition-fast)}.panel-resize-handle:hover,.panel-resize-handle.is-active{background:var(--color-accent)}.panel-resize-handle--vertical{width:4px;margin:0 -2px;align-self:stretch;cursor:col-resize;z-index:2}.panel-resize-handle--horizontal{height:4px;margin:-2px 0;cursor:row-resize;z-index:2}.work-view{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}.work-view[hidden]{display:none!important}.preview-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-sunken);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.preview-toolbar-url{flex:1;min-width:0}.preview-toolbar-tools{display:flex;align-items:center;gap:var(--space-1);padding-left:var(--space-2);border-left:1px solid var(--color-border-subtle)}.preview-viewport-wrap{flex:1;min-height:0;margin:var(--space-3);display:flex;flex-direction:column}.preview-viewport{position:relative;flex:1;min-height:200px;background:var(--color-bg-raised);border:1px inset var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden}.preview-viewport--picker-active,.preview-viewport--screenshot-active{cursor:crosshair}.preview-mock-app{padding:var(--space-6);height:100%;overflow:auto}.preview-mock-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.preview-mock-title{font-size:var(--text-lg);font-weight:600}.preview-mock-card{padding:var(--space-4);background:var(--color-bg-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);max-width:360px}.preview-mock-card h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2)}.preview-mock-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.preview-mock-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-sans);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-bg-raised);cursor:default}.preview-mock-btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}[data-preview-element]{position:relative}.preview-el-frame:after{content:attr(data-preview-label);position:absolute;top:-18px;left:0;padding:1px 4px;font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--color-text-inverse);background:var(--color-info);border-radius:2px;white-space:nowrap;z-index:2;pointer-events:none}.preview-viewport--picker-active [data-preview-element]:before,.preview-viewport--picker-active [data-preview-element].preview-el-hover:before{content:"";position:absolute;inset:-3px;border:2px solid var(--color-info);border-radius:var(--radius-sm);pointer-events:none;z-index:1}.preview-viewport--picker-active [data-preview-element].preview-el-hover:before{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 30%,transparent)}.preview-screenshot-layer{position:absolute;inset:0;z-index:10;cursor:crosshair}.preview-screenshot-rect{position:absolute;border:2px dashed var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,transparent);pointer-events:none}.preview-mode-hint{position:absolute;bottom:var(--space-2);left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised);z-index:11;pointer-events:none}.chat-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.chat-attachments:empty{display:none}.chat-attachment{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-bg-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.chat-attachment-thumb{width:32px;height:20px;border-radius:2px;background:linear-gradient(135deg,var(--color-border-subtle),var(--color-bg-base));border:1px solid var(--color-border-strong);flex-shrink:0}.chat-attachment-element{color:var(--color-info)}.chat-attachment-remove{display:inline-flex;padding:0;margin:0;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;font-size:14px;line-height:1}.chat-attachment-remove:hover{color:var(--color-error)}.preview-frame{flex:1;background:var(--color-bg-sunken);border:1px inset var(--color-border-strong);margin:var(--space-4);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.terminal{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg-sunken);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-primary);line-height:18px}.terminal .prompt{color:var(--color-success)}.container-card{padding:var(--space-3);background:var(--color-bg-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.container-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.container-card-name{font-family:var(--font-mono);font-size:var(--text-sm)}.empty-state{text-align:center;padding:var(--space-8);color:var(--color-text-secondary)}.empty-state svg{width:32px;height:32px;stroke:var(--color-text-tertiary);fill:none;stroke-width:1.5;margin-bottom:var(--space-3)}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.swatch{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.swatch-color{height:64px}.swatch-info{padding:var(--space-2) var(--space-3);background:var(--color-bg-raised);font-size:var(--text-xs);font-family:var(--font-mono)}.swatch-info span{display:block;color:var(--color-text-secondary);margin-top:2px}.ds-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.ds-nav{background:var(--color-bg-sunken);border-right:1px solid var(--color-border-subtle);padding:var(--space-6) var(--space-4);position:sticky;top:0;height:100vh;overflow-y:auto}.ds-logo{font-size:var(--text-lg);font-weight:600;letter-spacing:-.02em;margin-bottom:var(--space-1)}.ds-logo-sub{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.ds-nav-group{margin-bottom:var(--space-6)}.ds-nav-group-title{font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.ds-nav a{display:block;padding:var(--space-2) var(--space-3);font-size:var(--text-base);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.ds-nav a:hover{background:var(--color-bg-base);color:var(--color-text-primary);text-decoration:none}.ds-nav a.active{background:var(--color-accent-muted);color:var(--color-accent);font-weight:500}.ds-main{padding:var(--space-8);max-width:960px}.ds-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.ds-section{margin-bottom:var(--space-8)}.ds-section-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.ds-section-desc{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.ds-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-4)}.ds-stack{display:flex;flex-direction:column;gap:var(--space-4)}.ds-preview{padding:var(--space-6);background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.ds-preview-dark{background:var(--color-bg-base)}.workspace{display:flex;flex-direction:column;height:100vh;overflow:hidden}.workspace-topbar{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-3);background:var(--color-bg-raised);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;gap:var(--space-4)}.topbar-left,.topbar-center,.topbar-right{display:flex;align-items:center;gap:var(--space-3)}.topbar-center{flex:1;justify-content:center;min-width:0}.session-title{font-size:var(--text-base);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-body{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}.workspace-sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--color-bg-sunken);border-right:1px solid var(--color-border-subtle);overflow:hidden;display:flex;flex-direction:column}.sidebar-section{border-bottom:1px solid var(--color-border-subtle)}.sidebar-section--sessions{flex-shrink:0;max-height:25%;overflow-y:auto}.sidebar-section--files{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.sidebar-section--files .sidebar-section-body{flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden}.sidebar-section--containers{flex-shrink:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.sidebar-section--containers:has(app-session-containers-panel.is-expanded){flex:1.25 1 0;min-height:0}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-section-header:hover{background:color-mix(in srgb,var(--color-bg-base) 50%,transparent)}.sidebar-section-body{padding:0 var(--space-2) var(--space-3)}.sidebar-section-header-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.sidebar-section-chevron{width:12px;height:12px;flex-shrink:0;stroke:var(--color-text-secondary);fill:none;stroke-width:1.5;transform:rotate(-90deg);transition:transform .15s ease}.sidebar-section-chevron.expanded{transform:rotate(0)}.sidebar-item{display:flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-primary);cursor:pointer}.sidebar-item:hover{background:var(--color-bg-base)}.sidebar-item.active{background:var(--color-accent-muted);font-weight:500}.sidebar-item-new{color:var(--color-text-secondary);font-size:var(--text-sm)}.sidebar-item-new:hover{color:var(--color-accent)}.workspace-main{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-base)}.workspace-chat{flex-shrink:0;min-height:0;width:100%;height:100%}.work-split{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}.admin-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:var(--space-8) var(--space-4)}.admin-card{width:100%;max-width:720px}.admin-header{text-align:center;margin-bottom:var(--space-8)}.admin-form{display:flex;flex-direction:column;gap:var(--space-4)}.admin-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.provider-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.provider-card-info h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-1)}.provider-card-info p{font-size:var(--text-sm);color:var(--color-text-secondary)}.sign-in-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8)}.sign-in-box{width:100%;max-width:400px;text-align:center}.sign-in-box h1{font-size:var(--text-xl);margin-bottom:var(--space-2)}.sign-in-box p{color:var(--color-text-secondary);margin-bottom:var(--space-8)}.btn-google{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-primary);transition:background-color var(--transition-fast)}.btn-google:hover{background:var(--color-bg-sunken)}.workspace-body app-chat-panel{display:flex;flex-direction:column;flex-shrink:0;min-width:0;max-width:100%;min-height:0;height:100%;overflow:hidden}@media(max-width:768px){.workspace-body app-chat-panel.is-drawer-open{position:fixed;inset:0;width:100vw!important;height:100dvh;z-index:40}}@media(max-width:1023px){.workspace-topbar{height:auto;min-height:var(--topbar-height);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left right" "center center";align-items:center;flex-wrap:nowrap;padding:var(--space-2) var(--space-3);padding-top:max(var(--space-2),env(safe-area-inset-top));gap:var(--space-2)}.topbar-left{grid-area:left;min-width:0;overflow:hidden}.topbar-right{grid-area:right;margin-left:0;flex-wrap:nowrap;flex-shrink:0;position:relative;z-index:1}.project-switcher{max-width:min(180px,100%);min-width:0}.project-switcher span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-center{order:unset;grid-area:center;flex:none;width:100%;justify-content:space-between;gap:var(--space-2);min-width:0}.topbar-center .segmented{flex-shrink:0}.session-title{flex:1;min-width:0;max-width:none}.workspace-sidebar{position:fixed;top:var(--topbar-height);left:0;bottom:0;width:min(var(--sidebar-width),85vw);z-index:30;transform:translate(-100%);transition:transform var(--transition-fast);box-shadow:var(--shadow-overlay)}.workspace-sidebar.workspace-sidebar--open{transform:translate(0)}.topbar-right .unpushed-label{display:none}}@media(max-width:768px){.ds-layout{grid-template-columns:1fr}.ds-nav{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--color-border-subtle)}.workspace-topbar{padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right))}.topbar-right .btn-sm{padding:var(--space-2) var(--space-3);min-height:36px}.project-switcher{max-width:140px}.topbar-theme-toggle,.project-switcher-wrap{display:none}.topbar-center .segmented button{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.workspace-sidebar{top:0;height:100dvh;width:min(var(--sidebar-width),100vw);padding-top:max(var(--topbar-height),env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom)}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm.terminal{padding:0;margin:0;border-radius:0;line-height:normal;font-size:unset;font-family:unset;background:transparent;color:inherit}html{-webkit-text-size-adjust:100%;overscroll-behavior:none;touch-action:pan-x pan-y}html,body{height:100%;height:100dvh;overflow-x:hidden}body{margin:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y}@media(display-mode:standalone){html,body{overscroll-behavior-y:contain}}html.ios-standalone .home-header{padding-top:max(var(--space-4),env(safe-area-inset-top,0px));padding-left:max(var(--space-6),env(safe-area-inset-left,0px));padding-right:max(var(--space-6),env(safe-area-inset-right,0px))}@media(max-width:768px){.home-header,.projects-header,.factory-header,.people-header,.tenants-header,.settings-header,.app-shell-header{grid-template-columns:1fr auto;grid-template-areas:"logo actions" "nav nav";gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-top:max(var(--space-3),env(safe-area-inset-top));padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right))}html.ios-standalone .home-header{padding-top:max(var(--space-3),env(safe-area-inset-top,0px));padding-left:max(var(--space-4),env(safe-area-inset-left,0px));padding-right:max(var(--space-4),env(safe-area-inset-right,0px))}.home-logo,.projects-logo,.app-brand,.people-logo,.tenants-logo,.settings-logo{grid-area:logo}.app-shell-header>app-brand{grid-area:logo;min-width:0}.home-nav,.projects-nav,.app-shell-nav,.people-nav,.tenants-nav,.settings-nav{grid-area:nav;justify-self:stretch;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.home-nav::-webkit-scrollbar,.projects-nav::-webkit-scrollbar,.app-shell-nav::-webkit-scrollbar,.people-nav::-webkit-scrollbar,.tenants-nav::-webkit-scrollbar,.settings-nav::-webkit-scrollbar{display:none}.home-header-actions,.projects-header-actions,.factory-header-actions,.people-header-actions,.tenants-header-actions,.settings-header-actions,.app-shell-header-actions{grid-area:actions;gap:var(--space-2)}.home-header-actions .btn-ghost-link,.projects-header-actions .btn-ghost-link,.factory-header-actions .btn-ghost-link,.people-header-actions .btn-ghost-link,.tenants-header-actions .btn-ghost-link,.settings-header-actions .btn-ghost-link,.app-shell-header-actions .btn-ghost-link{display:none}.home-main,.projects-main,.people-main,.tenants-main,.settings-main{padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.btn-icon{width:44px;height:44px}.modal-backdrop{align-items:flex-end;padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.modal{max-width:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%;min-height:44px}}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn .btn-spinner{display:inline-block;width:.875rem;height:.875rem;margin-right:.35rem;vertical-align:-.125rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .75s linear infinite;opacity:.9}
