@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-well:#0c0e10;--surface-canvas:#141719;--surface-raised:#1e2124;--surface-control:#26292d;--surface-overlay:#313539;--surface-hover:#3c4146;--surface-selected:#32383e;--ink:#e8ecef;--ink-2:#a6b0ba;--ink-placeholder:#8c97a2;--ink-3:#7e8a95;--ink-disabled:#6b767f;--border-control:#46545f;--rule-strong:#2f3a45;--rule:#232c35;--border-overlay:#2f3a45;--accent-grad:linear-gradient(315deg, #2bb6a8 0%, #2b87c4 74%);--accent:#5199cf;--on-accent:#020d18;--accent-hover:#66aee5;--accent-active:#4687b7;--status-amber:#e0a340;--status-green:#5fbe7d;--status-red:#f0605e;--status-red-hover:#f47b79;--tint-amber:#2f2b21;--tint-green:#1d2e2a;--tint-red:#312125;--tint-amber-border:#584728;--tint-green-border:#2c503d;--tint-red-border:#5d3032;--tint-accent:#0d1c27;--tag-surface:#26292d;--tag-surface-hover:#2e3237;--tag-surface-selected:#343940;--tag-character:#6fbdba;--tag-character-border:#31595a;--tag-setting:#95b989;--tag-setting-border:#465a41;--tag-prop:#b5a3d8;--tag-prop-border:#584e69;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-title:22px;--text-major:17px;--text-section:15px;--text-body:15px;--text-compact:14px;--text-data:12px;--text-label:12px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--track-title:-.015em;--track-section:-.005em;--track-caps:.09em;--leading-title:1.2;--leading-major:1.3;--leading-section:1.35;--leading-body:1.5;--leading-compact:1.4;--leading-data:1.3;--text-creative-title:var(--text-title);--text-creative-section:var(--text-major);--text-creative-body:var(--text-body);--text-creative-control:var(--text-compact);--text-creative-label:var(--text-label);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--control-h:36px;--control-h-primary:40px;--control-h-compact:32px;--menu-item-h:36px;--nav-item-h:40px;--chip-h:26px;--toggle-w:44px;--toggle-h:26px;--row-h:48px;--row-h-dense:44px;--thumb-w:80px;--thumb-h:45px;--pad-workspace:24px;--pad-creative:24px;--pad-card:16px;--gap-region:32px;--control-h-creative:var(--control-h);--control-h-cta:var(--control-h-primary);--control-h-nav:var(--nav-item-h);--creative-panel-pad:var(--pad-creative);--creative-card-pad:var(--pad-card);--radius-chip:6px;--radius-interactive:8px;--radius-card:10px;--radius-panel:12px;--radius-surface:14px;--radius-composer:16px;--radius-thumb:8px;--radius-frame:0;--radius-overlay:var(--radius-surface);--radius-control:var(--radius-interactive);--radius-modal:var(--radius-surface);--radius-image:var(--radius-thumb);--shadow-panel:0 8px 24px #0000002e;--shadow-elevated:0 12px 32px #00000038;--shadow-menu:0 20px 48px #0000008c;--shadow-modal:0 32px 80px #000000b8;--scrim:#000000a8;--shadow-card:var(--shadow-panel);--shadow-card-hover:0 4px 16px #00000038;--shadow-panel-elevated:var(--shadow-elevated);--motion-fast:.12s;--motion:.15s;--motion-expand:.2s;--ease:cubic-bezier(.2, 0, .2, 1);--focus-width:2px;--focus-offset:2px;--focus-color:var(--accent);--bg-base:var(--surface-canvas);--bg-surface:var(--surface-raised);--bg-card:var(--surface-raised);--bg-card-hover:var(--surface-hover);--bg-inset:var(--surface-control);--surface-0:var(--surface-canvas);--surface-1:var(--surface-raised);--surface-2:var(--surface-control);--surface-3:var(--surface-hover);--accent-purple:var(--accent);--accent-magenta:var(--accent);--accent-cyan:var(--accent);--accent-color:var(--accent);--accent-green:var(--status-green);--accent-amber:var(--status-amber);--accent-red:var(--status-red);--color-error:var(--status-red);--grad-primary:var(--accent);--grad-cyan:var(--accent);--glow-purple:none;--glow-cyan:none;--glow-sm:none;--text-primary:var(--ink);--text-secondary:var(--ink-2);--text-muted:var(--ink-3);--text-dim:var(--ink-3);--border:var(--rule);--border-bright:var(--rule-strong);--border-color:var(--rule);--border-hover:var(--border-control);--radius-sm:var(--radius-chip);--radius-md:var(--radius-interactive);--radius-lg:var(--radius-panel);--radius-xl:var(--radius-surface);--sidebar-width:220px;--shell-top-padding:var(--pad-workspace);--chrome-header-row-height:var(--space-7);--header-title-size:var(--text-title)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-ui);font-weight:var(--weight-regular);font-size:var(--text-body);line-height:var(--leading-body);background-color:var(--surface-canvas);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis-weight:none}::selection{background-color:var(--accent);color:var(--on-accent)}.t-title{font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:var(--track-title);line-height:var(--leading-title);color:var(--ink)}.t-major{font-size:var(--text-major);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-major);color:var(--ink)}.t-section{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink)}.t-body{font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--ink)}.t-compact{font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);color:var(--ink)}.t-label{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);line-height:1.25}.t-data{font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-regular);line-height:var(--leading-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink)}.t-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}option,optgroup{background-color:var(--surface-overlay);color:var(--ink)}option:disabled{color:var(--ink-disabled)}*{scrollbar-color:var(--surface-selected) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-selected);border:2px solid var(--surface-canvas);border-radius:var(--radius-overlay)}::-webkit-scrollbar-thumb:hover{background:var(--border-control)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.is-selection-rail{background:var(--surface-selected);border-left:3px solid var(--accent)}.is-selection-rail>*{padding-left:calc(var(--space-3) - 3px)}.is-selection-rail--right{background:var(--surface-selected);border-left:0;border-right:3px solid var(--accent)}.is-selection-outline{background:var(--surface-selected);outline:2px solid var(--accent);outline-offset:-2px}.is-selection-outline--offset{background:var(--surface-selected);outline:2px solid var(--accent);outline-offset:2px}.is-selection-underline{position:relative}.is-selection-underline:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.app{--sidebar-width:220px;--global-rail-width:64px;--mobile-global-bar-height:56px;min-height:100vh;display:flex;position:relative}.skip-to-content{top:var(--space-2);left:var(--space-2);z-index:200;height:var(--control-h);padding:0 var(--space-3);background:var(--surface-overlay);border:1px solid var(--border-overlay);border-radius:var(--radius-interactive);color:var(--ink);font-size:var(--text-compact);font-weight:var(--weight-semibold);transform:translateY(calc(-100% - var(--space-4)));transition:transform var(--motion) var(--ease);align-items:center;text-decoration:none;display:inline-flex;position:absolute}.skip-to-content:focus-visible{transform:translateY(0)}.global-rail{z-index:110;width:var(--global-rail-width);background:var(--surface-well);border-right:1px solid var(--rule-strong);flex-direction:column;align-items:stretch;min-height:100vh;display:flex;position:fixed;inset:0 auto 0 0}.global-rail-brand{min-height:calc(var(--pad-workspace) + var(--space-7));color:var(--ink);justify-content:center;align-items:center;display:flex}.global-rail-logo{width:var(--space-5);height:var(--space-5);display:block}.global-rail-menu{flex-direction:column;flex:1;min-height:0;display:flex}.global-rail-menu-button{display:none}.global-rail-nav{padding:var(--space-4) var(--space-2);gap:var(--space-1);flex-direction:column;flex:1;display:flex}.global-rail-bottom{padding:var(--space-3) var(--space-2) var(--space-2);border-top:1px solid var(--rule);gap:var(--space-1);flex-direction:column;display:flex}.global-rail-item{width:calc(100% - var(--space-2));height:var(--control-h);border-radius:var(--radius-interactive);color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease), box-shadow var(--motion) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;margin-inline:auto;padding:0;text-decoration:none;display:flex}.global-rail-item:hover:not(:disabled){background:var(--surface-control);color:var(--ink)}.global-rail-item.active{background:var(--tint-accent);box-shadow:inset 3px 0 0 var(--accent);color:var(--ink)}.global-rail-item:disabled{color:var(--ink-disabled);cursor:wait}.global-rail-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar{width:var(--sidebar-width);min-height:100vh;top:0;left:var(--global-rail-width);background:var(--surface-canvas);border-right:1px solid var(--rule-strong);z-index:100;flex-direction:column;display:flex;position:fixed;bottom:0}.project-sidebar-context{min-height:calc(var(--pad-workspace) + var(--space-7));align-items:center;gap:var(--space-2);padding:var(--pad-workspace) var(--pad-workspace) 0;color:var(--ink);font-size:var(--text-compact);font-weight:var(--weight-semibold);line-height:var(--leading-compact);display:flex}.project-sidebar-context svg{color:var(--ink-2);flex-shrink:0}.project-sidebar-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-header{align-items:center;gap:var(--space-2);min-height:calc(var(--pad-workspace) + var(--space-7));padding:var(--pad-workspace) var(--pad-workspace) 0;display:flex}.sidebar-brand-link{align-items:center;gap:var(--space-2);min-width:0;margin:0 calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2);border-radius:var(--radius-interactive);color:var(--ink);transition:background-color var(--motion) var(--ease);text-decoration:none;display:flex}.sidebar-brand-link:hover{background:var(--surface-hover)}.sidebar-logo{width:var(--space-5);height:var(--space-5);flex-shrink:0;display:block}.sidebar-brand-text{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink);white-space:nowrap}.ph-root{margin-bottom:var(--space-5)}.ph-root--sticky{z-index:100;background:var(--surface-canvas);position:sticky;top:0}.ph-root:has(.ph-toolbar){margin-bottom:0}.page-workspace>.ph-root{padding:var(--pad-workspace) var(--pad-workspace) 0;background:var(--surface-canvas);margin:0}.ph-title-row{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--space-7);display:flex}.ph-title-group{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ph-title{font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:var(--track-title);line-height:var(--leading-title);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;overflow:hidden}.ph-subtitle{font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--ink-2)}.ph-title-row--consolidated{align-items:center}.ph-title-group--inline{align-items:flex-start}.ph-title-line{align-items:center;gap:var(--space-2);min-width:0;display:flex}.ph-consolidated{position:relative}.ph-consolidated-trigger{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-interactive);color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ph-consolidated-trigger:hover{border-color:var(--border-control);color:var(--ink)}.ph-consolidated-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--ink)}.ph-consolidated-menu,.ph-consolidated-flyout,.ph-menu-dropdown{z-index:1000;min-width:200px;padding:var(--space-1);background:var(--surface-overlay);border:1px solid var(--rule-strong);border-radius:var(--radius-surface);box-shadow:var(--shadow-menu);animation:ph-dropdown-in var(--motion-fast) var(--ease);flex-direction:column;display:flex;position:absolute}.ph-consolidated-menu{top:calc(100% + var(--space-1));left:0}.ph-consolidated-sub{position:relative}.ph-consolidated-item,.ph-menu-item{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;height:var(--menu-item-h);padding:0 var(--space-3);border-radius:var(--radius-interactive);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease), color var(--motion-fast) var(--ease);background:0 0;border:none;display:flex}.ph-consolidated-item:hover:not(:disabled),.ph-menu-item:hover:not(:disabled){background:var(--surface-hover)}.ph-consolidated-item--open,.ph-consolidated-item[aria-checked=true],.ph-menu-item[aria-checked=true]{background:var(--tint-accent);color:var(--ink)}.ph-consolidated-item:disabled,.ph-menu-item:disabled{color:var(--ink-disabled);cursor:default;background:0 0}.ph-consolidated-item--danger,.ph-menu-item--danger{color:var(--status-red)}.ph-consolidated-item--danger:hover:not(:disabled),.ph-menu-item--danger:hover:not(:disabled){background:var(--tint-red);color:var(--status-red)}.ph-consolidated-item-label{align-items:center;gap:var(--space-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;display:inline-flex;overflow:hidden}.ph-consolidated-item-icon{width:13px;color:var(--ink-2);flex-shrink:0;display:inline-flex}.ph-consolidated-item[aria-checked=true] .ph-consolidated-item-icon,.ph-menu-item[aria-checked=true] .ph-consolidated-item-icon,.ph-consolidated-item--open .ph-consolidated-item-icon{color:var(--accent)}.ph-consolidated-chevron{color:var(--ink-2);flex-shrink:0}.ph-consolidated-separator{background:var(--border-overlay);height:1px;margin:var(--space-1) 0}.ph-consolidated-flyout{top:calc(-1 * var(--space-1));left:calc(100% + var(--space-1));z-index:1001;max-height:60vh;overflow-y:auto}.ph-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.ph-toolbar{align-items:center;gap:var(--space-2);padding:var(--space-3) 0;margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-workspace .ph-toolbar{margin-bottom:0}.ph-toolbar-spacer{flex:1}.ph-menu-wrap{position:relative}.ph-menu-chevron{transition:transform var(--motion) var(--ease);flex-shrink:0}.ph-menu-chevron--open{transform:rotate(180deg)}.ph-menu-dropdown{top:calc(100% + var(--space-1));z-index:200;min-width:180px;right:0}@keyframes ph-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.page-workspace{margin:calc(-1 * var(--pad-workspace));flex-direction:column;height:100vh;display:flex;overflow:hidden}.page-workspace>.entity-page,.page-workspace>.char-workspace,.page-workspace>.concept-layout{flex:1;height:auto;min-height:0;overflow:hidden}.page-workspace>.char-workspace{margin:0}.sidebar-nav{padding:var(--space-4) var(--space-2);gap:var(--space-4);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.nav-section{gap:var(--space-1);flex-direction:column;display:flex}.nav-section-title{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);padding:0 var(--space-3) var(--space-2);line-height:1.25}.nav-item{align-items:center;gap:var(--space-3);height:var(--nav-item-h);margin-inline:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-interactive);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);color:var(--ink-2);transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease), box-shadow var(--motion) var(--ease);text-decoration:none;display:flex}.nav-item svg{flex-shrink:0}.nav-item:hover{background:var(--surface-control);color:var(--ink)}.nav-item.active{background:var(--surface-selected);box-shadow:inset 3px 0 0 var(--accent);color:var(--ink);font-weight:var(--weight-semibold)}.sidebar-user{padding:var(--space-3) 0 var(--space-2);border-top:1px solid var(--rule);gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.sidebar-user-name{padding:0 var(--pad-workspace);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.coming-soon-section{max-width:640px}.coming-soon-message{color:var(--ink-2);font-size:var(--text-body);line-height:var(--leading-body)}.main{margin-left:var(--global-rail-width);min-width:0;padding:var(--pad-workspace);background:var(--surface-canvas);flex:1;min-height:100vh}.app--project .main{margin-left:calc(var(--global-rail-width) + var(--sidebar-width))}@media (width<=768px){.app{min-height:100dvh;display:block}.global-rail{width:100%;height:var(--mobile-global-bar-height);min-height:var(--mobile-global-bar-height);border-right:0;border-bottom:1px solid var(--rule-strong);flex-direction:row;align-items:center;position:sticky;inset:0 auto auto}.global-rail-brand{min-height:0;padding-left:var(--space-4);justify-content:flex-start}.global-rail-menu-button{width:44px;height:44px;margin-left:auto;margin-right:max(var(--space-2), env(safe-area-inset-right));border-radius:var(--radius-interactive);color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.global-rail-menu-button:hover,.global-rail-menu-button[aria-expanded=true]{background:var(--surface-hover);color:var(--ink)}.global-rail-menu-button[aria-expanded=true]{border-color:var(--accent)}.global-rail-menu{min-height:0;padding-bottom:max(var(--space-2), env(safe-area-inset-bottom));background:var(--surface-overlay);border-bottom:1px solid var(--border-overlay);box-shadow:var(--shadow-menu);animation:ph-dropdown-in var(--motion-fast) var(--ease);flex:none;display:none;position:absolute;top:100%;left:0;right:0}.global-rail--open .global-rail-menu{display:flex}.global-rail-nav{padding:var(--space-2);flex:none}.global-rail-bottom{padding:var(--space-2)}.global-rail-item{justify-content:flex-start;gap:var(--space-3);height:44px;padding:0 var(--space-3)}.global-rail-label{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.sidebar{top:var(--mobile-global-bar-height);min-height:0;left:0}.main,.app--project .main{min-height:calc(100dvh - var(--mobile-global-bar-height))}.main{margin-left:0}.app--project .main{margin-left:var(--sidebar-width)}.page-workspace{height:calc(100dvh - var(--mobile-global-bar-height))}.ph-root--sticky{top:var(--mobile-global-bar-height)}.ph-title-row{align-items:stretch;gap:var(--space-3);flex-direction:column;min-height:0}.ph-actions{justify-content:flex-start}.page-workspace{margin:calc(-1 * var(--space-4))}.page-workspace>.ph-root{padding:var(--space-4) var(--space-4) 0}.main{padding:var(--space-4)}.ph-consolidated-flyout{top:calc(100% + var(--space-1));left:0}.ph-menu-dropdown{left:0;right:auto}}.section{margin-bottom:var(--gap-region)}.section:last-child{margin-bottom:0}.section h2,.section-header h2{margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);color:var(--ink);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);text-transform:none}.section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);display:flex}.section-header h2{border-bottom:0;margin:0;padding-bottom:0}.section-actions{gap:var(--space-2);display:flex}.panel{background:var(--surface-raised);border-radius:var(--radius-panel);padding:var(--pad-creative)}.panel--shadow{box-shadow:var(--shadow-panel)}.panel--elevated{background:var(--surface-raised);border-radius:var(--radius-surface);box-shadow:var(--shadow-elevated)}.card{background:var(--surface-raised);border-radius:var(--radius-card);padding:var(--pad-card)}.card:hover{background:var(--surface-control)}.card--shadow{box-shadow:var(--shadow-panel)}.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-quiet,.btn-danger,.btn-destructive,.btn-handoff,.btn-download,.btn-delete{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-interactive);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-semibold);letter-spacing:0;white-space:nowrap;cursor:pointer;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn-sm,.btn-small,.btn-xs{height:var(--control-h-compact);padding:0 var(--space-3);gap:var(--space-1)}.btn-large{height:var(--control-h-primary);padding:0 var(--space-5)}.btn-block{width:100%}.btn-icon{width:var(--control-h);padding:0}.btn-icon-compact{width:var(--control-h-compact);height:var(--control-h-compact);padding:0}.btn-primary{height:var(--control-h-primary);background:var(--accent-grad);color:var(--on-accent);transition:border-color var(--motion) var(--ease), color var(--motion) var(--ease);border-color:#0000;padding-inline:18px}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.btn-secondary,.btn-handoff,.btn-download{background:var(--surface-control);border-color:var(--border-control);color:var(--ink)}.btn-secondary:hover:not(:disabled),.btn-handoff:hover:not(:disabled),.btn-download:hover:not(:disabled){background:var(--surface-hover)}.btn-secondary:active:not(:disabled),.btn-handoff:active:not(:disabled),.btn-download:active:not(:disabled){background:var(--surface-selected)}.btn-ghost,.btn-quiet{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled),.btn-quiet:hover:not(:disabled){background:var(--surface-control);color:var(--ink);border-color:#0000}.btn-ghost:active:not(:disabled),.btn-quiet:active:not(:disabled){background:var(--surface-control);color:var(--ink)}.btn-danger,.btn-destructive,.btn-delete{border-color:var(--status-red);color:var(--status-red);background:0 0}.btn-danger:hover:not(:disabled),.btn-destructive:hover:not(:disabled),.btn-delete:hover:not(:disabled){background:var(--tint-red)}.btn-danger:active:not(:disabled),.btn-destructive:active:not(:disabled),.btn-delete:active:not(:disabled){background:var(--tint-red-border)}.btn-destructive-filled{background:var(--status-red);border-color:var(--status-red);color:var(--on-accent)}.btn-destructive-filled:hover:not(:disabled){background:var(--status-red-hover);border-color:var(--status-red-hover)}.btn[aria-pressed=true],.btn-secondary[aria-pressed=true],.btn-ghost[aria-pressed=true],.btn-quiet[aria-pressed=true]{background:var(--surface-selected);border-color:var(--accent);color:var(--ink)}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled,.btn-quiet:disabled,.btn-danger:disabled,.btn-destructive:disabled,.btn-handoff:disabled,.btn-download:disabled,.btn-delete:disabled,button:disabled{background:var(--surface-control);border-color:var(--rule);color:var(--ink-disabled);cursor:not-allowed}.btn-ghost:disabled,.btn-quiet:disabled{background:0 0;border-color:#0000}.btn[aria-busy=true],button[aria-busy=true]{cursor:progress;position:relative}.btn[aria-busy=true]>:not(.spinner),button[aria-busy=true]>:not(.spinner){visibility:hidden}.btn[aria-busy=true] .spinner,button[aria-busy=true] .spinner{visibility:visible;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%}.ph-title-row--consolidated .ph-actions .btn-primary{color:var(--on-accent)}.ph-title-row--consolidated .ph-actions .btn-primary:disabled{background:var(--surface-control);border-color:var(--rule);color:var(--ink-disabled)}.page-content:has(.screenplay-settings) .ph-actions .btn-primary{height:var(--control-h-primary);border-radius:var(--radius-interactive);font-size:var(--text-compact);font-weight:var(--weight-semibold);padding-inline:18px}.asset-tile-check.asset-tile-check{color:var(--on-accent)}input,textarea,select{font-family:var(--font-ui);font-weight:var(--weight-regular)}.input,.setting-item input:not([type=checkbox]):not([type=radio]),.setting-item select,.setting-item textarea{height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-interactive);background:var(--surface-control);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease)}.setting-item textarea{height:auto;min-height:var(--control-h);padding:var(--space-3);border-radius:var(--radius-card);font-size:var(--text-body);line-height:var(--leading-body);resize:vertical}.textarea-composer,.creative-textarea{padding:var(--pad-creative);border-radius:var(--radius-composer);font-size:var(--text-body);line-height:var(--leading-body)}.input:hover:not(:disabled),.setting-item input:hover:not(:disabled),.setting-item select:hover:not(:disabled),.setting-item textarea:hover:not(:disabled){background:var(--surface-hover)}.input:focus-visible,.setting-item input:focus-visible,.setting-item select:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.input::placeholder,.setting-item input::placeholder,.setting-item textarea::placeholder{color:var(--ink-placeholder)}.input:disabled,.setting-item input:disabled,.setting-item select:disabled,.setting-item textarea:disabled{background:var(--surface-control);border-color:var(--rule);color:var(--ink-disabled);cursor:not-allowed}.input:disabled::placeholder,.setting-item input:disabled::placeholder{color:var(--ink-disabled)}.input[aria-invalid=true],.setting-item input[aria-invalid=true],.setting-item select[aria-invalid=true],.setting-item textarea[aria-invalid=true]{border-color:var(--status-red)}.field-error{align-items:center;gap:var(--space-1);margin-top:var(--space-1);color:var(--status-red);font-size:var(--text-compact);line-height:var(--leading-compact);display:flex}.setting-item input[type=number],.input[type=number]{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.setting-item{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.setting-item.full-width{grid-column:1/-1}.setting-item>label{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2)}.setting-label{color:var(--ink-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase}.setting-item select{appearance:none;padding-right:var(--space-6);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A3A3A3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}.setting-item select option{background:var(--surface-overlay);color:var(--ink)}.settings-panel h3{margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);color:var(--ink);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);text-transform:none}.settings-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.setting-help{margin-top:var(--space-1);color:var(--ink-2);font-size:var(--text-body);line-height:var(--leading-body)}input[type=checkbox],input[type=radio]{appearance:none;border:1px solid var(--border-control);background:var(--surface-control);cursor:pointer;width:16px;height:16px;transition:border-color var(--motion) var(--ease);flex:none;margin:0}input[type=checkbox]{border-radius:3px}input[type=radio]{border-radius:50%}input[type=checkbox]:hover:not(:disabled),input[type=radio]:hover:not(:disabled){background:var(--surface-hover)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent-grad);border-color:var(--accent)}input[type=checkbox]:checked:hover:not(:disabled),input[type=radio]:checked:hover:not(:disabled){background:var(--accent-grad)}input[type=checkbox]:checked{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cmask id='c'%3E%3Crect width='16' height='16' fill='%23fff'/%3E%3Cpath d='M4 8.3l2.9 2.9L12.2 5.9' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Crect width='16' height='16' fill='%23fff' mask='url(%23c)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cmask id='c'%3E%3Crect width='16' height='16' fill='%23fff'/%3E%3Cpath d='M4 8.3l2.9 2.9L12.2 5.9' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Crect width='16' height='16' fill='%23fff' mask='url(%23c)'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%}input[type=radio]:checked{box-shadow:inset 0 0 0 3px var(--surface-control)}input[type=checkbox]:disabled,input[type=radio]:disabled{border-color:var(--rule);background:var(--surface-control);cursor:not-allowed}input[type=checkbox]:checked:disabled,input[type=radio]:checked:disabled{background-color:var(--ink-disabled);border-color:var(--ink-disabled)}.checkbox-item{flex-wrap:wrap;flex-direction:row!important;align-items:flex-start!important}.checkbox-item label,.toggle-field{align-items:center;gap:var(--space-2);min-height:var(--control-h);cursor:pointer;color:var(--ink);font-size:var(--text-compact);font-weight:var(--weight-regular);letter-spacing:0;line-height:var(--leading-compact);text-transform:none;display:flex}.checkbox-item input:disabled+*,.checkbox-item input:disabled~*{color:var(--ink-disabled)}.toggle{border:1px solid var(--border-control);background:var(--surface-control);cursor:pointer;width:40px;height:24px;transition:border-color var(--motion) var(--ease);border-radius:3px;flex:none;padding:0;position:relative}.toggle-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.toggle-input:focus-visible+.toggle{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.toggle-field:hover .toggle-input:not(:disabled)+.toggle{background:var(--surface-hover)}.toggle-input:checked+.toggle,.toggle-field:hover .toggle-input:checked:not(:disabled)+.toggle{background:var(--accent-grad);border-color:var(--accent)}.toggle-input:checked+.toggle:after{background:var(--on-accent);transform:translate(16px)}.toggle-input:disabled+.toggle{border-color:var(--rule);background:var(--surface-control);cursor:not-allowed}.toggle-input:disabled+.toggle:after{background:var(--ink-disabled)}.toggle:after{content:"";background:var(--ink-2);width:18px;height:18px;transition:transform var(--motion) var(--ease), background-color var(--motion) var(--ease);border-radius:2px;position:absolute;top:2px;left:2px}.toggle:hover:not(:disabled){background:var(--surface-hover)}.toggle[aria-pressed=true]{background:var(--accent-grad);border-color:var(--accent)}.toggle[aria-pressed=true]:hover:not(:disabled){background:var(--accent-grad)}.toggle[aria-pressed=true]:after{background:var(--on-accent);transform:translate(16px)}.toggle:disabled{border-color:var(--rule);background:var(--surface-control);cursor:not-allowed}.toggle:disabled:after{background:var(--ink-disabled)}.tabs{align-items:stretch;gap:var(--space-5);border-bottom:1px solid var(--rule);display:flex}.tab{height:var(--control-h);color:var(--ink-2);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);cursor:pointer;transition:color var(--motion) var(--ease), border-color var(--motion) var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:0;line-height:1}.tab:hover:not(:disabled){color:var(--ink)}.tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink);font-weight:var(--weight-semibold)}.tab:disabled{color:var(--ink-disabled);cursor:not-allowed}.prompt-cell textarea,.instruction-textarea,.textarea{width:100%;height:auto;padding:var(--space-2) var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-interactive);background:var(--surface-control);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-body);resize:vertical;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease)}.prompt-cell textarea::placeholder,.instruction-textarea::placeholder,.textarea::placeholder{color:var(--ink-placeholder)}.prompt-cell textarea:focus-visible,.instruction-textarea:focus-visible,.textarea:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.prompt-cell textarea[aria-invalid=true],.instruction-textarea[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--status-red)}.prompt-cell textarea{min-height:58px}.video-prompt-textarea{min-height:240px!important}.instruction-textarea{min-height:80px}.prompt-cell textarea:disabled,.instruction-textarea:disabled,.textarea:disabled{background:var(--surface-control);border-color:var(--rule);color:var(--ink-disabled);cursor:not-allowed}.prompt-cell textarea:disabled::placeholder,.instruction-textarea:disabled::placeholder,.textarea:disabled::placeholder{color:var(--ink-disabled)}.folder-picker{align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-6);flex-direction:column;display:flex}.listbox-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-interactive);background:var(--surface-control);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);text-align:left;cursor:pointer;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease);display:flex}.listbox-trigger:hover:not(:disabled){background:var(--surface-hover)}.listbox-trigger[data-open]{border-color:var(--accent)}.listbox-trigger[data-placeholder] .listbox-value{color:var(--ink-placeholder)}.listbox-trigger[aria-invalid=true]{border-color:var(--status-red)}.listbox-trigger:disabled{background:var(--surface-control);border-color:var(--rule);color:var(--ink-disabled);cursor:not-allowed}.listbox-value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.listbox-chevron{color:var(--ink-2);transition:transform var(--motion) var(--ease);flex:none}.listbox-trigger[data-open] .listbox-chevron{color:var(--ink);transform:rotate(180deg)}.listbox-trigger:disabled .listbox-chevron{color:var(--ink-disabled)}.listbox-menu{z-index:1100;padding:var(--space-1);border:1px solid var(--border-overlay);border-radius:var(--radius-overlay);background:var(--surface-overlay);box-shadow:var(--shadow-menu);position:fixed;overflow-y:auto}.listbox-option{justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--menu-item-h);padding:0 var(--space-2) 0 calc(var(--space-2) + 2px);border-radius:var(--radius-interactive);color:var(--ink);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);cursor:pointer;transition:background-color var(--motion) var(--ease);border-left:2px solid #0000;display:flex}.listbox-option[data-active]{background:var(--surface-hover)}.listbox-menu[data-kbd] .listbox-option[data-active]{outline:var(--focus-width) solid var(--focus-color);outline-offset:calc(var(--focus-width) * -1)}.listbox-option[data-selected]{background:var(--surface-selected);border-left-color:var(--accent);padding-left:var(--space-2);font-weight:var(--weight-medium)}.listbox-option[data-selected][data-active]{background:var(--surface-selected)}.listbox-option[data-disabled]{color:var(--ink-disabled);cursor:not-allowed}.listbox-option[data-disabled][data-active]{background:0 0}.listbox-option-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.listbox-option-check{color:var(--accent);flex:none}.image-list,.style-image-list{border-radius:var(--radius-frame);overflow-x:auto}.image-list-header,.style-list-header,.image-item-row,.style-item-row{width:max-content;min-width:100%;padding:0 var(--space-3);align-items:center;display:grid}.image-list-header>*,.style-list-header>*,.image-item-row>*,.style-item-row>*{padding-right:var(--space-3)}.image-list-header>.actions-cell,.style-list-header>.actions-cell,.image-item-row>.actions-cell,.style-item-row>.actions-cell{padding-right:0}.image-list-header,.style-list-header{min-height:var(--control-h);background:var(--surface-raised);border-bottom:1px solid var(--rule-strong)}.image-list-header>*,.style-list-header>*{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2)}.image-item-row,.style-item-row{min-height:var(--row-h);border-top:1px solid var(--rule-strong);transition:background-color var(--motion) var(--ease)}.image-item-row:first-of-type,.style-item-row:first-of-type{border-top:0}.image-item-row:hover,.style-item-row:hover{background:var(--surface-hover)}.image-list>.image-list-header,.image-list>.image-item-row{grid-template-columns:48px  calc(var(--thumb-w) + var(--space-3))  minmax(240px, 1fr)  180px  76px}.image-list>.image-list-header>.shot-index-cell,.image-list>.image-item-row>.shot-index-cell{z-index:1;position:sticky;left:0}.image-list>.image-list-header>.shot-index-cell{background:var(--surface-raised)}.image-list>.image-item-row>.shot-index-cell{background:var(--surface-canvas);transition:background-color var(--motion) var(--ease)}.image-list>.image-item-row:hover>.shot-index-cell{background:var(--surface-hover)}.image-item-row .prompt-cell textarea{height:var(--control-h);min-height:var(--control-h);padding:var(--space-1) var(--space-3);line-height:var(--leading-compact);resize:none;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);border-color:#0000;overflow:hidden}.image-item-row .prompt-cell textarea:hover:not(:disabled),.image-item-row .prompt-cell textarea:focus{border-color:var(--border-control)}.image-item-row .prompt-cell textarea:focus{height:92px;overflow-y:auto}.style-item-row .notes-cell .input{transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);border-color:#0000}.style-item-row .notes-cell .input:hover:not(:disabled),.style-item-row .notes-cell .input:focus{border-color:var(--border-control)}.style-import-divider{align-items:center;gap:var(--space-4);margin:var(--space-5) 0;color:var(--ink-2);font-size:var(--text-creative-control);line-height:var(--leading-compact);display:flex}.style-import-divider:before,.style-import-divider:after{content:"";background:var(--rule);flex:1;height:1px}.style-import-storyboard{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.style-image-list>.style-list-header.with-notes,.style-image-list>.style-item-row.with-notes{grid-template-columns:calc(var(--thumb-w) + var(--space-3))  minmax(160px, 1fr)  minmax(200px, 1.4fr)  180px  calc(var(--thumb-w) + var(--space-3))  76px}.style-image-list>.style-list-header.no-notes,.style-image-list>.style-item-row.no-notes{grid-template-columns:calc(var(--thumb-w) + var(--space-3)) minmax(200px, 1fr) 180px calc(var(--thumb-w) + var(--space-3)) 76px}.style-image-list>.style-list-header>.thumbnail-cell,.style-image-list>.style-item-row>.thumbnail-cell{z-index:1;position:sticky;left:0}.style-image-list>.style-list-header>.thumbnail-cell{background:var(--surface-raised)}.style-image-list>.style-item-row>.thumbnail-cell{background:var(--surface-canvas);transition:background-color var(--motion) var(--ease)}.style-image-list>.style-item-row:hover>.thumbnail-cell{background:var(--surface-hover)}.image-list-header>div,.image-item-row>div,.style-list-header>div,.style-item-row>div,.shot-list-header>div,.shot-row>div{min-width:0}.thumbnail,.result-thumbnail,.frame-empty{width:var(--thumb-w);height:var(--thumb-h);object-fit:contain;background:var(--surface-well);border-radius:var(--radius-frame);flex:none;display:block}.thumbnail-placeholder{color:var(--ink-3);justify-content:center;align-items:center;display:flex}.shot-index-cell,.filename{font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-regular);line-height:var(--leading-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.shot-index-cell{color:var(--ink-2)}.filename{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);display:block;overflow:hidden}.filename-cell,.prompt-cell,.notes-cell,.status-cell,.actions-cell{min-width:0}.thumbnail-cell,.result-cell{align-items:center;min-width:0;display:flex}.notes-cell .input{width:100%}.status-cell{justify-content:center;align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.status-cell>*{max-width:100%}.status-cell .progress-bar{align-self:stretch;margin-top:0}.status-cell .error-message{-webkit-line-clamp:2;color:var(--ink-2);-webkit-box-orient:vertical;margin-top:0;display:-webkit-box;overflow:hidden}.progress-fill--scaled{transform-origin:0;width:100%;transform:scaleX(var(--progress,0));transition:transform var(--motion) var(--ease)}.actions-cell{justify-content:flex-end;align-items:center;gap:var(--space-1);display:flex}.actions-cell .btn-quiet:hover:not(:disabled){background:var(--surface-selected);color:var(--ink);border-color:#0000}.actions-cell .btn-quiet.is-destructive:hover:not(:disabled){background:var(--tint-red);color:var(--status-red);border-color:#0000}.chip,.status-badge{align-items:center;gap:var(--space-1);height:var(--chip-h);padding:0 var(--space-3);border-radius:var(--radius-chip);background:var(--surface-raised);color:var(--ink-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;white-space:nowrap;border:1px solid #0000;line-height:1;display:inline-flex}.chip:before,.status-badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.chip--neutral,.status-pending{background:var(--surface-raised);color:var(--ink-2)}.chip--amber,.status-progress{background:var(--tint-amber);color:var(--status-amber)}.chip--green,.status-complete{background:var(--tint-green);color:var(--status-green)}.chip--red,.status-error{background:var(--tint-red);color:var(--status-red)}.chip--data{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:0;font-variant-numeric:tabular-nums;text-transform:none}.chip--data:before{display:none}.progress-bar{height:3px;margin-top:var(--space-2);background:var(--rule);border-radius:0;overflow:hidden}.progress-fill{background:var(--accent-grad);height:100%}.error-message{margin-top:var(--space-1);color:var(--status-red);font-size:var(--text-compact);line-height:var(--leading-compact)}.error-banner{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-interactive);background:var(--tint-red);color:var(--status-red);font-size:var(--text-compact);line-height:var(--leading-compact);display:flex}.csv-format-hint{align-items:baseline;gap:var(--space-1);margin-bottom:var(--space-3);color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact);display:flex}.csv-format-hint svg{color:var(--ink-2);flex-shrink:0;position:relative;top:1px}.csv-format-hint code{padding:0 var(--space-1);border-radius:var(--radius-interactive);background:var(--surface-raised);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-data)}.actions-section{align-items:stretch;gap:var(--space-3);flex-direction:column;display:flex}.action-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.action-buttons:empty{display:none}.actions-section>.error-banner,.actions-section>.insufficient-funds-alert{margin:0}.processing-status{align-items:center;gap:var(--space-2);min-height:var(--control-h);color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact);display:flex}.spinner{border:2px solid var(--rule-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.spinner-lg{width:20px;height:20px}@keyframes spin{to{transform:rotate(360deg)}}.prompt-tools{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.apply-all{gap:var(--space-2);flex:1;min-width:320px;display:flex}.apply-all .input{flex:1;min-width:0}.reference-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);display:flex}.reference-header h3{color:var(--ink);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);text-transform:none;margin:0}.reference-dropzone{padding:var(--space-3);border:1px dashed var(--border-control);border-radius:var(--radius-interactive);transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);display:flex}.reference-dropzone.dragging{border-color:var(--accent);background:var(--surface-control)}.reference-dropzone.has-images{border-color:#0000;padding:0}.reference-dropzone.disabled{border-color:var(--rule)}.dropzone-placeholder{justify-content:center;align-items:center;gap:var(--space-2);min-height:120px;padding:var(--space-5);border-radius:var(--radius-interactive);color:var(--ink-2);font-family:var(--font-ui);text-align:center;cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:0;flex-direction:column;flex:1;display:flex}.dropzone-placeholder:hover:not(:disabled){background:var(--surface-control);color:var(--ink)}.dropzone-placeholder:disabled{color:var(--ink-disabled);cursor:not-allowed;background:0 0;border:0}.dropzone-icon{color:var(--ink-2);display:flex}.dropzone-placeholder:disabled .dropzone-icon{color:var(--ink-disabled)}.dropzone-text{color:var(--ink);font-size:var(--text-body);font-weight:var(--weight-medium);line-height:var(--leading-body);display:block}.dropzone-placeholder:disabled .dropzone-text{color:var(--ink-disabled)}.dropzone-subtext{font-size:var(--text-compact);line-height:var(--leading-compact);display:block}.reference-images-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));width:100%;display:grid}.reference-image-item{flex-direction:column;min-width:0;display:flex}.reference-thumbnail{aspect-ratio:16/9;object-fit:contain;background:var(--surface-well);border-radius:var(--radius-card);width:100%;display:block}.reference-caption{align-items:center;gap:var(--space-2);min-width:0;margin-top:var(--space-2);display:flex}.reference-filename{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);line-height:var(--leading-data);flex:1;overflow:hidden}.reference-remove-btn:hover:not(:disabled){background:var(--tint-red);color:var(--status-red);border-color:#0000}.reference-add-more{justify-content:center;align-items:center;gap:var(--space-2);aspect-ratio:16/9;border-radius:var(--radius-card);background:var(--surface-control);width:100%;color:var(--ink-2);font-family:var(--font-ui);font-size:var(--text-creative-control);line-height:var(--leading-compact);cursor:pointer;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease);border:0;flex-direction:column;display:flex}.reference-add-more:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.reference-file-input{display:none}.reference-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.help-text{color:var(--ink-2);font-size:var(--text-body);line-height:var(--leading-body)}.help-text.warning{color:var(--status-amber)}.help-text code{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-data)}.page-content{animation:fadeIn var(--motion) var(--ease)}@keyframes fadeIn{0%{opacity:0;transform:translateY(var(--space-1))}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.app{--sidebar-width:64px}.sidebar-header{padding:var(--pad-workspace) var(--space-2) 0;justify-content:center}.project-sidebar-context{padding-right:var(--space-2);padding-left:var(--space-2);justify-content:center}.sidebar-brand-link{padding:var(--space-1);margin:0}.nav-item,.sidebar-user-actions .btn{padding-left:var(--space-2);padding-right:var(--space-2);justify-content:center}.sidebar-brand-text,.project-sidebar-name,.nav-section-title,.nav-item span,.sidebar-user-name,.sidebar-user-actions .btn span{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.multishot-region{margin-bottom:var(--gap-region)}.multishot-region-header{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--control-h);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.multishot-region-title{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink)}.multishot-region-actions,.multishot-region-heading{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.multishot-stats{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.multishot-note{align-items:flex-start;gap:var(--space-1);margin-top:var(--space-3);font-size:var(--text-body);line-height:var(--leading-body);color:var(--status-amber);display:flex}.multishot-note svg{flex:none;margin-top:4px}.multishot-advanced{margin-top:var(--space-4)}.multishot-blank{align-items:center;gap:var(--space-4);padding:var(--space-7) var(--space-5);text-align:center;flex-direction:column;display:flex}.multishot-blank-frame{justify-content:center;align-items:center;display:flex}.multishot-blank-strip{align-items:center;gap:var(--space-2);color:var(--ink-2);pointer-events:none;display:flex}.multishot-blank-copy{gap:var(--space-2);flex-direction:column;max-width:46ch;display:flex}.multishot-blank-title{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink)}.multishot-blank-body{font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--ink-2)}.storyboard-frames{gap:var(--space-3);padding-bottom:var(--space-2);display:flex;overflow-x:auto}.frame-card{border-radius:var(--radius-overlay);background:var(--surface-raised);cursor:grab;-webkit-user-select:none;user-select:none;min-width:140px;max-width:140px;transition:background-color var(--motion) var(--ease);flex-direction:column;flex-shrink:0;gap:6px;padding:6px;display:flex;position:relative}.frame-card:hover{background:var(--surface-control)}.frame-card:active{cursor:grabbing}.frame-card-frame{aspect-ratio:16/9;border-radius:var(--radius-frame);background:var(--surface-well);position:relative;overflow:hidden}.frame-thumb{object-fit:cover;width:100%;height:100%;display:block}.frame-index-badge{top:var(--space-1);left:var(--space-2);font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--ink);text-shadow:0 1px 2px #000000f2,0 0 6px #000000bf;line-height:1;position:absolute}.frame-delete-btn{top:var(--space-1);right:var(--space-1);width:20px;height:20px;color:var(--ink);filter:drop-shadow(0 1px 2px #000000f2);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.frame-delete-btn:after{content:"";position:absolute;inset:-2px}.frame-delete-btn:hover,.frame-delete-btn:focus-visible{background:var(--tint-red);color:var(--status-red)}.frame-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.frame-filename{font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-regular);line-height:var(--leading-data);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.frame-notes-input{width:100%;height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--border-control);border-radius:var(--radius-interactive);background:var(--surface-control);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease)}.frame-notes-input::placeholder{color:var(--ink-placeholder)}.frame-notes-input:disabled{background:var(--surface-control);border-color:var(--rule);color:var(--ink-disabled);cursor:not-allowed}.frame-notes-input:disabled::placeholder{color:var(--ink-disabled)}.shot-list{min-width:0;overflow-x:auto}.shot-list-header,.shot-row{grid-template-columns:48px calc(var(--thumb-w) * 2 + var(--space-4) + 13px) minmax(180px, 1fr) 132px 96px;gap:var(--space-3);padding:0 var(--space-3);align-items:center;display:grid}.shot-list-header{height:var(--control-h);border-bottom:1px solid var(--rule-strong);background:var(--surface-raised);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2)}.shot-row{min-height:var(--row-h);border-bottom:1px solid var(--rule);border-radius:var(--radius-frame);transition:background-color var(--motion) var(--ease)}.shot-row:hover{background:var(--surface-hover)}.shot-index{font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-regular);line-height:var(--leading-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink-2)}.shot-thumb-pair{align-items:center;gap:var(--space-1);color:var(--ink-2);display:flex}.shot-mini-thumb{width:var(--thumb-w);height:var(--thumb-h);object-fit:cover;border-radius:var(--radius-frame);background:var(--surface-well);flex:none;display:block}.shot-prompt-cell{align-items:center;min-width:0;display:flex}.shot-prompt-input{width:100%;height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-interactive);background:var(--surface-control);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease)}.shot-prompt-input::placeholder{color:var(--ink-placeholder)}.shot-prompt-input:disabled{background:var(--surface-control);border-color:var(--rule);color:var(--ink-disabled);cursor:not-allowed}.shot-prompt-input:disabled::placeholder{color:var(--ink-disabled)}.shot-status-cell{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.shot-error{align-items:center;gap:var(--space-1);min-width:0;max-width:100%;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-red);display:flex}.shot-error span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.shot-error svg{flex:none}.shot-action-cell{align-items:center;gap:var(--space-1);display:flex}.multishot-actions{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.multishot-actions-row{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.multishot-progress-status{align-items:center;gap:var(--space-3);font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);display:flex}.multishot-overall-progress{width:100%;max-width:480px}.composed-video-container{align-items:center;gap:var(--space-4);flex-direction:column;width:100%;display:flex}.composed-video-player{border-radius:var(--radius-frame);background:var(--surface-well);width:100%;max-width:840px;max-height:520px;display:block}.shot-list>.shot-list-header>:first-child,.shot-list>.shot-row>.shot-index{z-index:1;position:sticky;left:0}.shot-list>.shot-list-header>:first-child{background:var(--surface-raised)}.shot-list>.shot-row>.shot-index{background:var(--surface-canvas);transition:background-color var(--motion) var(--ease)}.shot-list>.shot-row:hover>.shot-index{background:var(--surface-hover)}@media (width<=768px){.shot-list-header,.shot-row{grid-template-columns:40px calc(var(--thumb-w) * 2 + var(--space-4) + 13px) minmax(150px, 1fr) 120px 88px;min-width:660px}.multishot-region{min-width:0}}.screenplay-settings,.screenplay-output{--sp-text-title:var(--text-title);--sp-text-major:var(--text-major);--sp-text-section:var(--text-section);--sp-text-body:var(--text-body);--sp-text-compact:var(--text-compact);--sp-control-h:var(--control-h);--sp-control-h-primary:var(--control-h-primary);--sp-control-h-compact:var(--control-h-compact);--sp-radius-chip:var(--radius-chip);--sp-radius-control:var(--radius-interactive);--sp-radius-card:var(--radius-card);--sp-radius-panel:var(--radius-panel);--sp-radius-creative:var(--radius-surface);--sp-shot-row-min:64px;--sp-shot-row-gap:var(--space-2)}.screenplay-settings{gap:var(--gap-region);padding-bottom:var(--space-4);margin-bottom:var(--space-6);flex-direction:column;display:flex}.screenplay-composer{align-items:stretch;gap:var(--space-6);grid-template-columns:minmax(280px,32%) minmax(440px,1fr);grid-template-areas:"config premise";display:grid}.screenplay-composer-config{gap:var(--space-5);min-width:0;padding:var(--space-5);border-radius:var(--sp-radius-panel,12px);background:var(--surface-raised);flex-direction:column;grid-area:config;display:flex}.screenplay-config-section{gap:var(--space-2);flex-direction:column;display:flex}.screenplay-config-section--modes{gap:var(--space-3)}.screenplay-settings .form-label{font-size:var(--text-compact);letter-spacing:0;text-transform:none}.screenplay-mode-groups,.screenplay-mode-group,.screenplay-additive-options{display:grid}.screenplay-mode-groups{gap:var(--space-4)}.screenplay-mode-group,.screenplay-additive-options{gap:var(--space-2)}.screenplay-mode-group-label{align-items:baseline;gap:var(--space-2);font-size:var(--text-compact);font-weight:var(--weight-semibold);color:var(--ink);display:flex}.screenplay-mode-group-label>span:last-child{font-size:var(--text-label);font-weight:var(--weight-regular);color:var(--ink-3)}.screenplay-speech-options{border-radius:var(--sp-radius-control,8px);background:var(--surface-control);box-shadow:inset 0 0 0 1px var(--border-control);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;display:grid}.screenplay-speech-option,.screenplay-additive-option{border-radius:calc(var(--sp-radius-control,8px) - 2px);min-width:0;color:var(--ink-2);cursor:pointer;transition:color var(--motion) var(--ease), background-color var(--motion) var(--ease);background:0 0;border:0;position:relative}.screenplay-speech-option{align-items:flex-start;gap:var(--space-1);min-height:76px;padding:var(--space-3);text-align:left;flex-direction:column;display:flex}.screenplay-speech-option strong,.screenplay-mode-copy strong{font-size:var(--text-body);font-weight:var(--weight-semibold);color:inherit}.screenplay-speech-option>span,.screenplay-mode-copy>span{font-size:var(--text-label);line-height:var(--leading-compact);color:var(--ink-2)}.screenplay-speech-option:hover,.screenplay-additive-option:hover{color:var(--ink);background:var(--surface-hover)}.screenplay-speech-option[aria-pressed=true]{color:var(--ink);background:var(--surface-selected)}.screenplay-additive-option[aria-pressed=true]{color:var(--ink)}.screenplay-speech-option[aria-pressed=true]:after{content:"";top:var(--space-2);right:var(--space-2);background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute}.screenplay-speech-option:focus-visible,.screenplay-additive-option:focus-visible{z-index:1;outline:2px solid var(--focus-color);outline-offset:2px}.screenplay-additive-option{align-items:center;gap:var(--space-3);min-height:68px;padding:var(--space-3);text-align:left;background:var(--surface-control);box-shadow:inset 0 0 0 1px var(--border-control);grid-template-columns:auto minmax(0,1fr);display:grid}.screenplay-mode-copy{gap:var(--space-1);flex-direction:column;display:flex}.screenplay-switch{box-sizing:border-box;background:var(--surface-overlay);border-radius:11px;width:40px;height:22px;padding:3px;position:relative}.screenplay-switch>span{background:var(--ink-2);width:16px;height:16px;transition:transform var(--motion) var(--ease), background-color var(--motion) var(--ease);border-radius:50%;display:block}.screenplay-additive-option[aria-pressed=true] .screenplay-switch{background:var(--accent-grad)}.screenplay-additive-option[aria-pressed=true] .screenplay-switch>span{background:var(--on-accent);transform:translate(18px)}.screenplay-composer-config .style-ref-zone{border-radius:var(--sp-radius-control,8px);min-height:80px}.screenplay-visual-style{gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--rule);flex-direction:column;display:flex}.screenplay-visual-style-heading,.screenplay-visual-style-footer,.screenplay-visual-style-meta{align-items:center;display:flex}.screenplay-visual-style-heading{justify-content:space-between;gap:var(--space-3)}.screenplay-visual-style-input{min-height:116px}.screenplay-visual-style-footer{align-items:flex-start;gap:var(--space-2);flex-direction:column}.screenplay-visual-style-help{max-width:65ch;color:var(--ink-2);font-size:var(--text-label);line-height:var(--leading-compact)}.screenplay-visual-style-meta{justify-content:space-between;gap:var(--space-3);width:100%;color:var(--ink-3);font-size:var(--text-label);font-variant-numeric:tabular-nums}.form-row{gap:var(--space-2);flex-direction:column;display:flex}.form-label{align-items:center;gap:var(--space-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2);display:flex}.form-label-hint{font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-regular);line-height:var(--leading-data);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink-2)}.form-hint{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);margin:0}.duration-inputs{align-items:center;gap:var(--space-3);display:flex}.duration-field{align-items:center;gap:var(--space-2);display:flex}.duration-input{text-align:center;width:72px}.duration-unit{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.duration-hint{padding-left:var(--space-3);font-family:var(--font-mono);font-size:var(--text-data);line-height:var(--leading-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink-2)}.screenplay-premise-composer{width:100%;min-width:0;min-height:clamp(560px,68svh,760px);padding:var(--space-5) var(--space-6);border-radius:var(--sp-radius-creative,14px);background:var(--surface-raised);flex-direction:column;grid-area:premise;display:flex;box-shadow:0 8px 24px #0000002e}.screenplay-premise-heading{max-width:62ch}.screenplay-premise-heading h2{font-size:var(--sp-text-major,17px);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);color:var(--ink);margin:0;line-height:1.3}.screenplay-premise-heading p{margin:var(--space-2) 0 0;font-size:var(--sp-text-body,15px);line-height:var(--leading-body);color:var(--ink-2)}.screenplay-premise-input{width:100%;min-height:0;margin-top:var(--space-4);padding:var(--space-5);border:1px solid var(--border-control);border-radius:var(--sp-radius-creative,14px);background:var(--surface-control);font-family:var(--font-ui);font-size:var(--sp-text-body,15px);line-height:var(--leading-body);color:var(--ink);resize:vertical;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);flex:1 0 auto}.screenplay-premise-input:hover:not(:disabled){background:var(--surface-hover)}.screenplay-premise-input::placeholder{color:var(--ink-placeholder)}.screenplay-premise-input:focus{border-color:var(--accent);outline:none}.screenplay-premise-composer:focus-within{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.screenplay-premise-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.screenplay-premise-meta{align-items:center;gap:var(--space-3);display:flex}.screenplay-premise-meta>span,.screenplay-premise-shot-hint{font-family:var(--font-mono);font-size:var(--text-data);line-height:var(--leading-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink-2)}.screenplay-premise-actions{align-items:center;gap:var(--space-3);display:flex}.screenplay-premise-footer .btn{height:var(--sp-control-h,36px);border-radius:var(--sp-radius-control,8px)}.premise-wrapper{gap:var(--space-2);flex-direction:column;display:flex}.premise-actions{gap:var(--space-2);display:flex}.screenplay-csv-guide{padding-block:var(--space-2);color:var(--ink-2)}.screenplay-csv-guide summary{align-items:center;gap:var(--space-2);width:fit-content;min-height:var(--control-h-compact);font-size:var(--text-compact);font-weight:var(--weight-semibold);line-height:var(--leading-compact);color:var(--ink);cursor:pointer;display:flex}.screenplay-csv-guide summary::marker{color:var(--ink-2)}.screenplay-csv-guide-body{gap:var(--space-2);max-width:104ch;padding:var(--space-2) 0 var(--space-2) var(--space-5);display:grid}.screenplay-csv-guide-body p{font-size:var(--text-compact);line-height:var(--leading-body);margin:0}.screenplay-csv-guide code{font-family:var(--font-mono);font-size:var(--text-data);color:var(--ink)}.style-ref-zone{min-height:90px;padding:var(--space-3);border:1px dashed var(--border-control);border-radius:var(--radius-interactive);cursor:pointer;transition:border-color var(--motion) var(--ease), background-color var(--motion) var(--ease);align-items:center;display:flex}.style-ref-zone:hover,.style-ref-zone.drag-over{border-color:var(--accent);background:var(--surface-control)}.style-ref-zone.zone-full{cursor:default;border-style:solid;border-color:var(--rule);background:0 0}.style-ref-empty{justify-content:center;align-items:center;gap:var(--space-1);width:100%;padding:var(--space-2) 0;font-family:var(--font-ui);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink);cursor:pointer;transition:color var(--motion) var(--ease);background:0 0;border:none;flex-direction:column;display:flex}.style-ref-hint{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.style-ref-thumbs{gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.style-ref-thumb{background:var(--surface-well);border-radius:var(--radius-frame);flex-shrink:0;width:72px;height:72px;position:relative;overflow:hidden}.style-ref-thumb img{object-fit:cover;width:100%;height:100%;display:block}.style-ref-remove{background:var(--surface-overlay);width:24px;height:24px;color:var(--ink);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease), color var(--motion) var(--ease);border:none;border-radius:0 0 0 3px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}.style-ref-thumb:hover .style-ref-remove,.style-ref-remove:focus-visible{opacity:1}.style-ref-remove:hover{color:var(--status-red)}.style-ref-add{border:1px dashed var(--border-control);border-radius:var(--radius-frame);width:72px;height:72px;color:var(--ink-2);cursor:pointer;transition:border-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.style-ref-add:hover{border-color:var(--accent);color:var(--ink)}.screenplay-output{gap:var(--space-5);min-width:0;margin-top:var(--gap-region);flex-direction:column;display:flex}.screenplay-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-4);display:flex}.screenplay-meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.screenplay-title{margin-right:var(--space-2);font-size:var(--sp-text-major,17px);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);color:var(--ink);line-height:1.3}.screenplay-badge{height:26px;padding:0 var(--space-2);border-radius:var(--sp-radius-chip,6px);background:var(--surface-control);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);white-space:nowrap;align-items:center;line-height:1;display:inline-flex}.screenplay-badge-data{font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-regular);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink)}.screenplay-toolbar-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.screenplay-toolbar-actions .btn{height:var(--sp-control-h,36px);border-radius:var(--sp-radius-control,8px)}.screenplay-view-toggle{gap:var(--space-1);display:inline-flex}.screenplay-view-toggle button{align-items:center;gap:var(--space-1);height:var(--sp-control-h,36px);padding:0 var(--space-4);border-radius:var(--sp-radius-control,8px);font-family:var(--font-ui);font-size:var(--sp-text-compact,14px);font-weight:var(--weight-semibold);color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:none;display:inline-flex;position:relative}.screenplay-view-toggle button:hover{background:var(--surface-hover);color:var(--ink)}.screenplay-view-toggle button[aria-pressed=true]{color:var(--ink);background:0 0}.screenplay-view-toggle button[aria-pressed=true]:after{content:"";background:var(--accent);height:2px;position:absolute;inset:auto 0 0}.btn-ghost.btn-danger{border-color:var(--status-red);color:var(--status-red-hover)}.btn-ghost.btn-danger:hover:not(:disabled){background:var(--tint-red);border-color:var(--status-red-hover);color:var(--status-red-hover)}.screenplay-outline{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.screenplay-outline-note{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--sp-radius-control,8px);background:var(--tint-accent);font-size:var(--sp-text-compact,14px);line-height:var(--leading-compact);color:var(--ink);display:flex}.screenplay-outline-note svg{color:var(--accent);flex:none}.screenplay-scene{background:var(--surface-raised);border-radius:var(--sp-radius-panel,12px);border:1px solid var(--rule);overflow:hidden}.screenplay-scene-header{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-4) var(--space-5);border:none;border-bottom:1px solid var(--rule);text-align:left;color:var(--ink);cursor:pointer;transition:background-color var(--motion) var(--ease);background:0 0;grid-template-columns:24px minmax(0,1fr) auto;display:grid}.screenplay-scene-header:hover{background:var(--surface-hover)}.screenplay-scene-toggle{color:var(--ink-2);justify-content:center;align-items:center;display:inline-flex}.screenplay-scene-heading{flex-direction:column;gap:4px;min-width:0;display:flex}.screenplay-scene-title{font-size:var(--sp-text-major,17px);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.screenplay-scene-meta,.screenplay-scene-cast{font-size:var(--text-data);line-height:var(--leading-data);color:var(--ink-2)}.screenplay-scene-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.screenplay-scene-cast{max-width:36ch;font-family:var(--font-mono);font-size:var(--text-data);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.screenplay-scene-content{gap:var(--sp-shot-row-gap,8px);padding:var(--space-4) var(--space-4) var(--space-5);flex-direction:column;display:flex}.screenplay-shot-outline{border-radius:var(--sp-radius-card,10px);background:var(--surface-control);transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), box-shadow var(--motion) var(--ease);border:1px solid #0000;overflow:hidden;container-type:inline-size}.screenplay-shot-outline:hover{border-color:var(--rule);box-shadow:0 2px 8px #0000001f}.screenplay-shot-outline--expanded{background:var(--surface-selected);border-color:var(--accent)}.screenplay-shot-summary{align-items:start;gap:var(--space-3);width:100%;min-height:var(--sp-shot-row-min,64px);padding:var(--space-3) var(--space-4);text-align:left;color:var(--ink);cursor:pointer;transition:background-color var(--motion) var(--ease);background:0 0;border:none;grid-template-columns:96px minmax(0,1fr) auto 24px;display:grid}.screenplay-shot-summary:hover{background:var(--surface-hover)}.screenplay-shot-code,.screenplay-shot-duration{align-items:center;gap:var(--space-1);min-height:24px;font-family:var(--font-mono);font-size:var(--text-data);line-height:var(--leading-data);font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap;display:inline-flex}.screenplay-shot-copy{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.screenplay-shot-dialogue-indicator{align-items:center;gap:var(--space-1);font-size:var(--text-data);line-height:var(--leading-data);color:var(--accent);display:inline-flex}.screenplay-shot-chevron{min-height:24px;color:var(--ink-2);justify-content:center;display:inline-flex}.screenplay-shot-details{gap:var(--space-4);padding:var(--space-4);border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.screenplay-detail-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.screenplay-detail-field--scene,.screenplay-detail-tags,.screenplay-shot-detail-actions{grid-column:1/-1}.screenplay-detail-field>span{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);line-height:1.25}.screenplay-detail-field textarea,.screenplay-dialogue-speaker,.screenplay-dialogue-copy{border:1px solid var(--border-control);border-radius:var(--sp-radius-control,8px);background:var(--surface-control);width:100%;font-family:var(--font-ui);font-size:var(--sp-text-body,15px);line-height:var(--leading-body);color:var(--ink)}.screenplay-detail-field textarea{min-height:80px;padding:var(--space-3);resize:vertical}.screenplay-detail-tags{padding:var(--space-3) 0}.screenplay-shot-body{padding:0 var(--space-4) var(--space-4);grid-template-columns:minmax(0,62ch) minmax(340px,1fr);align-items:start;gap:36px;display:grid}.screenplay-shot-desc{flex-direction:column;gap:9px;min-width:0;display:flex}.screenplay-shot-desc p{color:var(--ink);text-wrap:pretty;margin:0;font-size:14px;line-height:1.62}.screenplay-shot-spec{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:7px;font-size:10px;display:flex}.screenplay-shot-spec b{color:var(--ink-2);background:var(--surface-control);letter-spacing:.08em;border-radius:4px;padding:3px 7px;font-weight:500}.screenplay-shot-spec span{opacity:.5}.screenplay-entities{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-width:0;display:grid}.screenplay-ecol{flex-direction:column;gap:7px;min-width:0;display:flex}.screenplay-ecol-label{font-family:var(--font-mono);letter-spacing:.13em;color:var(--ink-3);border-bottom:1px solid var(--rule);align-items:baseline;gap:6px;padding-bottom:6px;font-size:9.5px;font-weight:500;display:flex}.screenplay-ecol-label s{opacity:.65;font-variant-numeric:tabular-nums;margin-left:auto;text-decoration:none}.screenplay-elist{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.screenplay-entity-tag{background:var(--tag-surface);border:1px solid;border-radius:6px;align-items:center;gap:6px;max-width:100%;padding:4px 8px;font-size:12.5px;line-height:1.3;display:inline-flex}.screenplay-entity-txt{overflow-wrap:anywhere;min-width:0}.screenplay-entity-remove{color:currentColor;opacity:0;cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;place-items:center;width:13px;height:13px;margin:-2px -3px -2px 0;padding:0;font-size:12px;line-height:1;transition:opacity .12s;display:grid}.screenplay-entity-tag:hover .screenplay-entity-remove,.screenplay-entity-tag:focus-within .screenplay-entity-remove{opacity:.75}.screenplay-entity-remove:hover{opacity:1}.screenplay-entity-remove:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px}.screenplay-entity-tag--char{color:var(--tag-character);border-color:var(--tag-character-border)}.screenplay-entity-tag--set{color:var(--tag-setting);border-color:var(--tag-setting-border)}.screenplay-entity-tag--prop{color:var(--tag-prop);border-color:var(--tag-prop-border)}.screenplay-eadd{color:var(--ink-3);cursor:pointer;text-align:left;opacity:.75;background:0 0;border:0;border-radius:5px;margin-left:-5px;padding:3px 5px;font-size:12px}.screenplay-eadd:hover{color:var(--ink-2);background:var(--surface-control);opacity:1}.screenplay-eadd:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.screenplay-eadd-input{color:var(--ink);background:var(--surface-control);border:1px solid var(--rule);border-radius:5px;width:100%;min-width:0;padding:3px 6px;font-size:12px}.screenplay-eadd-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.screenplay-elist-empty{color:var(--ink-3);opacity:.6;padding:4px 0;font-size:12.5px}@container (width<=1040px){.screenplay-shot-body{grid-template-columns:minmax(0,1fr);gap:18px}}@container (width<=620px){.screenplay-entities{grid-template-columns:minmax(0,1fr);gap:10px}.screenplay-ecol{grid-template-columns:52px minmax(0,1fr);align-items:start;gap:10px;display:grid}.screenplay-ecol-label{border-bottom:0;padding:5px 0 0}.screenplay-ecol-label s{display:none}.screenplay-elist{flex-flow:wrap}}@supports not (container-type:inline-size){@media (width<=1140px){.screenplay-shot-body{grid-template-columns:minmax(0,1fr);gap:18px}}}.screenplay-shot-detail-actions{padding-top:var(--space-2);justify-content:flex-end;display:flex}.screenplay-dialogue-thread{align-items:start;gap:var(--space-3);margin-left:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-3);border-radius:var(--sp-radius-card,10px);background:var(--surface-control);border-left:3px solid var(--accent);grid-template-columns:32px minmax(0,1fr) 32px;display:grid}.screenplay-dialogue-thread--voiceover{background:var(--surface-raised);border-left-color:var(--status-amber)}.screenplay-dialogue-thread--voiceover .screenplay-dialogue-thread-rail,.screenplay-dialogue-thread--voiceover .screenplay-dialogue-thread-heading>span{color:var(--status-amber)}.screenplay-dialogue-thread-rail{min-height:36px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.screenplay-dialogue-thread-body{min-width:0}.screenplay-dialogue-thread-heading{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.screenplay-dialogue-thread-heading>span{font-size:var(--text-data);line-height:var(--leading-data);color:var(--accent)}.screenplay-dialogue-speaker{width:min(220px,50%);min-height:var(--sp-control-h,36px);padding:0 var(--space-3);font-size:var(--sp-text-compact,14px);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase}.screenplay-dialogue-copy{min-height:64px;padding:var(--space-3);resize:vertical;display:block}.screenplay-outline-delete{width:var(--sp-control-h-compact,32px);height:var(--sp-control-h-compact,32px);border-radius:var(--sp-radius-control,8px);color:var(--ink-2);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease), color var(--motion) var(--ease), background-color var(--motion) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.screenplay-dialogue-thread:hover .screenplay-outline-delete,.screenplay-outline-delete:focus-visible{opacity:1}.screenplay-outline-delete:hover{background:var(--tint-red);color:var(--status-red)}.screenplay-outline-footer{gap:var(--space-3);padding-top:var(--space-4);display:flex}.screenplay-outline-footer .btn{height:var(--sp-control-h,36px);border-radius:var(--sp-radius-control,8px)}.script-table-wrapper{contain:inline-size;overscroll-behavior-x:contain;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.script-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:960px;font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact)}.script-header-row th{z-index:2;padding:var(--space-2) var(--space-4);background:var(--surface-raised);border-bottom:1px solid var(--rule-strong);text-align:left;font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2);position:sticky;top:0}.script-col-shot{width:64px;text-align:center!important}.script-col-scene{width:220px}.script-col-movement{width:200px}.script-col-sound{width:220px}.script-col-tags{width:200px}.script-col-actions{width:48px}.script-shot-row{border-bottom:1px solid var(--rule-strong);transition:background-color var(--motion-fast) var(--ease)}.script-shot-row:last-child{border-bottom:none}.script-shot-row:hover{background:var(--surface-hover)}.script-shot-num{z-index:1;padding:var(--space-3) var(--space-2);background:var(--surface-canvas);text-align:center;vertical-align:top;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-regular);line-height:var(--leading-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink);position:sticky;left:0}.script-shot-row:hover .script-shot-num{background:var(--surface-hover)}.script-cell{padding:var(--space-3) var(--space-4);vertical-align:top;color:var(--ink)}.script-scene{color:var(--ink)}.script-movement,.script-sound{color:var(--ink-2)}.screenplay-modes{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.mode-group{border:1px solid var(--border-control);border-radius:var(--radius-interactive);flex-shrink:0;display:flex;overflow:hidden}.mode-group .mode-toggle{border:none;border-right:1px solid var(--border-control);border-radius:0}.mode-group .mode-toggle:last-child{border-right:none}.mode-toggle{align-items:center;gap:var(--space-1);height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-interactive);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-semibold);color:var(--ink-2);white-space:nowrap;cursor:pointer;transition:color var(--motion) var(--ease), background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);background:0 0;line-height:1;display:inline-flex;position:relative}.mode-toggle:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.mode-toggle[aria-pressed=true]{background:var(--surface-selected);color:var(--ink)}.mode-toggle[aria-pressed=true]:after{content:"";background:var(--accent-grad);height:2px;position:absolute;inset:auto 0 0}.mode-toggle:disabled{color:var(--ink-disabled);cursor:not-allowed}.script-voiceover-block{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-interactive);background:var(--surface-raised);font-style:italic;font-size:var(--text-compact);line-height:var(--leading-body);color:var(--ink-2);display:flex}.script-vo-label{font-family:var(--font-mono);font-style:normal;font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2);flex-shrink:0;display:inline-block}.script-vo-text{flex:1}.script-characters-bar{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.script-characters-label{align-items:center;gap:var(--space-1);margin-right:var(--space-1);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2);flex-shrink:0;display:inline-flex}.script-character-chip{height:20px;padding:0 var(--space-2);background:var(--surface-raised);font-size:var(--text-compact);color:var(--ink);border-radius:3px;align-items:center;line-height:1;display:inline-flex}.script-dialogue-row{background:var(--surface-raised);border-bottom:1px solid var(--rule);transition:background-color var(--motion-fast) var(--ease)}.script-dialogue-row:last-child{border-bottom:none}.script-dialogue-row .script-shot-num{background:var(--surface-raised)}.script-dialogue-row:hover,.script-dialogue-row:hover .script-shot-num{background:var(--surface-hover)}.script-voiceover-row,.script-voiceover-row .script-shot-num{background:var(--surface-control)}.script-voiceover-row .script-dlg-label{color:var(--status-amber)}.script-voiceover-track-note{margin:0 0 var(--space-1) var(--space-1);font-size:var(--text-label);color:var(--status-amber);display:block}.script-dialogue-cell{padding:var(--space-2) var(--space-4) var(--space-2) var(--space-6);font-size:var(--text-compact)}.script-dlg-label{font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);color:var(--ink-2)}.script-cell-input{width:100%;padding:var(--space-1);border-radius:var(--radius-interactive);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);line-height:var(--leading-compact);resize:none;transition:border-color var(--motion) var(--ease), background-color var(--motion) var(--ease);background:0 0;border:1px solid #0000;display:block}.script-cell-input:hover:not(:disabled){border-color:var(--rule-strong)}.script-cell-input:focus{border-color:var(--border-control);background:var(--surface-control)}.script-cell-input::placeholder{color:var(--ink-placeholder)}.script-shot-row textarea.script-cell-input{min-height:6.5rem;max-height:16rem;overflow-y:auto}.script-scene textarea.script-cell-input{min-height:9rem}.script-tags-cell .script-tag-row:first-child{margin-top:0}.script-dialogue-char-input{margin-bottom:var(--space-1);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink)}.script-tag-row{align-items:center;gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;min-height:24px;display:flex}.script-tag-row--character,.script-tag--character,.tag-chip--character{--tag-color:var(--tag-character);--tag-border:var(--tag-character-border)}.script-tag-row--setting,.script-tag--setting,.tag-chip--setting{--tag-color:var(--tag-setting);--tag-border:var(--tag-setting-border)}.script-tag-row--prop,.script-tag--prop,.tag-chip--prop{--tag-color:var(--tag-prop);--tag-border:var(--tag-prop-border)}.script-tag-row-label{width:3.25rem;font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--tag-color);flex-shrink:0}.script-tag{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border:1px solid var(--tag-border);border-radius:var(--radius-chip);background:var(--tag-surface);font-size:var(--text-compact);color:var(--ink);white-space:nowrap;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);line-height:1;display:inline-flex}.script-tag:hover,.script-tag:focus-within{border-color:var(--tag-color);background:var(--tag-surface-hover)}.script-tag:active{border-color:var(--tag-color);background:var(--tag-surface-selected)}.tag-kind{border:1px solid var(--tag-border);background:var(--tag-surface);min-width:14px;height:14px;font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--tag-color);border-radius:2px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.script-tag-remove{color:var(--ink-2);cursor:pointer;transition:color var(--motion) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.script-tag-remove:after{content:"";width:24px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.script-tag-remove:hover{background:var(--tag-surface-selected);color:var(--ink)}.script-tag-draft{min-width:6rem;min-height:24px;padding:0 var(--space-1);font-family:var(--font-ui);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink);background:0 0;border:none;flex:1}.script-tag-draft::placeholder{color:var(--ink-placeholder)}.script-row-actions-cell{width:32px;padding:0 var(--space-1);text-align:center;vertical-align:middle}.script-row-delete{border-radius:var(--radius-interactive);width:24px;height:24px;color:var(--ink-2);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.script-shot-row:hover .script-row-delete,.script-dialogue-row:hover .script-row-delete,.script-row-delete:focus-visible{opacity:1}.script-row-delete:hover{color:var(--status-red)}.script-table-footer{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--rule);display:flex}@media (width<=1120px){.screenplay-composer{gap:var(--space-5);grid-template-columns:minmax(0,1fr);grid-template-areas:"premise""config"}.screenplay-composer-config{gap:var(--space-4);padding:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.screenplay-config-section:last-child{grid-column:1/-1}}@media (width<=720px){.screenplay-settings{gap:var(--space-5)}.screenplay-premise-composer{padding:var(--space-4) var(--space-5);min-height:clamp(400px,56svh,560px)}.screenplay-composer-config{gap:var(--space-4);padding:var(--space-4);display:flex}.screenplay-toolbar{align-items:flex-start;gap:var(--space-3);flex-direction:column}.screenplay-toolbar-actions{width:100%}.screenplay-scene-header{padding:var(--space-3);grid-template-columns:24px minmax(0,1fr)}.screenplay-scene-cast{grid-column:2;max-width:100%}.screenplay-scene-content{padding:var(--space-2) var(--space-2) var(--space-4)}.screenplay-shot-summary{gap:var(--space-2);padding:var(--space-3);grid-template-columns:88px minmax(0,1fr) 24px;min-height:56px}.screenplay-shot-duration{grid-area:2/1}.screenplay-shot-chevron{grid-area:1/3}.screenplay-shot-details{padding:var(--space-3);grid-template-columns:minmax(0,1fr)}.screenplay-shot-body{padding:0 var(--space-3) var(--space-3)}.screenplay-detail-field--scene,.screenplay-detail-tags,.screenplay-shot-detail-actions{grid-column:1}.screenplay-dialogue-thread{padding:var(--space-3);gap:var(--space-2);grid-template-columns:24px minmax(0,1fr) 32px}.screenplay-dialogue-thread-heading{align-items:flex-start;gap:var(--space-1);flex-direction:column}.screenplay-dialogue-speaker{width:100%}.screenplay-outline-delete{opacity:1}}@media (width<=480px){.duration-inputs{flex-wrap:wrap;align-items:flex-start}.duration-hint{width:100%;padding-left:0}.screenplay-premise-footer{flex-direction:column;align-items:flex-start}.screenplay-premise-actions{flex-direction:column;align-items:stretch;width:100%}.screenplay-premise-actions .btn{justify-content:center;width:100%}.screenplay-toolbar-actions>.btn{flex:1}.screenplay-view-toggle{width:100%}.screenplay-view-toggle button{flex:1;justify-content:center}.screenplay-shot-summary{grid-template-columns:minmax(0,1fr) 20px}.screenplay-shot-code,.screenplay-shot-duration{grid-column:1}.screenplay-shot-copy{grid-column:1/-1}.screenplay-shot-chevron{grid-column:2}.screenplay-dialogue-thread{grid-template-columns:20px minmax(0,1fr)}.screenplay-outline-delete{grid-column:2;justify-self:end}}.char-workspace{gap:var(--space-4);height:calc(100vh - 60px);margin:calc(var(--space-5) * -1);padding:var(--space-4);display:flex;overflow:hidden}.char-list-panel{background:var(--surface-raised);border-radius:var(--radius-panel);width:300px;box-shadow:var(--shadow-panel);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.char-list-scroll{padding:var(--space-2) 0;flex:1;overflow-y:auto}.char-detail-panel{padding:var(--creative-panel-pad);background:var(--surface-raised);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);flex:1;overflow-y:auto}.char-detail-body{gap:var(--space-6);grid-template-columns:minmax(280px,42%) 1fr;align-items:start;display:grid}.char-detail-left{flex-direction:column;display:flex;position:sticky;top:0}.char-detail-right{min-width:0}.char-list-controls{gap:var(--space-3);padding:var(--creative-panel-pad);border-bottom:1px solid var(--rule);flex-direction:column;display:flex}.char-list-control-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.char-list-control-label{font-size:var(--text-creative-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);line-height:1.25}.char-import-msg{align-items:center;gap:var(--space-2);font-size:var(--text-creative-control);line-height:var(--leading-compact);color:var(--status-green);margin:0;display:flex}.char-new-input-row{gap:var(--space-2);padding:var(--space-3) var(--creative-panel-pad);border-bottom:1px solid var(--rule);background:var(--surface-control);flex-wrap:wrap;display:flex}.char-new-type{flex:0 0 100%}.char-new-input{flex:1;min-width:0}.char-list-item{border-bottom:1px solid var(--rule);transition:background-color var(--motion) var(--ease);align-items:center;display:flex;position:relative}.char-list-item:hover{background:var(--surface-hover)}.char-list-item.selected{background:var(--surface-selected);border-left:2px solid var(--accent)}.char-list-select{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);text-align:left;font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;flex:1;display:flex}.char-list-item.selected .char-list-select{padding-left:calc(var(--space-3) - 2px)}.char-list-thumb,.char-list-thumb-ph{border-radius:var(--radius-control);flex-shrink:0;width:48px;height:48px}.char-list-thumb{object-fit:cover}.char-list-thumb-ph{background:var(--surface-well);color:var(--ink-2);justify-content:center;align-items:center;display:flex}.char-list-meta{align-items:flex-start;gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.char-list-name{width:100%;font-size:var(--text-creative-control);font-weight:var(--weight-medium);line-height:var(--leading-compact);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.char-list-role{width:100%;font-size:var(--text-creative-control);line-height:var(--leading-compact);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.char-list-role-empty{color:var(--ink-2);font-style:italic}.char-list-delete{width:24px;height:24px;margin-right:var(--space-2);border-radius:var(--radius-interactive);color:var(--ink-2);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.char-list-item:hover .char-list-delete,.char-list-delete:focus-visible{opacity:1}.char-list-delete:hover{color:var(--status-red)}.char-source-badge{width:fit-content;height:20px;padding:0 var(--space-2);background:var(--surface-raised);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);border-radius:3px;align-items:center;line-height:1;display:inline-flex}.char-type-badge{width:fit-content;height:20px;padding:0 var(--space-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;border-radius:3px;align-items:center;line-height:1;display:inline-flex}.char-type-narrator{background:var(--surface-info);color:var(--ink-info)}.char-detail-body.narrator-mode{display:block}.char-detail-body.narrator-mode .char-detail-right{max-width:100%}.char-detail-header{align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.char-detail-name-row{gap:var(--space-3);flex-direction:column;flex:1;min-width:200px;display:flex}.char-detail-name-input{width:100%;padding:var(--space-2) 0;font-family:var(--font-ui);font-size:var(--text-creative-title);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink);transition:border-color var(--motion) var(--ease);background:0 0;border:none;border-bottom:2px solid #0000}.char-detail-name-input:hover{border-bottom-color:var(--rule-strong)}.char-detail-name-input:focus{border-bottom-color:var(--accent)}.char-detail-identity{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.char-visual-style-row,.char-asset-header,.entity-asset-header{align-items:center;gap:var(--space-2);font-size:var(--text-creative-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap;line-height:1.25;display:flex}.char-asset-header>span,.entity-asset-header>span{margin-right:auto}.char-asset-actions,.entity-asset-actions{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:flex}.char-sheet-area{border:2px solid var(--rule-strong);border-radius:var(--radius-panel);background:var(--surface-well);text-align:left;width:100%;transition:border-color var(--motion) var(--ease);padding:0;display:block;overflow:hidden}button.char-sheet-area{cursor:pointer}button.char-sheet-area:hover{border-color:var(--accent)}.char-sheet-img{object-fit:contain;width:100%;max-height:600px;display:block}.char-sheet-ph{justify-content:center;align-items:center;gap:var(--space-3);height:200px;padding:var(--space-5);text-align:center;font-size:var(--text-creative-body);line-height:var(--leading-body);color:var(--ink);flex-direction:column;display:flex}.char-sheet-ph-hint{font-size:var(--text-creative-control);color:var(--ink-2)}.char-placeholder-icon{color:var(--border-control)}.char-sheet-open-concept{width:100%;margin-top:var(--space-2)}.char-ref-section{gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--rule);flex-direction:column;display:flex}.char-ref-label{align-items:center;gap:var(--space-2);font-size:var(--text-creative-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);line-height:1.25;display:flex}.char-ref-label-text{margin-right:auto}.char-ref-actions{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:flex}.char-ref-action{padding:0 var(--space-2)}.char-ref-empty{padding:var(--space-3) 0;font-size:var(--text-creative-control);font-style:italic;line-height:var(--leading-compact);color:var(--ink-2);margin:0}.char-ref-help,.entity-ref-help{font-size:var(--text-creative-control);line-height:var(--leading-compact);color:var(--ink-3);margin:0}.char-ref-thumbs{gap:var(--space-2);flex-wrap:wrap;display:flex}.char-ref-thumb{flex-shrink:0;width:64px;height:64px;position:relative}.char-ref-thumb img{object-fit:cover;border-radius:var(--radius-control);width:100%;height:100%}.char-ref-thumb--headshot{gap:var(--space-1);width:128px;height:auto;display:grid}.char-ref-thumb--headshot img{aspect-ratio:1}.char-ref-thumb--headshot .btn{white-space:normal;min-height:32px}.char-ref-remove{background:var(--surface-overlay);width:24px;height:24px;color:var(--ink);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease), color var(--motion) var(--ease);border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-6px;right:-6px}.char-ref-thumb:hover .char-ref-remove,.char-ref-remove:focus-visible{opacity:1}.char-ref-remove:hover{color:var(--status-red)}.char-generate-sheet{width:100%;margin-top:var(--space-4);justify-content:center}.char-detail-right>.tabs{margin-bottom:var(--space-5);overflow-x:auto}.char-detail-right .setting-item.is-wide{grid-column:1/-1}.char-tab-note{margin:0 0 var(--space-5);max-width:68ch;font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2)}.voice-tab{max-width:760px}.voice-tab .btn-primary,.modal.voice-library-modal .btn-primary{background:var(--accent);border-color:var(--accent)}.voice-tab .btn-primary:hover:not(:disabled),.modal.voice-library-modal .btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.voice-tab>.error-banner{margin-bottom:var(--space-4)}.voice-tab-state,.voice-assignment-empty{align-items:center;gap:var(--space-3);min-height:120px;color:var(--ink-2);display:flex}.voice-assignment-empty{padding:var(--space-5) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);align-items:flex-start}.voice-assignment-empty>svg{color:var(--accent);flex:none;margin-top:2px}.voice-assignment-empty>div{flex:1;min-width:0}.voice-assignment-empty h3,.voice-current h3,.voice-section-heading h3,.voice-library-header h2,.voice-library-row h3{color:var(--ink);margin:0}.voice-assignment-empty h3,.voice-section-heading h3,.voice-library-row h3{font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-title)}.voice-assignment-empty p,.voice-current p,.voice-section-heading p,.voice-library-header p,.voice-library-row p{margin:var(--space-1) 0 0;color:var(--ink-2);line-height:var(--leading-body)}.voice-assignment-empty p{max-width:54ch}.voice-current{align-items:start;gap:var(--space-3);padding:0 0 var(--space-5);border-bottom:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.voice-current-icon{border-radius:var(--radius-interactive);background:var(--surface-selected);width:40px;height:40px;color:var(--ink);justify-content:center;align-items:center;display:flex}.voice-current-copy>span:first-child,.voice-library-filters label>span,.voice-preview-workbench>label{margin-bottom:var(--space-1);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2);display:block}.voice-current h3{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section)}.voice-current p{max-width:52ch;font-size:var(--text-compact)}.voice-provider-label,.voice-library-labels span{min-height:20px;margin-top:var(--space-2);padding:0 var(--space-2);background:var(--surface-raised);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);border-radius:3px;align-items:center;line-height:1;display:inline-flex}.voice-current-actions,.voice-remove-confirm{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.voice-remove-confirm>span{text-align:right;width:100%;font-size:var(--text-compact);color:var(--ink-2)}.voice-settings{padding-top:var(--space-5)}.voice-section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.voice-section-heading p{max-width:56ch;font-size:var(--text-compact)}.voice-settings-grid{gap:var(--space-5) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.voice-setting-label-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.voice-setting-label-row label{font-size:var(--text-compact);font-weight:var(--weight-medium);color:var(--ink)}.voice-setting-label-row output,.voice-character-count{font-variant-numeric:tabular-nums;font-size:var(--text-compact);color:var(--ink-2)}.voice-setting input[type=range]{width:100%;height:24px;margin:var(--space-1) 0 0;accent-color:var(--accent);cursor:pointer}.voice-setting input[type=range]:disabled{cursor:not-allowed}.voice-setting p{font-size:var(--text-label);line-height:var(--leading-compact);color:var(--ink-2);margin:0}.voice-preview-workbench{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--rule)}.voice-preview-actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.voice-preview-guidance{margin:var(--space-1) 0 0;font-size:var(--text-label);line-height:var(--leading-compact);color:var(--ink-2)}.voice-workbench-error{margin-bottom:var(--space-4)}.voice-preview-player{align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.voice-preview-player span,.voice-no-preview{font-size:var(--text-label);line-height:var(--leading-compact);color:var(--ink-2)}.voice-audio-player{align-items:center;gap:var(--space-2);grid-template-columns:30px minmax(72px,1fr) auto;width:100%;min-width:0;display:grid}.voice-audio-element{display:none}.voice-audio-toggle{width:var(--control-h-compact);height:var(--control-h-compact);border:1px solid var(--border-control);border-radius:var(--radius-interactive);background:var(--surface-control);color:var(--ink);cursor:pointer;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);justify-content:center;align-items:center;padding:0;display:flex}.voice-audio-toggle:hover{border-color:var(--accent);background:var(--surface-hover)}.voice-audio-player input[type=range]{width:100%;min-width:0;height:24px;accent-color:var(--accent);margin:0}.voice-audio-player>span{font-variant-numeric:tabular-nums;white-space:nowrap}.modal.voice-library-modal{width:min(1040px, calc(100vw - var(--space-6)));height:min(820px, calc(100dvh - var(--space-6)));overscroll-behavior:contain;flex-direction:column;max-height:none;display:flex}.voice-library-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--rule);display:flex}.voice-library-header h2{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section)}.voice-library-header p{font-size:var(--text-compact)}.voice-library-search{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.voice-library-search>svg{color:var(--ink-2)}.voice-library-filters{align-items:end;gap:var(--space-3);padding:0 var(--space-5) var(--space-4);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,minmax(120px,1fr)) auto;display:grid}.voice-library-filters .select{width:100%}.voice-library-count{padding-bottom:var(--space-2);font-variant-numeric:tabular-nums;font-size:var(--text-label);color:var(--ink-2);white-space:nowrap}.voice-library-error{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-3) var(--space-5) 0;display:flex}.voice-library-list{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.voice-library-state{justify-content:center;align-items:center;gap:var(--space-2);min-height:240px;padding:var(--space-5);text-align:center;color:var(--ink-2);flex-direction:column;display:flex}.voice-library-row{gap:var(--space-5);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--rule);transition:background-color var(--motion) var(--ease);grid-template-columns:minmax(0,1fr) minmax(260px,36%);align-items:center;display:grid}.voice-library-row:hover,.voice-library-row.is-selected{background:var(--surface-hover)}.voice-library-row.is-selected{box-shadow:inset 2px 0 0 var(--accent)}.voice-library-identity{align-items:start;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);display:grid}.voice-library-identity>svg{color:var(--accent);margin-top:2px}.voice-library-row p{max-width:60ch;font-size:var(--text-compact)}.voice-library-labels{gap:var(--space-1);flex-wrap:wrap;display:flex}.voice-library-audition{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.voice-library-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--rule);justify-content:center;display:flex}.field-drives{margin-left:var(--space-2);color:var(--accent);letter-spacing:var(--track-caps)}.field-drives--off{color:var(--ink-3)}.char-detail-profile-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.char-detail-save-actions{gap:var(--space-3);margin-left:auto;display:flex}.char-empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);flex-direction:column;display:flex}.char-empty-hint{font-size:var(--text-compact);color:var(--ink-2)}.char-no-selection{justify-content:center;align-items:center;gap:var(--space-3);height:60%;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);flex-direction:column;display:flex}.char-modal-title{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink);margin:0}.char-draw-dot{background:currentColor;border-radius:50%;display:block}.char-draw-dot--sm{width:4px;height:4px}.char-draw-dot--md{width:7px;height:7px}.char-draw-dot--lg{width:11px;height:11px}.char-modal-dropzone{min-height:60px}.spinner-sm{border:2px solid var(--rule-strong);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:13px;height:13px;animation:.8s linear infinite spin;display:inline-block}@media (width<=768px){.page-workspace>.char-workspace{flex-direction:column;overflow-y:auto}.char-list-panel{border-right:0;border-bottom:1px solid var(--rule);flex:none;width:100%;max-height:220px}.char-detail-panel{padding:var(--space-4);flex:none;overflow:visible}.char-detail-body{grid-template-columns:1fr}.char-detail-left{position:static}.char-detail-header{align-items:stretch}.char-detail-right>.tabs{gap:0 var(--space-3);flex-wrap:wrap;overflow-x:visible}.char-detail-right>.tabs .tab{flex:none}.voice-current,.voice-library-row{grid-template-columns:1fr}.voice-current-icon{display:none}.voice-current-actions,.voice-remove-confirm{justify-content:flex-start}.voice-remove-confirm>span{text-align:left}.voice-settings-grid{grid-template-columns:1fr}.voice-section-heading,.voice-preview-player{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.voice-library-modal{width:calc(100vw - var(--space-3));height:calc(100dvh - var(--space-3))}.voice-library-header,.voice-library-search,.voice-library-filters,.voice-library-row{padding-left:var(--space-4);padding-right:var(--space-4)}.voice-library-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.voice-library-count{grid-column:1/-1;padding-bottom:0}.voice-library-audition{grid-template-columns:1fr}}.storyboard-toolbar{align-items:center;gap:var(--space-3);min-width:0;max-width:100%;display:flex}.storyboard-toolbar-modes{border-radius:var(--radius-control);background:var(--surface-control);align-items:center;gap:2px;min-width:0;padding:2px;display:flex}.storyboard-tool-btn{align-items:center;gap:var(--space-1);height:var(--control-h-compact);padding-inline:var(--space-2);font-size:var(--text-compact);font-weight:var(--weight-medium);line-height:var(--leading-compact);color:var(--ink-2);border-radius:calc(var(--radius-control) - 2px);cursor:pointer;transition:color var(--motion) var(--ease), background-color var(--motion) var(--ease);background:0 0;border:none;display:inline-flex;position:relative}@media (width<=640px){.storyboard-toolbar-modes{flex-wrap:wrap}}.storyboard-tool-btn:hover{color:var(--ink);background:var(--surface-control)}.storyboard-tool-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.storyboard-tool-btn--active{color:var(--ink);background:var(--surface-selected)}.storyboard-tool-btn--active>svg{color:var(--accent)}.storyboard-tool-applied-dot{background:currentColor;border-radius:50%;width:6px;height:6px;margin-left:2px}.storyboard-tool-btn--active:hover{background:var(--surface-selected)}.storyboard-tool-btn:disabled{color:var(--ink-disabled);cursor:default}.storyboard-tool-panel{top:var(--tool-header-height,0px);z-index:90;max-height:min(48dvh, calc(100dvh - var(--tool-header-height,0px) - 100px));overscroll-behavior:contain;background:var(--surface-canvas);padding:var(--space-3) 0;border-bottom:1px solid var(--rule);margin-bottom:var(--space-4);position:sticky;overflow-y:auto}.storyboard-tool-panel-header{z-index:1;background:var(--surface-canvas);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex;position:sticky;top:0}.storyboard-tool-panel-info{min-width:0}.storyboard-tool-panel-title{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink);margin:0}.storyboard-tool-panel-desc{margin:var(--space-1) 0 0;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.storyboard-tool-panel-actions{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.storyboard-tool-panel-count{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.storyboard-tool-panel-error{max-width:70ch;margin:var(--space-2) 0 0;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-red)}@media (width<=768px){.storyboard-tool-panel-header{flex-direction:column}.storyboard-tool-panel-actions{flex-wrap:wrap;width:100%}}.storyboard-style-panel,.storyboard-embedded-tool{gap:var(--space-4);display:grid}.storyboard-tool-panel>.storyboard-style-panel,.storyboard-tool-panel>.storyboard-embedded-tool{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--rule)}.storyboard-style-tabs{border:1px solid var(--border-control);border-radius:var(--radius-interactive);display:inline-flex;overflow:hidden}.storyboard-embedded-tool-actions,.storyboard-tool-status,.storyboard-tool-error,.touchup-workspace--embedded .action-buttons{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.storyboard-style-tab{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);color:var(--ink-2);border:none;border-right:1px solid var(--border-control);cursor:pointer;font-weight:var(--weight-medium);transition:color var(--motion) var(--ease), background-color var(--motion) var(--ease);background:0 0;display:inline-flex;position:relative}.storyboard-style-tab:last-child{border-right:none}.storyboard-style-tab:hover:not(:disabled){color:var(--ink);background:var(--surface-hover)}.storyboard-style-tab.active{color:var(--ink);background:var(--surface-selected)}.storyboard-style-tab.active:after{content:"";background:var(--accent);height:2px;position:absolute;inset:auto 0 0}.storyboard-style-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.storyboard-style-tab:disabled{color:var(--ink-disabled);cursor:not-allowed}.storyboard-tool-scope{border:0;min-width:0;padding:0}.storyboard-tool-scope legend{margin-bottom:var(--space-2);color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact)}.storyboard-tool-scope-list{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.storyboard-tool-scope-item{align-items:center;gap:var(--space-2);min-height:56px;padding:var(--space-1) var(--space-2);color:var(--ink-2);background:var(--wash);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto 48px minmax(0,1fr) auto;display:grid}.storyboard-tool-scope-item[data-selected]{color:var(--ink);background:var(--surface-selected);outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.storyboard-tool-scope-item:focus-within{outline:2px solid var(--accent);outline-offset:2px}.storyboard-tool-scope-item img{border-radius:var(--radius-sm);object-fit:cover;width:48px;height:40px}.storyboard-tool-scope-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.storyboard-tool-scope-status{color:var(--ink-3);font-size:var(--text-compact)}.storyboard-tool-scope-empty,.storyboard-tool-error{padding:var(--space-3);border:1px dashed var(--border-control);border-radius:var(--radius-sm);color:var(--ink-3)}.storyboard-style-panel [hidden]{display:none}.storyboard-tool-warning{align-items:center;gap:var(--space-2);color:var(--status-amber);font-size:var(--text-compact);display:flex}.storyboard-tool-scope-empty{align-items:center;gap:var(--space-2);display:flex}.storyboard-tool-error{color:var(--status-red);border-style:solid;border-color:color-mix(in srgb, var(--status-red) 40%, var(--rule))}.storyboard-tool-status--success{color:var(--status-green)}.storyboard-video-scopes{border:0;min-width:0;margin:0;padding:0}.storyboard-video-scopes legend{margin-bottom:var(--space-2);color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact)}.storyboard-video-scope-options{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.storyboard-video-scope{min-width:0;min-height:60px;padding:var(--space-2) var(--space-3);text-align:start;color:var(--ink-2);background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-interactive);cursor:pointer;display:grid}.storyboard-video-scope:hover:not(:disabled){color:var(--ink);background:var(--surface-hover)}.storyboard-video-scope[aria-pressed=true]{color:var(--ink);background:var(--surface-selected);outline:2px solid var(--accent);outline-offset:1px}.storyboard-video-scope:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:2px}.storyboard-video-scope:disabled{color:var(--ink-disabled);cursor:default}.storyboard-video-scope small{margin-top:var(--space-1);overflow-wrap:anywhere;color:inherit;font-size:var(--text-label);align-self:end}.storyboard-video-scope-hint{color:var(--ink-2);font-size:var(--text-compact);margin:0}.storyboard-video-progress{gap:var(--space-2);min-width:0;padding:var(--space-3);background:var(--surface-raised);border-radius:var(--radius-overlay);display:grid}.storyboard-video-progress-copy,.storyboard-video-state-counts{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.storyboard-video-progress h3{font-size:var(--text-body);color:var(--ink);margin:0}.storyboard-video-progress-copy span,.storyboard-video-state-counts{color:var(--ink-2);font-size:var(--text-compact);font-variant-numeric:tabular-nums}.storyboard-video-progress progress{border-radius:var(--radius-interactive);width:100%;height:6px;accent-color:var(--accent);background:var(--surface-well);border:0;overflow:hidden}.storyboard-video-progress progress::-webkit-progress-bar{background:var(--surface-well)}.storyboard-video-progress progress::-webkit-progress-value{background:var(--accent)}.storyboard-video-progress progress::-moz-progress-bar{background:var(--accent)}.storyboard-video-failures{color:var(--ink-2);font-size:var(--text-compact)}.storyboard-video-failures summary{width:fit-content;color:var(--status-red);cursor:pointer}.storyboard-video-failures ul{gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid}.storyboard-video-failures li{gap:var(--space-3);padding:var(--space-2);background:var(--tint-red);border-radius:var(--radius-interactive);grid-template-columns:auto minmax(0,1fr);display:grid}.storyboard-video-failures span{overflow-wrap:anywhere}@media (width<=700px){.storyboard-video-scope-options{grid-template-columns:1fr}}.storyboard-tool-results,.touchup-workspace--embedded .touchup-table-section{min-width:0;overflow-x:auto}.touchup-workspace--embedded{gap:var(--space-4);min-width:0;display:grid}.touchup-workspace--embedded .section{margin:0}@media (width<=768px){.storyboard-tool-scope-list{grid-template-columns:1fr}.storyboard-tool-scope-item{grid-template-columns:auto 44px minmax(0,1fr)}.storyboard-tool-scope-status{grid-column:2/-1}}.storyboard-card[data-tool-selected]{outline:2px solid var(--status-blue);outline-offset:2px}.storyboard-grid{--card-min:220px;--card-pad:12px;--gutter:var(--space-2);--frame-ratio:16 / 9;grid-template-columns:repeat(auto-fill, minmax(var(--card-min), 1fr));column-gap:var(--space-4);row-gap:var(--space-5);margin-top:var(--space-5);display:grid}.storyboard-slot{min-width:0;position:relative;container:storyboard-slot/inline-size}.voice-sample-readiness p{margin:var(--space-2) 0;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.voice-sample-readiness[data-invalid] p{color:var(--ink);margin:0}.voice-sample-readiness[data-invalid]{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--tint-amber-border);border-radius:var(--radius-sm);background:var(--tint-amber);display:flex}.voice-sample-warning-icon{color:var(--status-amber);flex:none}.voice-sample-warning-title{margin-bottom:var(--space-1);display:block}.voice-library-audition>.voice-sample-readiness{grid-column:1/-1}.storyboard-grid--performance .storyboard-card{height:auto}.storyboard-grid--performance>.storyboard-slot{grid-template-rows:subgrid;grid-row:span 2;row-gap:0;display:grid;container-type:normal}.storyboard-grid--performance .storyboard-card,.storyboard-grid--performance .storyboard-performance{container:storyboard-slot/inline-size}.storyboard-grid--performance .storyboard-add{grid-row:span 2}.storyboard-slot[data-keyframe-edge]:before{content:"";bottom:calc(var(--space-2) * -1);z-index:2;background:var(--accent-grad);pointer-events:none;height:2px;position:absolute}.storyboard-slot[data-keyframe-edge=start]:before{left:50%;right:calc(var(--gutter) * -1)}.storyboard-slot[data-keyframe-edge=mid]:before{left:calc(var(--gutter) * -1);right:calc(var(--gutter) * -1)}.storyboard-slot[data-keyframe-edge=end]:before{left:calc(var(--gutter) * -1);right:50%}.storyboard-keyframe-selection-marker{top:calc(var(--card-pad) + var(--space-2));left:calc(var(--card-pad) + var(--space-2));z-index:4;border-radius:var(--radius-interactive);background:var(--surface-overlay);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink);pointer-events:none;padding:3px 6px;line-height:1;position:absolute;box-shadow:0 4px 12px #00000073}.storyboard-card{gap:var(--card-pad);height:100%;padding:var(--card-pad);border-radius:var(--radius-card);background:var(--surface-raised);cursor:grab;transition:background-color var(--motion) var(--ease), box-shadow var(--motion) var(--ease);flex-direction:column;display:flex;position:relative}.storyboard-card:hover{background:var(--surface-control);box-shadow:var(--shadow-card-hover)}.storyboard-card:active{cursor:grabbing}.storyboard-card[data-dragging]{background:var(--surface-overlay);box-shadow:var(--shadow-modal);cursor:grabbing}.storyboard-slot[data-drop]:after{content:"";background:var(--accent-grad);pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.storyboard-slot[data-drop=before]:after{left:calc(var(--gutter) * -1 - 1px)}.storyboard-slot[data-drop=after]:after{right:calc(var(--gutter) * -1 - 1px)}.storyboard-card[data-selected]{outline:2px solid var(--accent);outline-offset:2px}.storyboard-seq{bottom:calc(100% + var(--space-1));pointer-events:none;flex-direction:column;gap:2px;height:16px;display:flex;position:absolute}.storyboard-seq:before{content:"";background:var(--accent-grad);height:2px;display:block}.storyboard-slot[data-seq=start] .storyboard-seq{left:0;right:calc(var(--gutter) * -1)}.storyboard-slot[data-seq=mid] .storyboard-seq{left:calc(var(--gutter) * -1);right:calc(var(--gutter) * -1)}.storyboard-slot[data-seq=end] .storyboard-seq{left:calc(var(--gutter) * -1);right:0}.storyboard-seq-name{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;line-height:1;overflow:hidden}.storyboard-card-frame{aspect-ratio:var(--frame-ratio);border-radius:var(--radius-image);background:var(--surface-well);position:relative;overflow:hidden}.storyboard-card-open{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block;position:absolute;inset:0}.storyboard-card-open:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:calc(var(--focus-width) * -1)}.storyboard-card-image{object-fit:cover;width:100%;height:100%;display:block}.storyboard-card-video-play{z-index:4;width:44px;height:44px;color:var(--ink);background:var(--surface-overlay);border:1px solid var(--border-overlay);cursor:pointer;transition:background-color var(--motion) var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 8px 22px #00000075}.storyboard-card-video-play:hover{background:var(--surface-hover)}.storyboard-card-video-play:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:2px}.storyboard-card-video-state{z-index:4;border-radius:var(--radius-interactive);font-size:var(--text-label);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;max-width:calc(100% - var(--space-2));overflow-wrap:anywhere;pointer-events:none;padding:3px 6px;line-height:1.3;position:absolute;inset-block-start:var(--space-1);inset-inline-end:var(--space-1)}.storyboard-card-video-state--queued,.storyboard-card-video-state--generating{color:var(--status-amber);background:var(--tint-amber)}.storyboard-card-video-state--failed{color:var(--status-red);background:var(--tint-red)}.storyboard-card-video-state--complete{color:var(--status-green);background:var(--tint-green)}.storyboard-card-empty{width:100%;height:100%;color:var(--ink-3);justify-content:center;align-items:center;display:flex}.storyboard-keyframe-strip{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--ink-3) var(--surface-well);gap:2px;display:flex;position:absolute;inset:0;overflow:auto hidden}.storyboard-keyframe-preview{background:var(--surface-control);flex:1 0 clamp(52px,32%,88px);min-width:0;position:relative;overflow:hidden}.storyboard-keyframe-preview img,.storyboard-keyframe-missing{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.storyboard-keyframe-preview img{object-fit:cover}.storyboard-keyframe-missing{color:var(--ink-3)}.storyboard-keyframe-label{border-radius:var(--radius-interactive);background:var(--surface-overlay);font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--ink);padding:2px 4px;line-height:1;position:absolute;bottom:4px;right:4px;box-shadow:0 4px 12px #00000073}.storyboard-card-keyframe-summary{margin:0 0 var(--space-1);font-size:var(--text-label);font-weight:var(--weight-semibold);line-height:var(--leading-compact);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.storyboard-card-status-dot,.storyboard-card-busy{pointer-events:none}.storyboard-card-index{padding-right:var(--space-1);font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--ink-3);transition:color var(--motion) var(--ease);align-self:center;margin-left:auto;line-height:1}.storyboard-card:hover .storyboard-card-index{color:var(--ink-2)}.storyboard-card-status-dot{bottom:var(--space-1);left:var(--space-1);border:1px solid var(--surface-well);background:var(--surface-hover);width:8px;height:8px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink-2) 35%, transparent);border-radius:50%;position:absolute}.storyboard-card-status-dot[data-status=ready]{background:var(--status-green)}.storyboard-card-status-dot[data-status=generating],.storyboard-card-status-dot[data-status=editing]{background:var(--status-amber)}.storyboard-card-status-dot[data-status=error]{background:var(--status-red)}.storyboard-card-busy{border-radius:var(--radius-overlay);background:var(--surface-overlay);width:34px;height:34px;box-shadow:var(--shadow-menu);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.storyboard-card[data-busy]{cursor:default}.storyboard-card[data-busy]:hover{background:var(--surface-raised)}.storyboard-card-body{gap:var(--space-2);min-width:0;padding:0 var(--space-1);flex-direction:column;flex:1;display:flex}.storyboard-card-prompt{font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.storyboard-card-prompt em{color:var(--ink-placeholder);font-style:normal}.storyboard-card-actions{gap:var(--space-1);padding:0 var(--space-1);display:flex}.storyboard-card-actions .btn-ghost:not(:disabled),.storyboard-card-actions .btn-danger:not(:disabled){border-radius:var(--radius-control);width:32px;height:32px;color:var(--ink-3);border-color:#0000}.storyboard-card-actions .btn-ghost:hover:not(:disabled),.storyboard-card-actions .btn-ghost:focus-visible:not(:disabled){background:var(--surface-hover);color:var(--ink);border-color:#0000}.storyboard-card-actions .btn-danger:hover:not(:disabled),.storyboard-card-actions .btn-danger:focus-visible:not(:disabled){background:var(--tint-red);color:var(--status-red);border-color:#0000}.storyboard-card-actions .btn-ghost,.storyboard-card-actions .btn-danger{opacity:0;pointer-events:none;transition:opacity var(--motion) var(--ease), background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease)}.storyboard-card:hover .storyboard-card-actions .btn-ghost,.storyboard-card:hover .storyboard-card-actions .btn-danger,.storyboard-card:focus-within .storyboard-card-actions .btn-ghost,.storyboard-card:focus-within .storyboard-card-actions .btn-danger,.storyboard-card[data-selected] .storyboard-card-actions .btn-ghost,.storyboard-card[data-selected] .storyboard-card-actions .btn-danger,.storyboard-card[data-tool-selected] .storyboard-card-actions .btn-ghost,.storyboard-card[data-tool-selected] .storyboard-card-actions .btn-danger{opacity:1;pointer-events:auto}.storyboard-card-body{display:none}@container storyboard-slot (width>=220px){.storyboard-card-body{display:flex}.storyboard-card-prompt{-webkit-line-clamp:1}}@container storyboard-slot (width>=420px){.storyboard-card-prompt{-webkit-line-clamp:3}.storyboard-card-actions .btn-ghost,.storyboard-card-actions .btn-danger{opacity:1;pointer-events:auto}}.storyboard-card-spec{gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-medium);color:var(--ink-3);flex-wrap:wrap;line-height:1;display:none}.storyboard-card-spec-item{white-space:nowrap}.storyboard-card-spec-item:not(:last-child):after{content:"·";margin-left:var(--space-2);color:var(--ink-3)}.storyboard-card-tag-dots{align-items:center;gap:var(--space-1);min-height:8px;display:none}.storyboard-card-tag-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.storyboard-card-tag-dot--character{color:var(--tag-character)}.storyboard-card-tag-dot--setting{color:var(--tag-setting)}.storyboard-card-tag-dot--prop{color:var(--tag-prop)}@container storyboard-slot (width>=300px){.storyboard-card-spec,.storyboard-card-tag-dots{display:flex}}.storyboard-add{justify-content:center;align-items:center;gap:var(--space-2);width:100%;height:100%;min-height:180px;padding:var(--card-pad);border:1px solid var(--border-control);border-radius:var(--radius-card);color:var(--ink-2);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-semibold);line-height:var(--leading-compact);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;flex-direction:column;display:flex}.storyboard-add:hover{background:var(--surface-raised);color:var(--ink)}.storyboard-blank{align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center;flex-direction:column;display:flex}.storyboard-blank-strip{gap:var(--space-2);display:flex}.storyboard-blank-mount{border-radius:var(--radius-card);background:var(--surface-raised);padding:10px}.storyboard-blank-frame{width:var(--thumb-w);height:var(--thumb-h);border-radius:var(--radius-image);background:var(--surface-well);color:var(--ink-3);justify-content:center;align-items:center;display:flex}.storyboard-blank-copy{gap:var(--space-2);flex-direction:column;max-width:46ch;display:flex}.storyboard-blank-title{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink)}.storyboard-blank-body{font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--ink-2)}.storyboard-blank-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.storyboard-status{gap:var(--space-2);padding:var(--space-3) 0;margin-bottom:var(--space-3);flex-direction:column;display:flex}.storyboard-status-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.storyboard-density-control{align-items:center;gap:var(--space-2);min-height:34px;color:var(--ink-2);font-size:var(--text-compact);display:inline-flex}.storyboard-density-label{color:var(--ink-2)}.storyboard-density-control input[type=range]{width:112px;accent-color:var(--accent);cursor:pointer}.storyboard-density-control input[type=range]:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.storyboard-density-control output{width:7ch;color:var(--ink);font-variant-numeric:tabular-nums}@media (width<=640px){.storyboard-status-header{flex-direction:column;align-items:flex-start}}.storyboard-status-title{font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-body);color:var(--ink)}.storyboard-status-count{font-weight:var(--weight-regular);color:var(--ink-2)}.storyboard-status-bar{background:var(--surface-control);border-radius:2px;height:4px;display:flex;overflow:hidden}.storyboard-status-bar-segment{transition:flex var(--motion) var(--ease)}.storyboard-status-bar-segment--ready{background:var(--status-green)}.storyboard-status-bar-segment--queue{background:var(--status-amber)}.storyboard-status-bar-segment--failed{background:var(--status-red)}.storyboard-status-bar-segment--empty{background:var(--surface-hover)}.storyboard-status-legend{gap:var(--space-3);flex-wrap:wrap;display:flex}.storyboard-status-legend-item{align-items:center;gap:var(--space-1);font-size:var(--text-compact);font-variant-numeric:tabular-nums;line-height:var(--leading-compact);color:var(--ink-2);display:flex}.storyboard-status-dot{border-radius:50%;width:8px;height:8px}.storyboard-status-dot--ready{background:var(--status-green)}.storyboard-status-dot--queue{background:var(--status-amber)}.storyboard-status-dot--failed{background:var(--status-red)}.storyboard-status-dot--empty{background:var(--surface-hover);border:1px solid var(--ink-3)}.storyboard-empty-frame{width:100%;height:100%;position:absolute;inset:0}.storyboard-empty-guide{stroke:var(--ink-3);stroke-width:.5px;opacity:.4;vector-effect:non-scaling-stroke}.storyboard-empty-aspect{font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--ink-3);line-height:1;position:absolute;bottom:6px;right:6px}.storyboard-card-generate{align-items:center;gap:var(--space-1);border-radius:var(--radius-control);background:var(--accent);color:var(--on-accent);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-semibold);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--motion) var(--ease), background-color var(--motion) var(--ease);border:none;padding:6px 12px;line-height:1;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.storyboard-card-generate:hover{background:var(--accent-hover)}.storyboard-card-generate:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.storyboard-card:hover .storyboard-card-generate{opacity:1;pointer-events:auto}.storyboard-loading{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);display:flex}.storyboard-video-modal-backdrop{z-index:1100;padding:var(--space-4);background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.storyboard-video-modal{background:var(--surface-overlay);border:1px solid var(--border-overlay);border-radius:var(--radius-overlay);width:min(960px,95vw);max-height:92vh;box-shadow:var(--shadow-modal);display:grid;overflow:hidden}.storyboard-video-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-4);display:flex}.storyboard-video-modal-header h2,.storyboard-video-modal-header p{margin:0}.storyboard-video-modal-badge{margin-left:var(--space-2);color:var(--accent);vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}.storyboard-video-modal-toolbar,.storyboard-video-sequence-context{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--rule);display:flex}.storyboard-video-version-selector{position:relative}.storyboard-video-version-selector>.btn{justify-content:space-between;min-width:13rem}.storyboard-video-version-menu{z-index:2;top:calc(100% + var(--space-1));width:max-content;min-width:100%;max-width:min(24rem, calc(100vw - var(--space-8)));padding:var(--space-1);border:1px solid var(--border-overlay);border-radius:var(--radius-interactive);background:var(--surface-overlay);box-shadow:var(--shadow-menu);margin:0;list-style:none;position:absolute;left:0}.storyboard-video-version-menu button{align-items:center;gap:var(--space-2);width:100%;min-height:2.25rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-interactive);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto auto;display:grid}.storyboard-video-version-menu button:hover,.storyboard-video-version-menu button:focus-visible{background:var(--surface-hover);outline:none}.storyboard-video-version-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.storyboard-video-version-icon,.storyboard-video-version-check{color:var(--accent)}.storyboard-video-sequence-context{color:var(--ink-2);font-size:var(--text-compact)}.storyboard-video-sequence-context a{color:var(--accent)}.storyboard-video-modal-header h2{color:var(--ink);font-size:var(--text-section)}.storyboard-video-modal-header p{margin-top:var(--space-1);color:var(--ink-2);font-size:var(--text-compact)}.storyboard-video-player{background:var(--surface-well);width:100%;max-height:calc(92vh - 72px);display:block}.storyboard-video-error{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);min-height:200px;color:var(--status-red);text-align:center;flex-direction:column;display:flex}.storyboard-video-error p{color:var(--ink-2);max-width:28ch}.storyboard-video-error-inline{min-height:auto;padding:var(--space-2) var(--space-4);border-top:1px solid var(--rule);text-align:left;flex-direction:row;justify-content:flex-start}.storyboard-video-error-inline p{max-width:none;margin:0}@media (width<=600px){.storyboard-video-modal-toolbar,.storyboard-video-sequence-context{flex-direction:column;align-items:stretch}.storyboard-video-version-selector>.btn{width:100%}}.modal-backdrop{z-index:1000;padding:var(--space-4);background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--rule-strong);border-radius:var(--radius-overlay);background:var(--surface-overlay);width:min(940px,95vw);max-height:90vh;box-shadow:var(--shadow-modal);flex-direction:row;display:flex;position:relative;overflow:hidden}.modal--media-editor{width:min(1600px, calc(100vw - var(--space-6)));height:min(920px, calc(100dvh - var(--space-6)));max-height:none}.modal--media-editor .modal-img-panel{flex:auto;min-width:0;min-height:0}.modal--media-editor .modal-side{gap:var(--space-5);min-width:0;max-width:none;padding:var(--space-6);flex:0 0 clamp(400px,30vw,480px)}.modal-close{top:var(--space-2);right:var(--space-2);z-index:10;position:absolute}.modal-img-panel{background:var(--surface-well);flex:3;justify-content:center;align-items:center;min-height:320px;display:flex;position:relative;overflow:hidden}.modal-img-panel--stacked{flex-direction:column;justify-content:flex-start;align-items:stretch}.modal-img-stage{overscroll-behavior:contain;scrollbar-color:var(--rule-strong) var(--surface-well);flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:auto}.modal-img-stage.is-zoomed{place-items:start}.modal-img-surface{min-width:100%;min-height:100%;position:relative}.modal-zoom-controls{top:var(--space-3);left:var(--space-3);z-index:5;align-items:center;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--rule-strong);border-radius:var(--radius-overlay);background:var(--surface-overlay);box-shadow:var(--shadow-menu);display:flex;position:absolute}.modal-zoom-value{min-width:var(--space-7);height:var(--control-h);padding:0 var(--space-2);border-radius:var(--radius-interactive);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--motion-fast) var(--ease), color var(--motion-fast) var(--ease);background:0 0;border:0}.modal-zoom-value:hover:not(:disabled){background:var(--surface-hover)}.modal-zoom-value:disabled{color:var(--ink-2);cursor:default}.modal-img-bar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--rule);flex-wrap:wrap;flex-shrink:0;display:flex}.modal-img-tools,.modal-img-files{align-items:center;gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex}.modal-img-files{margin-left:auto}.modal-img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.modal-img-placeholder{justify-content:center;align-items:center;gap:var(--space-3);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);flex-direction:column;display:flex;position:absolute;inset:0}.modal-canvas{pointer-events:none;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.modal-canvas.draw-active{pointer-events:auto;cursor:crosshair}.modal-draw-toolbar{bottom:var(--space-3);align-items:center;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--rule-strong);border-radius:var(--radius-overlay);background:var(--surface-overlay);box-shadow:var(--shadow-menu);display:flex;position:absolute;left:50%;transform:translate(-50%)}.modal-draw-divider{width:1px;margin:var(--space-1) var(--space-1);background:var(--rule);align-self:stretch}.draw-color-swatch{cursor:pointer;width:24px;height:24px;transition:box-shadow var(--motion-fast) var(--ease);border:0;border-radius:3px;flex:none;padding:0;position:relative}.draw-color-swatch.active,.draw-color-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface-overlay), 0 0 0 4px var(--accent)}.draw-width-btn{width:var(--control-h);padding:0}.draw-width-dot{background:currentColor;border-radius:50%;display:block}.draw-width-btn[data-width="2"] .draw-width-dot{width:3px;height:3px}.draw-width-btn[data-width="4"] .draw-width-dot{width:6px;height:6px}.draw-width-btn[data-width="8"] .draw-width-dot{width:10px;height:10px}.draw-width-btn.active,.draw-width-btn[aria-pressed=true]{background:var(--surface-selected);border-color:var(--accent);color:var(--ink)}.modal-side{gap:var(--space-4);min-width:300px;max-width:380px;padding:var(--space-5);flex-direction:column;flex:2;display:flex;overflow-y:auto}.modal-side-header{align-items:center;gap:var(--space-2);padding-right:var(--space-6);flex-wrap:wrap;display:flex}.modal-source-label{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.modal-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.modal-field-pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.modal-section-label{align-items:center;gap:var(--space-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2);display:flex}.modal-label-count{font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-regular);letter-spacing:0;font-variant-numeric:tabular-nums;text-transform:none;color:var(--ink-2)}.modal-field-note{align-items:flex-start;gap:var(--space-1);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-amber);display:flex}.modal-field-note svg{flex:none;margin-top:1px}.modal-ref-zone{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-interactive);background:var(--surface-control);flex-wrap:wrap;display:flex}.modal-ref-add{align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-interactive);color:var(--ink-2);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;display:inline-flex}.modal-ref-add:hover{background:var(--surface-hover);color:var(--ink)}.modal-ref-thumb{border-radius:var(--radius-frame);background:var(--surface-well);flex:none;width:56px;height:32px;position:relative}.modal-ref-thumb img{object-fit:cover;width:100%;height:100%;display:block}.modal-ref-remove{background:var(--surface-overlay);width:16px;height:16px;color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease);border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-7px;right:-7px}.modal-ref-remove:after{content:"";position:absolute;inset:-4px}.modal-ref-remove:hover,.modal-ref-remove:focus-visible{background:var(--tint-red);color:var(--status-red)}.modal-history-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.modal-actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--rule);flex-wrap:wrap;margin-top:auto;display:flex}.char-modal-actions .btn{flex:1 1 0;justify-content:center}.modal-generate{gap:var(--space-2);flex-direction:column;flex:100%;min-width:0;display:flex}.modal-generate-hint{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);margin:0}.modal-generate-hint strong{font-weight:var(--weight-semibold);color:var(--ink)}.modal-generate-btn{justify-content:center;width:100%}@media (width<=768px){.modal{flex-direction:column;max-height:95vh}.modal-img-panel{flex:none;height:240px;min-height:0}.modal-img-panel--stacked{height:auto}.modal-img-stage{flex:none;height:240px}.modal-side{min-width:0;max-width:none}.modal-field-pair{grid-template-columns:1fr}.storyboard-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (width<=1050px){.modal--media-editor{flex-direction:column}.modal--media-editor .modal-img-panel--stacked{flex:none;height:auto;min-height:0}.modal--media-editor .modal-img-stage{flex:none;height:clamp(300px,42dvh,480px)}.modal--media-editor .modal-side{width:100%;max-width:none;min-height:0;padding:var(--space-5);flex:auto}}@media (width<=640px){.modal-backdrop:has(.modal--media-editor){padding:0}.modal--media-editor{border:0;border-radius:0;width:100vw;height:100dvh}.modal--media-editor .modal-img-stage{height:40dvh;min-height:260px}.modal--media-editor .modal-side{padding:var(--space-4)}}.touchup-settings-bar{padding:var(--space-4) var(--space-5);align-items:center;display:flex}.touchup-settings-fields{gap:var(--space-5);flex-wrap:wrap;align-items:flex-end;display:flex}.touchup-setting-group{gap:var(--space-1);flex-direction:column;display:flex}.touchup-setting-label{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2)}.touchup-dropzone{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);border:1px dashed var(--border-control);border-radius:var(--radius-interactive);background:var(--surface-control);color:var(--ink-2);cursor:pointer;transition:border-color var(--motion) var(--ease), background-color var(--motion) var(--ease), color var(--motion) var(--ease);flex-direction:column;display:flex}.touchup-dropzone:hover{border-color:var(--accent);background:var(--surface-hover);color:var(--ink)}.touchup-dropzone-title{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);color:var(--ink)}.touchup-dropzone-hint{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.touchup-apply-bar{gap:var(--space-3);padding:var(--space-3) var(--space-5);align-items:flex-start;display:flex}.touchup-apply-textarea{resize:vertical;flex:1;min-height:56px}.touchup-apply-actions{gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.touchup-table-section{padding:0;overflow:hidden}.touchup-table{flex-direction:column;display:flex}.touchup-table-header,.touchup-table-row{grid-template-columns:36px 96px 1fr 160px 110px 72px;align-items:start;gap:0;display:grid}.touchup-table-header{padding:var(--space-2) var(--space-5);background:var(--surface-raised);border-bottom:1px solid var(--rule-strong);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2)}.touchup-table-header>div,.touchup-table-row>div{padding:var(--space-2)}.touchup-table-header>div:first-child,.touchup-table-row>div:first-child{padding-left:var(--space-5)}.touchup-table-header>div:last-child,.touchup-table-row>div:last-child{padding-right:var(--space-5)}.touchup-table-row{min-height:var(--row-h);border-bottom:1px solid var(--rule);border-radius:var(--radius-frame);transition:background-color var(--motion-fast) var(--ease);border-left:2px solid #0000;align-items:center}.touchup-table-row:hover{background:var(--surface-hover)}.touchup-table-row.row-complete{background:var(--tint-green);border-left-color:var(--status-green)}.touchup-table-row.row-error{background:var(--tint-red);border-left-color:var(--status-red)}.tu-col-num{align-items:center;display:flex}.tu-col-thumb{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.tu-col-prompt{align-self:stretch;align-items:center;display:flex}.tu-col-tools,.tu-col-status{gap:var(--space-1);flex-direction:column;justify-content:center;align-self:stretch;display:flex}.tu-col-actions{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.tu-row-num{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--ink-3);padding:0}.tu-thumb-wrap{width:var(--thumb-w);height:var(--thumb-h);border-radius:var(--radius-frame);background:var(--surface-well);flex-shrink:0;position:relative;overflow:hidden}.tu-thumb{object-fit:cover;width:100%;height:100%}.tu-filename{font-size:var(--text-label);color:var(--ink-2);text-align:center;word-break:break-all;line-height:var(--leading-data)}.tu-markup-indicator{background:var(--accent-grad);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.tu-thumb-overlay{background:var(--scrim);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tu-prompt-textarea{resize:vertical;width:100%;min-height:64px}.touchup-omni-ref-group{border-left:1px solid var(--rule);padding-left:var(--space-5);margin-left:var(--space-2)}.tu-omni-ref-thumb,.tu-omni-ref-add{width:40px;height:40px}.tu-refs-row{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.tu-ref-thumb{border-radius:var(--radius-frame);flex-shrink:0;width:32px;height:32px;position:relative;overflow:hidden}.tu-ref-thumb img{object-fit:cover;width:100%;height:100%}.tu-ref-remove{background:var(--surface-overlay);width:16px;height:16px;color:var(--status-red);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease);border:none;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute;top:1px;right:1px}.tu-ref-thumb:hover .tu-ref-remove,.tu-ref-remove:focus-visible{opacity:1}.tu-ref-add{border:1px dashed var(--border-control);border-radius:var(--radius-interactive);cursor:pointer;width:32px;height:32px;color:var(--ink-2);transition:border-color var(--motion) var(--ease), color var(--motion) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tu-ref-add:hover{border-color:var(--accent);color:var(--ink)}.tu-markup-btn{align-self:flex-start}.tu-markup-btn.has-markup{color:var(--ink);border-color:var(--accent)}.tu-progress-bar{border-radius:var(--radius-frame);background:var(--surface-control);width:100%;height:3px;overflow:hidden}.tu-progress-fill{background:var(--accent-grad);width:100%;height:100%;transform:scaleX(var(--progress,0));transform-origin:0;transition:transform var(--motion) var(--ease)}.tu-error-text{font-size:var(--text-label);color:var(--status-red);line-height:var(--leading-data)}.touchup-markup-backdrop{z-index:1000;background:var(--scrim);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.touchup-markup-modal{background:var(--surface-overlay);border:1px solid var(--rule-strong);border-radius:var(--radius-overlay);width:min(860px,95vw);max-height:90vh;box-shadow:var(--shadow-modal);flex-direction:row;display:flex;position:relative;overflow:hidden}.tu-modal-title{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink)}.tu-modal-hint{margin-top:var(--space-2);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.tu-modal-field{margin-top:var(--space-4)}.tu-modal-textarea{min-height:60px}.tu-modal-refs{padding:var(--space-2) 0}.tu-modal-actions{margin-top:auto}.tu-swatch{border:1px solid var(--border-control);border-radius:var(--radius-interactive);cursor:pointer;width:22px;height:22px;color:var(--on-accent);justify-content:center;align-items:center;padding:0;display:inline-flex}.tu-swatch[aria-pressed=true]{outline:var(--focus-width) solid var(--accent);outline-offset:2px}.tu-brush-dot{background:currentColor;border-radius:50%;display:block}.tu-discard-backdrop{z-index:30;background:var(--scrim);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tu-discard-dialog{background:var(--surface-overlay);border:1px solid var(--rule-strong);border-radius:var(--radius-overlay);box-shadow:var(--shadow-modal);padding:var(--space-5) var(--space-4);text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;width:100%;max-width:320px;display:flex}.tu-discard-dialog p{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink);margin:0}.tu-discard-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}@media (width<=900px){.touchup-table-header,.touchup-table-row{grid-template-columns:36px 96px 1fr 130px 90px 60px}}.projects-library{min-width:0}.projects-library-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.projects-archive-view-label{align-items:center;gap:var(--space-1);color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact);display:inline-flex}.projects-breadcrumb{align-items:center;gap:var(--space-1);min-height:var(--control-h);margin:calc(-1 * var(--space-2)) 0 var(--space-4);color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact);display:flex}.projects-breadcrumb-link{color:var(--ink-2);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0}.projects-breadcrumb-link:hover{color:var(--ink);text-decoration:underline}.project-create-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.project-create-icon{color:var(--ink-2);align-items:center;display:flex}.project-name-input{flex:1;min-width:160px}.project-create-error{width:100%;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-red)}.project-hero{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center;flex-direction:column;display:flex}.project-hero-icon{color:var(--ink-3)}.project-hero-title{font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:var(--track-title);line-height:var(--leading-title);color:var(--ink);margin:0}.project-hero-subtitle{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);max-width:46ch;margin:0}.projects-inline-empty{min-height:180px;padding:var(--space-6) var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);color:var(--ink-3);text-align:center;flex-direction:column;display:flex}.projects-inline-empty h3,.projects-inline-empty p{margin:0}.projects-inline-empty h3{color:var(--ink);font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-section)}.projects-inline-empty p{max-width:50ch;color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact)}.projects-library-section+.projects-library-section{margin-top:var(--space-7)}.projects-section-heading{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);display:flex}.projects-section-heading h2{color:var(--ink);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);margin:0}.projects-section-heading span{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.project-folders-grid,.projects-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-card{background:var(--surface-raised);border-radius:var(--radius-overlay);min-width:0;min-height:200px;transition:background-color var(--motion) var(--ease);flex-direction:column;display:flex;position:relative}.project-card:has(.project-card-menu){z-index:3}.project-card-clickable{cursor:pointer}.project-card:hover,.project-card:focus-within{background:var(--surface-control)}.project-card-bg{border-radius:var(--radius-overlay) var(--radius-overlay) 0 0;flex:0 0 112px;position:relative;overflow:hidden}.project-card-bg img{object-fit:cover;width:100%;height:100%}.project-card-bg-placeholder{width:100%;height:100%;color:var(--ink-disabled);place-items:center;display:grid}.project-card-overlay{display:none}.project-card-content{z-index:1;gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-3) calc(var(--control-h) + var(--space-2));background:var(--surface-raised);border-radius:0 0 var(--radius-overlay) var(--radius-overlay);flex-direction:column;flex:1;justify-content:flex-start;display:flex;position:relative}.project-card-name{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.project-card-meta{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.project-card-actions{z-index:2;bottom:var(--space-2);right:var(--space-2);align-items:center;gap:var(--space-2);display:flex;position:absolute}.project-card-menu-root{margin-left:auto}.project-card-more{width:var(--control-h);color:var(--ink-2);background:0 0;padding:0}.project-card-more:hover,.project-card-more:focus-visible{color:var(--ink);background:var(--surface-selected)}.project-card-confirm{z-index:2;align-items:center;gap:var(--space-2);min-height:calc(var(--control-h) + var(--space-3));padding:var(--space-3);background:var(--surface-raised);flex-wrap:wrap;margin-top:auto;display:flex;position:relative}.project-confirm-label{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-red);flex:1}.project-archive-status{align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--text-data);line-height:var(--leading-data);color:var(--ink-2);display:flex}.project-spend-disclosure{width:var(--control-h);height:var(--control-h);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0;border-radius:var(--radius-control);color:var(--ink-2);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.project-spend-disclosure:hover,.project-spend-disclosure:focus-visible{background:var(--surface-control);color:var(--ink)}.project-spend-detail{max-width:44ch;margin:var(--space-1) 0 0;color:var(--ink-2);font-size:var(--text-data);line-height:var(--leading-compact)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.projects-error-banner{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--tint-red);border:1px solid var(--tint-red-border);border-radius:var(--radius-interactive);color:var(--status-red);font-size:var(--text-body);line-height:var(--leading-body);display:flex}.projects-error-dismiss{margin-left:auto}.project-rename-row{align-items:center;gap:var(--space-2);display:flex}.project-rename-row .input{flex:1;min-width:0}.project-folder-tile{align-items:center;gap:var(--space-2);min-width:0;min-height:82px;padding:var(--space-3);background:var(--surface-raised);border-radius:var(--radius-overlay);transition:background-color var(--motion) var(--ease);grid-template-columns:36px minmax(0,1fr) auto;display:grid;position:relative}.project-folder-tile:hover,.project-folder-tile:focus-within{background:var(--surface-control)}.project-folder-tile-clickable{cursor:pointer}.project-folder-icon{width:36px;height:36px;color:var(--accent);background:var(--surface-control);border-radius:var(--radius-interactive);place-items:center;display:grid}.project-folder-content{min-width:0}.project-folder-name{overflow-wrap:anywhere;-webkit-line-clamp:2;color:var(--ink);font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-section);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.project-folder-meta{color:var(--ink-2);font-size:var(--text-data);line-height:var(--leading-data);margin-top:2px}.project-folder-actions,.project-folder-confirm,.project-folder-rename-row{align-items:center;gap:var(--space-1);display:flex}.project-folder-confirm{color:var(--status-red);font-size:var(--text-data);flex-wrap:wrap;grid-column:2/-1}.project-folder-open{color:var(--ink-2)}.project-folder-rename-row .input{min-width:0}.project-menu-root{position:relative}.project-organize-trigger{gap:var(--space-2)}.project-menu-chevron{transition:transform var(--motion) var(--ease)}.project-menu-chevron-open{transform:rotate(180deg)}.project-menu{z-index:30;min-width:220px;max-width:min(300px,100vw - 32px);max-height:340px;padding:var(--space-1);background:var(--surface-overlay);border:1px solid var(--border-overlay);border-radius:var(--radius-overlay);box-shadow:var(--shadow-menu);animation:ph-dropdown-in var(--motion-fast) var(--ease);flex-direction:column;display:flex;position:absolute;overflow-y:auto}.project-organize-menu{top:calc(100% + var(--space-1));min-width:264px;left:0}.project-card-menu,.project-folder-menu{top:calc(100% + var(--space-1));right:0}.project-menu-label{padding:var(--space-2) var(--space-2) var(--space-1);color:var(--ink-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase}.project-menu-item{width:100%;height:var(--menu-item-h);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-interactive);color:var(--ink);font:inherit;font-size:var(--text-compact);line-height:var(--leading-compact);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.project-menu-item:hover,.project-menu-item:focus-visible{background:var(--surface-hover)}.project-menu-item[aria-checked=true]{background:var(--surface-selected);box-shadow:inset 2px 0 0 var(--accent)}.project-menu-item-danger{color:var(--status-red)}.project-menu-item-danger:hover,.project-menu-item-danger:focus-visible{background:var(--tint-red)}.project-menu-item-grow{flex:1}.project-menu-item-ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-menu-state-icon{color:var(--accent);margin-left:auto}.project-menu-check{width:14px;color:var(--accent);flex:none;place-items:center;display:grid}.project-menu-back{color:var(--ink-2);font-weight:var(--weight-semibold)}.project-menu-separator{height:1px;margin:var(--space-1) 0;background:var(--border-overlay)}.projects-loading-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-card-skeleton{border-radius:var(--radius-overlay);background:var(--surface-raised);min-height:184px;animation:1.4s ease-in-out infinite alternate project-skeleton-pulse}@keyframes project-skeleton-pulse{0%{background:var(--surface-raised)}to{background:var(--surface-control)}}.projects-pagination{justify-content:center;align-items:center;gap:var(--space-1);margin-top:var(--space-7);display:flex}.projects-page-button{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-interactive);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.projects-page-button:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.projects-page-button[aria-current=page]{background:var(--surface-selected);box-shadow:inset 0 -2px 0 var(--accent);color:var(--ink);font-weight:var(--weight-semibold)}.projects-page-button:disabled{color:var(--ink-disabled);cursor:default;background:0 0}.projects-page-gap{width:var(--control-h);height:var(--control-h);color:var(--ink-3);place-items:center;display:grid}@media (width<=1280px){.project-folders-grid,.projects-grid,.projects-loading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.project-folders-grid,.projects-grid,.projects-loading-grid{grid-template-columns:minmax(0,1fr)}.projects-library-toolbar{flex-direction:column;align-items:flex-start}.project-folder-tile{grid-template-columns:36px minmax(0,1fr)}.project-folder-actions{grid-column:2;justify-content:flex-start}}@media (width<=460px){.project-create-row{align-items:stretch}.project-create-row .project-create-icon{display:none}.project-create-row .project-name-input{flex-basis:100%}}.tag-picker{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.tag-chip{align-items:center;gap:var(--space-1);height:var(--control-h);padding:0 var(--space-1);border:1px solid var(--tag-border);border-radius:var(--radius-interactive);background:var(--tag-surface);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);color:var(--ink);white-space:nowrap;max-width:100%;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);display:inline-flex}.tag-chip:hover,.tag-chip:focus-within{border-color:var(--tag-color);background:var(--tag-surface-hover)}.tag-chip:active{border-color:var(--tag-color);background:var(--tag-surface-selected)}.tag-chip-remove{border-radius:var(--radius-frame);width:20px;height:20px;color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tag-chip-remove:hover{background:var(--tag-surface-selected);color:var(--ink)}.tag-add{align-items:center;gap:var(--space-1);height:var(--control-h);padding:0 var(--space-2);border:1px dashed var(--border-control);border-radius:var(--radius-interactive);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);color:var(--ink-2);white-space:nowrap;cursor:pointer;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;display:inline-flex}.tag-add:hover{border-color:var(--ink-2);background:var(--surface-control);color:var(--ink)}.tag-add[aria-expanded=true]{border-style:solid;border-color:var(--accent);background:var(--surface-control);color:var(--ink)}.tag-add-menu{gap:var(--space-1);margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--radius-frame);background:var(--surface-well);flex-wrap:wrap;display:flex}.tag-add-option{height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-interactive);background:var(--surface-control);font-family:var(--font-ui);font-size:var(--text-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);color:var(--ink);white-space:nowrap;cursor:pointer;transition:background-color var(--motion) var(--ease);border:0}.tag-add-option:hover{background:var(--surface-hover)}.auth-page{background:var(--surface-canvas);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--surface-raised);border-radius:var(--radius-overlay);width:100%;max-width:400px;padding:var(--space-6)}.auth-logo{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);display:flex}.auth-logo-img{width:var(--space-5);height:var(--space-5)}.auth-brand{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink)}.auth-title{font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:var(--track-title);line-height:var(--leading-title);color:var(--ink);margin:0 0 var(--space-1);text-align:center}.auth-subtitle{font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--ink-2);margin:0 0 var(--space-5);text-align:center;text-wrap:balance}.auth-subtitle strong{font-weight:var(--weight-semibold);color:var(--ink)}.auth-form{gap:var(--space-4);margin-bottom:var(--space-4);flex-direction:column;display:flex}.auth-error{margin-bottom:var(--space-4)}.auth-forgot{text-align:right;font-size:var(--text-compact);line-height:var(--leading-compact);margin-top:calc(-1 * var(--space-2))}.auth-forgot a,.auth-switch a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--border-control);text-decoration-color:var(--border-control);text-underline-offset:3px;transition:text-decoration-color var(--motion) var(--ease)}.auth-forgot a:hover,.auth-switch a:hover{text-decoration-color:currentColor}.auth-switch{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);text-align:center;margin:var(--space-4) 0 0}.auth-switch--spaced{margin-top:var(--space-5)}.auth-icon-row{margin-bottom:var(--space-5);justify-content:center;display:flex}.auth-icon{color:var(--status-amber)}.auth-confirm{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--tint-green);border-radius:var(--radius-interactive);color:var(--status-green);font-size:var(--text-compact);line-height:var(--leading-compact);text-align:left;margin:0 0 var(--space-4);display:flex}.auth-confirm svg{flex-shrink:0}.sidebar-user-actions{flex-direction:column;width:100%;display:flex}.sidebar-user-actions .btn{justify-content:flex-start;gap:var(--space-2);height:var(--menu-item-h);padding:0 var(--pad-workspace);border-radius:var(--radius-frame);font-weight:var(--weight-regular)}.sidebar-user-actions .btn:hover:not(:disabled){background:var(--surface-hover);color:var(--ink);border-color:#0000}.sidebar-billing-btn.active{background:var(--surface-selected);box-shadow:inset 2px 0 0 var(--accent);color:var(--ink)}.billing-section{margin-bottom:var(--gap-region)}.billing-section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);display:flex}.billing-section-title{align-items:center;gap:var(--space-2);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink);margin:0;display:flex}.billing-section-title-icon{color:var(--ink-2);flex-shrink:0}.billing-empty{color:var(--ink-2);font-size:var(--text-body);line-height:var(--leading-body);margin:0}.loading-state{padding:var(--space-6) 0;text-align:center;font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2)}.billing-pm-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--row-h);padding:var(--space-2) 0 var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);border-radius:var(--radius-frame);border-left:2px solid #0000;display:flex}.billing-pm-row:last-of-type{border-bottom:none}.billing-pm-row.billing-pm-default{border-left-color:var(--accent);background:var(--surface-raised)}.billing-pm-info{align-items:center;gap:var(--space-2);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink);min-width:0;display:flex}.billing-pm-icon{color:var(--ink-2);flex-shrink:0}.billing-pm-brand{font-weight:var(--weight-medium)}.billing-pm-last4{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;letter-spacing:.05em}.billing-pm-exp{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.billing-pm-badge{align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--accent);display:inline-flex}.billing-pm-remove{color:var(--ink-2)}.billing-pm-remove:hover:not(:disabled),.billing-pm-remove:focus-visible:not(:disabled){color:var(--status-red);border-color:var(--status-red)}.billing-pm-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.billing-add-card-panel{margin-top:var(--space-4);padding:var(--space-4);background:var(--surface-raised);border-radius:var(--radius-overlay)}.billing-add-card-form{gap:var(--space-3);flex-direction:column;display:flex}.billing-card-element-wrap{padding:var(--space-2) var(--space-3);background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-interactive);transition:border-color var(--motion) var(--ease)}.billing-card-element-wrap:focus-within{border-color:var(--accent)}.billing-card-error,.billing-error-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--tint-red);border:1px solid var(--tint-red-border);border-radius:var(--radius-interactive);color:var(--status-red);font-size:var(--text-compact);line-height:var(--leading-compact);display:flex}.billing-error-banner{font-size:var(--text-body);line-height:var(--leading-body);margin-bottom:var(--space-4)}.billing-add-card-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.billing-action-msg{margin-bottom:var(--space-3)}.billing-section-coming-soon .billing-section-title{color:var(--ink-disabled)}.billing-coming-soon-text{color:var(--ink-disabled);font-size:var(--text-body);line-height:var(--leading-body);margin:0}.billing-balance-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=640px){.billing-balance-grid{grid-template-columns:1fr}}.billing-balance-card{background:var(--surface-raised);border-radius:var(--radius-overlay);padding:var(--space-4);gap:var(--space-1);border-left:2px solid #0000;flex-direction:column;display:flex}.billing-balance-main{border-left-color:var(--accent)}.billing-balance-icon{color:var(--ink-2);margin-bottom:var(--space-1)}.billing-balance-label{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2)}.billing-balance-amount{font-family:var(--font-mono);font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-title);font-variant-numeric:tabular-nums;color:var(--ink)}.billing-balance-secondary{font-size:var(--text-section);font-weight:var(--weight-medium);color:var(--ink-2)}.billing-fund-form{gap:var(--space-4);flex-direction:column;display:flex}.billing-fund-presets{gap:var(--space-2);flex-wrap:wrap;display:flex}.billing-fund-preset{min-width:64px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.billing-fund-custom{align-items:center;gap:var(--space-1);height:var(--control-h);padding:0 var(--space-3);background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-interactive);max-width:160px;transition:border-color var(--motion) var(--ease);display:flex}.billing-fund-custom:focus-within{border-color:var(--accent)}.billing-fund-custom-prefix{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-compact)}.billing-fund-custom-input{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-compact);font-variant-numeric:tabular-nums;background:0 0;border:none;width:100%;min-width:0}.billing-fund-custom-input::placeholder{color:var(--ink-placeholder)}.billing-fund-summary{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.billing-fund-summary strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);color:var(--ink)}.billing-fund-no-card{align-items:center;gap:var(--space-2);font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);padding:var(--space-3) 0;display:flex}.billing-tx-section{margin-top:var(--space-5);border-top:1px solid var(--rule);padding-top:var(--space-4)}.billing-tx-toggle{align-items:center;gap:var(--space-1);cursor:pointer;font-size:var(--text-compact);color:var(--ink-2);margin-bottom:var(--space-3);text-underline-offset:2px;transition:color var(--motion) var(--ease);background:0 0;border:none;padding:0;text-decoration:underline;display:inline-flex}.billing-tx-toggle:hover{color:var(--ink)}.billing-tx-list{flex-direction:column;display:flex}.billing-tx-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--row-h);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);border-radius:var(--radius-frame);font-size:var(--text-compact);display:flex}.billing-tx-row:last-child{border-bottom:none}.billing-tx-info{flex-direction:column;gap:2px;min-width:0;display:flex}.billing-tx-desc{color:var(--ink)}.billing-tx-date{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.billing-tx-right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.billing-tx-amount{color:var(--status-green);font-family:var(--font-mono);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.billing-tx-status{font-size:var(--text-label);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--ink-2)}.billing-tx-status-succeeded{color:var(--status-green)}.billing-tx-status-failed{color:var(--status-red)}.billing-tx-status-pending{color:var(--status-amber)}.success-banner{align-items:center;gap:var(--space-2);background:var(--tint-green);border:1px solid var(--tint-green-border);border-radius:var(--radius-interactive);padding:var(--space-2) var(--space-3);font-size:var(--text-body);line-height:var(--leading-body);color:var(--status-green);display:flex}.auth-success{text-align:center;color:var(--status-green);font-size:var(--text-body);line-height:var(--leading-body);margin:var(--space-2) 0}.entity-page{gap:var(--space-4);height:100%;padding:var(--space-4);display:flex;overflow:hidden}.entity-list-panel{background:var(--surface-raised);border-radius:var(--radius-panel);width:300px;box-shadow:var(--shadow-panel);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.entity-create-row{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);display:flex}.entity-create-input{flex:1;min-width:0}.entity-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.entity-list-item{border-bottom:1px solid var(--rule);transition:background-color var(--motion) var(--ease);align-items:center;display:flex;position:relative}.entity-list-item:hover{background:var(--surface-hover)}.entity-list-item.active{background:var(--surface-selected);border-left:2px solid var(--accent)}.entity-list-select{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);text-align:left;font-family:var(--font-ui);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink);cursor:pointer;background:0 0;border:none;flex:1;display:flex}.entity-list-item.active .entity-list-select{padding-left:calc(var(--space-3) - 2px)}.entity-list-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;overflow:hidden}.entity-list-delete{width:24px;height:24px;margin-right:var(--space-2);border-radius:var(--radius-interactive);color:var(--ink-2);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.entity-list-item:hover .entity-list-delete,.entity-list-delete:focus-visible{opacity:1}.entity-list-delete:hover{color:var(--status-red)}.entity-list-loading,.entity-list-empty{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-5) var(--space-4);text-align:center;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);display:flex}.entity-status{flex-shrink:0;align-items:center;display:inline-flex}.entity-status-ready{color:var(--status-green)}.entity-status-partial{color:var(--status-amber)}.entity-status-empty{color:var(--ink-2)}.entity-source-badge{height:20px;padding:0 var(--space-2);background:var(--surface-raised);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);border-radius:3px;flex-shrink:0;align-items:center;line-height:1;display:inline-flex}.entity-detail-panel{gap:var(--space-5);min-width:0;padding:var(--creative-panel-pad);background:var(--surface-raised);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);flex-direction:column;flex:1;display:flex;overflow-y:auto}.entity-detail-empty{padding:var(--space-7);background:var(--surface-raised);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);flex:1;justify-content:center;align-items:center;display:flex}.entity-detail-header{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.entity-detail-name{font-size:var(--text-creative-title);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink);margin:0}.entity-error{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-interactive);background:var(--tint-red);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-red);flex-shrink:0;display:flex}.entity-error-dismiss{border-radius:var(--radius-interactive);width:24px;height:24px;color:var(--status-red);cursor:pointer;transition:color var(--motion) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.entity-error-dismiss:hover{color:var(--status-red-hover)}.entity-detail-body{align-items:start;gap:var(--space-6);grid-template-columns:minmax(280px,42%) minmax(0,1fr);display:grid}.entity-detail-left{gap:var(--space-3);flex-direction:column;display:flex;position:sticky;top:0}.entity-detail-right{flex-direction:column;min-width:0;display:flex}.entity-ref-primary{aspect-ratio:16/9;border-radius:var(--radius-frame);background:var(--surface-well);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.entity-ref-primary-img{object-fit:cover;width:100%;height:100%;display:block}.entity-ref-primary-empty{align-items:center;gap:var(--space-2);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);text-align:center;flex-direction:column;display:flex}.entity-ref-primary-empty p{margin:0}.entity-ref-primary-empty span{max-width:34ch;font-size:var(--text-creative-control);color:var(--ink-3)}.entity-placeholder-icon{color:var(--border-control)}.entity-ref-section{gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--rule);flex-direction:column;display:flex}.entity-ref-label{align-items:center;gap:var(--space-2);font-size:var(--text-creative-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);line-height:1.25;display:flex}.entity-ref-label>span{margin-right:auto}.entity-ref-actions{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:flex}.entity-ref-empty{padding:var(--space-2) 0;font-size:var(--text-creative-control);font-style:italic;line-height:var(--leading-compact);color:var(--ink-2);margin:0}.entity-generate-image{width:100%;margin-top:var(--space-1);justify-content:center}.entity-open-concept{width:100%;margin-top:var(--space-2)}.entity-ref-thumbs{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.entity-ref-thumb{aspect-ratio:1;border-radius:var(--radius-frame);background:var(--surface-well);transition:border-color var(--motion) var(--ease);border:1px solid #0000;position:relative}.entity-ref-thumb:hover{border-color:var(--border-control)}.entity-ref-thumb img{object-fit:cover;width:100%;height:100%;display:block}.entity-ref-thumb-remove{background:var(--surface-overlay);width:24px;height:24px;color:var(--ink);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease), color var(--motion) var(--ease);border:none;border-radius:0 0 0 3px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}.entity-ref-thumb:hover .entity-ref-thumb-remove,.entity-ref-thumb-remove:focus-visible{opacity:1}.entity-ref-thumb-remove:hover{color:var(--status-red)}.entity-fields{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.entity-field{gap:var(--space-2);flex-direction:column;display:flex}.entity-field-label{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2)}.entity-field-textarea{min-height:72px}.entity-screenplay-refs{gap:var(--space-1);flex-wrap:wrap;display:flex}.entity-screenplay-ref{height:20px;padding:0 var(--space-2);background:var(--surface-raised);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink);border-radius:3px;align-items:center;line-height:1;display:inline-flex}.entity-save-bar{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--rule);flex-shrink:0;display:flex}@media (width<=768px){.entity-page{flex-direction:column;overflow-y:auto}.entity-list-panel{flex:none;width:100%;max-height:220px}.entity-detail-panel,.entity-detail-empty{padding:var(--space-4);flex:none;overflow:visible}.entity-detail-body{grid-template-columns:1fr}.entity-detail-left{position:static}}.sound-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.sound-page-header{padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;flex-shrink:0;display:flex}.sound-page-title{align-items:center;gap:var(--space-2);display:flex}.sound-page-title h1{font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:var(--track-title);line-height:var(--leading-title);color:var(--ink);margin:0}.sound-page-stats{height:20px;padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--ink-3);align-items:center;display:inline-flex}.sound-page-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sound-error-banner{align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-5) 0;padding:var(--space-2) var(--space-3);background:var(--tint-red);border:1px solid var(--tint-red-border);border-radius:var(--radius-interactive);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-red);flex-shrink:0;display:flex}.sound-error-banner button{cursor:pointer;color:inherit;background:0 0;border:none;flex-shrink:0;align-items:center;margin-left:auto;display:flex}.sound-loading,.sound-empty{justify-content:center;align-items:center;gap:var(--space-3);color:var(--ink-2);font-size:var(--text-body);line-height:var(--leading-body);flex-direction:column;flex:1;display:flex}.sound-empty{gap:var(--space-4)}.sound-empty h2{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);color:var(--ink);margin:0}.sound-empty p{text-align:center;max-width:46ch;line-height:var(--leading-body);margin:0}.page-empty{padding:var(--space-7) var(--space-5);text-align:center;color:var(--ink-2);font-size:var(--text-body);line-height:var(--leading-body);justify-content:center;align-items:center;display:flex}.sound-shot-list{padding:var(--space-3) var(--space-5) var(--space-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sound-shot-row{border-bottom:1px solid var(--rule);border-radius:var(--radius-frame);background:0 0;border-left:2px solid #0000}.sound-shot-row.has-sound{border-left-color:var(--accent)}.sound-shot-header{align-items:center;gap:var(--space-3);width:100%;min-height:var(--row-h);padding:var(--space-2) var(--space-3);border-radius:var(--radius-frame);font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-fast) var(--ease);background:0 0;border:none;margin:0;display:flex}.sound-shot-header:hover{background:var(--surface-hover)}.sound-expand-btn{cursor:pointer;color:var(--ink-2);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.sound-shot-number{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--ink);text-align:left;flex-shrink:0;min-width:72px}.sound-shot-scene{font-size:var(--text-compact);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;min-width:0;overflow:hidden}.sound-shot-summary{align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.sound-shot-has-sound{align-items:center;gap:var(--space-1);font-size:var(--text-label);color:var(--ink-2);display:flex}.sound-shot-preferred-label{align-items:center;gap:var(--space-1);font-size:var(--text-label);color:var(--status-green);display:flex}.sound-shot-body{gap:var(--space-4);padding:var(--space-3) var(--space-3) var(--space-4);border-top:1px solid var(--rule);grid-template-columns:160px 1fr 1fr;display:grid}@media (width<=900px){.sound-shot-body{grid-template-columns:1fr}}.sound-shot-visual{flex-shrink:0}.sound-shot-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-frame);background:var(--surface-well);width:100%}.sound-shot-thumb-empty{aspect-ratio:16/9;justify-content:center;align-items:center;gap:var(--space-1);background:var(--surface-well);border-radius:var(--radius-frame);width:100%;font-size:var(--text-label);color:var(--ink-2);flex-direction:column;display:flex}.sound-shot-prompt-col{gap:var(--space-2);flex-direction:column;display:flex}.sound-prompt-label{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--ink-2);text-transform:uppercase;letter-spacing:var(--track-caps);line-height:var(--leading-title)}.sound-prompt-textarea{background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-interactive);width:100%;color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);line-height:var(--leading-body);padding:var(--space-2) var(--space-3);resize:vertical;min-height:72px}.sound-prompt-textarea::placeholder{color:var(--ink-placeholder)}.sound-prompt-textarea:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-color:var(--accent)}.sound-prompt-reset{cursor:pointer;font-size:var(--text-compact);color:var(--ink-2);text-underline-offset:2px;text-align:left;transition:color var(--motion) var(--ease);background:0 0;border:none;padding:0;text-decoration:underline}.sound-prompt-reset:hover{color:var(--ink)}.sound-generate-row{margin-top:var(--space-1)}.sound-generate-btn{gap:var(--space-1)}.sound-shot-versions-col{flex-direction:column;display:flex}.sound-no-versions{font-size:var(--text-compact);color:var(--ink-2);padding:var(--space-2) 0}.sound-versions-list{gap:var(--space-2);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.sound-version-card{background:var(--surface-raised);border-radius:var(--radius-interactive);padding:var(--space-2) var(--space-3);gap:var(--space-1);border-left:2px solid #0000;flex-direction:column;display:flex}.sound-version-card.preferred{border-left-color:var(--status-green)}.sound-version-header{align-items:center;gap:var(--space-2);display:flex}.sound-version-label{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);color:var(--ink-2);min-width:32px}.sound-version-error{color:var(--status-red);align-items:center;display:flex}.sound-version-actions{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.sound-radio-btn{align-items:center;gap:var(--space-1);background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-interactive);min-height:24px;padding:0 var(--space-2);font-size:var(--text-compact);cursor:pointer;color:var(--ink-2);transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease);display:inline-flex}.sound-radio-btn:hover{background:var(--surface-hover);color:var(--ink)}.sound-radio-btn[aria-pressed=true]{background:var(--surface-selected);border-color:var(--accent);color:var(--ink)}.storyboard-sound-tool .sound-shot-list{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex:none;max-height:min(52vh,680px);padding:0}.storyboard-sound-tool .sound-loading,.storyboard-sound-tool .sound-empty{flex:none;min-height:180px}.storyboard-sound-tool .sound-version-prompt[role=alert]{align-items:flex-start;gap:var(--space-1);color:var(--status-red);display:flex}.sound-download-btn,.sound-delete-btn{color:var(--ink-2)}.sound-download-btn:hover:not(:disabled){color:var(--ink)}.sound-delete-btn:hover:not(:disabled),.sound-delete-btn:focus-visible:not(:disabled){color:var(--status-red);border-color:var(--status-red)}.sound-version-prompt{font-size:var(--text-label);color:var(--ink-2);line-height:var(--leading-data);margin:0}.sound-player{align-items:center;gap:var(--space-2);display:flex}.sound-play-btn{background:var(--surface-control);cursor:pointer;width:24px;height:24px;color:var(--ink);transition:border-color var(--motion) var(--ease), color var(--motion) var(--ease);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sound-play-btn:hover{background:var(--surface-hover)}.sound-play-btn[aria-pressed=true]{background:var(--accent-grad);color:var(--on-accent)}.sound-progress-bar{background:var(--surface-control);border-radius:var(--radius-frame);flex:1;height:3px;overflow:hidden}.sound-progress-fill{background:var(--accent-grad);border-radius:var(--radius-frame);width:100%;height:100%;transform:scaleX(var(--progress,0));transform-origin:0;transition:transform var(--motion-fast) linear}.sound-duration{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right;flex-shrink:0;min-width:40px}.sound-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.sound-status-dot.complete{background:var(--status-green)}.sound-status-dot.generating{background:var(--status-amber);animation:1s infinite pulse}.sound-status-dot.queued{background:var(--ink-2)}.sound-status-dot.failed{background:var(--status-red)}.sound-status-word{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.sound-delete-backdrop{z-index:1000;background:var(--scrim);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sound-delete-dialog{background:var(--surface-overlay);border:1px solid var(--rule-strong);border-radius:var(--radius-overlay);box-shadow:var(--shadow-modal);padding:var(--space-5) var(--space-4);text-align:center;align-items:center;gap:var(--space-1);flex-direction:column;width:100%;max-width:320px;display:flex}.sound-delete-dialog p{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink);margin:0}.sound-delete-icon{color:var(--status-red);margin-bottom:var(--space-1)}.sound-delete-dialog p.sound-delete-hint{font-size:var(--text-compact);color:var(--ink-2)}.sound-delete-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.insufficient-funds-alert{align-items:center;gap:var(--space-3);margin:var(--space-3) 0;padding:var(--space-3);border-radius:var(--radius-interactive);background:var(--tint-amber);display:flex}.insufficient-funds-icon{color:var(--status-amber);flex:none;display:flex}.insufficient-funds-body{flex:1;min-width:0}.insufficient-funds-body strong{margin-bottom:var(--space-1);color:var(--ink);font-size:var(--text-compact);font-weight:var(--weight-semibold);line-height:var(--leading-compact);display:block}.dialogue-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.dialogue-error-banner{align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-5) 0;padding:var(--space-2) var(--space-3);color:var(--status-red);background:var(--tint-red);border:1px solid var(--tint-red-border);border-radius:var(--radius-interactive);font-size:var(--text-compact);display:flex}.dialogue-error-banner button{padding:var(--space-1);color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;margin-left:auto;display:inline-flex}.dialogue-generation-progress{align-items:center;gap:var(--space-4);margin:var(--space-3) var(--space-5) 0;padding:var(--space-2) var(--space-3);background:var(--surface-raised);border-radius:var(--radius-interactive);color:var(--ink-2);font-size:var(--text-compact);grid-template-columns:auto minmax(120px,1fr);display:grid}.dialogue-generation-progress>div{align-items:center;gap:var(--space-2);display:flex}.dialogue-generation-progress progress,.storyboard-dialogue-tool progress{appearance:none;border-radius:var(--radius-frame);background:var(--surface-control);border:0;width:100%;height:3px;overflow:hidden}.dialogue-generation-progress progress::-webkit-progress-bar{background:var(--surface-control)}.storyboard-dialogue-tool progress::-webkit-progress-bar{background:var(--surface-control)}.dialogue-generation-progress progress:indeterminate::-webkit-progress-value{background:var(--accent-grad);width:38%;animation:dialogue-indeterminate 1.35s var(--ease) infinite}.storyboard-dialogue-tool progress:indeterminate::-webkit-progress-value{background:var(--accent-grad);width:38%;animation:dialogue-indeterminate 1.35s var(--ease) infinite}.dialogue-generation-progress progress:indeterminate::-moz-progress-bar{background:var(--accent-grad)}.storyboard-dialogue-tool progress:indeterminate::-moz-progress-bar{background:var(--accent-grad)}@keyframes dialogue-indeterminate{0%{transform:translate(-110%)}to{transform:translate(280%)}}.dialogue-summary{align-items:center;gap:var(--space-4);min-height:38px;margin:var(--space-3) var(--space-5) 0;padding:0 var(--space-3);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;display:flex;overflow-x:auto}.dialogue-summary span{align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex}.dialogue-summary .dialogue-summary-failed{color:var(--status-red)}.dialogue-coverage-workspace{max-height:min(48vh,520px);margin:var(--space-3) var(--space-5) 0;background:var(--surface-well);border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);flex:none;overflow:hidden}.dialogue-coverage-workspace-heading{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;padding:var(--space-3) var(--space-4);background:var(--surface-raised);border-bottom:1px solid var(--rule);display:flex}.dialogue-coverage-workspace-heading h2,.dialogue-performance-composer-heading h3{margin:0 0 var(--space-1);color:var(--ink);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section)}.dialogue-coverage-workspace-heading p,.dialogue-performance-composer-heading p{max-width:68ch;color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact);margin:0}.dialogue-coverage-workspace-actions,.dialogue-performance-composer-actions,.dialogue-coverage-add{align-items:center;gap:var(--space-2);display:flex}.dialogue-coverage-workspace-status{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;white-space:nowrap}.dialogue-performance-composer{padding:var(--space-4);background:var(--surface-canvas);border-bottom:1px solid var(--rule-strong)}.dialogue-performance-composer-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.dialogue-performance-label-field,.dialogue-performance-speech-select{gap:var(--space-2);display:grid}.dialogue-performance-label-field{max-width:440px;margin-bottom:var(--space-3)}.dialogue-performance-label-field>span,.dialogue-performance-speech-select>span,.dialogue-coverage-editor-heading>span{align-items:center;gap:var(--space-1);color:var(--ink-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-label);text-transform:uppercase;display:flex}.dialogue-performance-label-field small{color:var(--ink-3);font-weight:var(--weight-regular)}.dialogue-performance-label-field input,.dialogue-performance-speech-select select,.dialogue-coverage-add select,.dialogue-coverage-trims input{min-height:34px;color:var(--ink);background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-interactive)}.dialogue-performance-label-field input,.dialogue-performance-speech-select select,.dialogue-coverage-add select{padding:0 var(--space-3);font-size:var(--text-compact)}.dialogue-performance-label-field input:focus-visible,.dialogue-performance-speech-select select:focus-visible,.dialogue-coverage-add select:focus-visible,.dialogue-coverage-trims input:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring)}.dialogue-performance-label-field input::placeholder{color:var(--ink-placeholder)}.dialogue-performance-line-picker{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);scrollbar-color:var(--border-control) transparent;scrollbar-width:thin;max-height:208px;overflow-y:auto}.dialogue-performance-line-option{align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);cursor:pointer;grid-template-columns:18px 24px minmax(0,1fr);display:grid}.dialogue-performance-line-option:last-child{border-bottom:0}.dialogue-performance-line-option:hover:not(.is-disabled){background:var(--surface-hover)}.dialogue-performance-line-option.is-selected{background:var(--tint-accent)}.dialogue-performance-line-option.is-disabled{color:var(--ink-disabled);cursor:not-allowed}.dialogue-performance-line-option input{width:15px;height:15px;accent-color:var(--accent);margin:0}.dialogue-performance-line-order{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);text-align:center}.dialogue-performance-line-option>span:last-child{gap:2px;min-width:0;display:grid}.dialogue-performance-line-option strong{color:var(--ink);font-size:var(--text-compact)}.dialogue-performance-line-option em{color:var(--ink-2);font-size:var(--text-compact);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.dialogue-performance-composer-actions{margin-top:var(--space-3);justify-content:flex-end}.dialogue-performance-composer-actions>span{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;margin-right:auto}.dialogue-performance-list{scrollbar-color:var(--border-control) transparent;scrollbar-width:thin;max-height:calc(min(48vh,520px) - 65px);overflow-y:auto}.dialogue-performance{border-bottom:1px solid var(--rule-strong)}.dialogue-performance:last-child{border-bottom:0}.dialogue-performance-heading{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);background:var(--surface-canvas);display:flex}.dialogue-performance.is-ready .dialogue-performance-heading{background:var(--tint-green)}.dialogue-performance-toggle{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-1);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;display:flex}.dialogue-performance-toggle>span{gap:2px;min-width:0;display:grid}.dialogue-performance-toggle strong{color:var(--ink);font-size:var(--text-body);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialogue-performance-toggle small{color:var(--ink-2);font-size:var(--text-compact)}.dialogue-performance-readiness{align-items:center;gap:var(--space-1);color:var(--status-amber);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.dialogue-performance-readiness--ready_for_lipsync{color:var(--status-green)}.dialogue-performance-readiness--draft{color:var(--ink-2)}.dialogue-performance-body{gap:0 var(--space-5);padding:var(--space-4);background:var(--surface-well);border-top:1px solid var(--rule);grid-template-columns:minmax(240px,.75fr) minmax(330px,1.25fr);display:grid}.dialogue-performance-script{min-width:0;padding-right:var(--space-4);border-right:1px solid var(--rule)}.dialogue-performance-script>div{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--rule);grid-template-columns:24px minmax(0,1fr);display:grid}.dialogue-performance-script>div:first-child{padding-top:0}.dialogue-performance-script>div:last-child{border-bottom:0}.dialogue-performance-script span{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.dialogue-performance-script p{min-width:0;color:var(--ink);font-size:var(--text-compact);line-height:var(--leading-body);overflow-wrap:anywhere;margin:0}.dialogue-performance-script em{color:var(--ink-2)}.dialogue-performance-controls{align-items:end;gap:var(--space-4);grid-template-columns:minmax(200px,1fr) minmax(210px,.75fr);display:grid}.dialogue-performance-body>*,.dialogue-performance-controls>*,.dialogue-coverage-numbers>span,.dialogue-coverage-editor,.dialogue-performance-speech-select{min-width:0}.dialogue-performance-speech-select select,.dialogue-coverage-add select{text-overflow:ellipsis;width:100%;max-width:100%}.dialogue-coverage-readout{gap:var(--space-2);display:grid}.dialogue-voiceover-complete{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-success-muted);color:var(--ink-success);font-size:var(--text-body);font-weight:var(--weight-medium);display:flex}.dialogue-voiceover-complete svg{flex-shrink:0}.dialogue-narration-track{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface-raised);grid-column:1/-1;display:grid}.dialogue-narration-track-heading,.dialogue-narration-segments>div{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dialogue-narration-track-heading{color:var(--ink);font-size:var(--text-compact);font-weight:var(--weight-semibold)}.dialogue-narration-track-heading>span:last-child,.dialogue-narration-segments>div>span{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.dialogue-narration-segments{gap:var(--space-2);display:grid}.dialogue-narration-segments>div{padding-top:var(--space-2);border-top:1px solid var(--rule);justify-content:flex-start}.dialogue-narration-segments .dialogue-audio-preview{margin-left:auto}.dialogue-narration-track>p{color:var(--ink-2);font-size:var(--text-compact);margin:0}.dialogue-coverage-numbers{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dialogue-coverage-numbers>span{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;gap:2px;display:grid}.dialogue-coverage-numbers small{color:var(--ink-2);font-family:var(--font-sans);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-label);text-transform:uppercase}.dialogue-coverage-numbers .is-deficit,.dialogue-coverage-numbers .is-deficit small{color:var(--status-amber)}.dialogue-coverage-meter{background:var(--surface-control);border-radius:var(--radius-frame);height:4px;display:block;overflow:hidden}.dialogue-coverage-meter>span{background:var(--status-green);height:100%;display:block}.dialogue-coverage-editor{min-width:0;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule);grid-column:2}.dialogue-coverage-editor-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.dialogue-coverage-editor-heading small{color:var(--status-amber);font-family:var(--font-mono);font-size:var(--text-data)}.dialogue-coverage-timeline{height:24px;margin-bottom:var(--space-2);gap:2px;display:flex}.dialogue-coverage-timeline>span{min-width:34px;color:var(--ink);background:var(--surface-selected);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:flex}.dialogue-coverage-segments{border-top:1px solid var(--rule)}.dialogue-coverage-segment{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;border-bottom:1px solid var(--rule);grid-template-columns:minmax(135px,1fr) auto auto;display:grid}.dialogue-coverage-segment-source{align-items:center;gap:var(--space-2);min-width:0;color:var(--ink-2);display:flex}.dialogue-coverage-segment-source img{aspect-ratio:16/9;object-fit:cover;background:var(--surface-control);border-radius:var(--radius-frame);width:52px}.dialogue-coverage-segment-source>span{gap:2px;min-width:0;display:grid}.dialogue-coverage-segment-source strong{color:var(--ink);font-size:var(--text-compact)}.dialogue-coverage-segment-source small{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.dialogue-coverage-trims{gap:var(--space-2);display:flex}.dialogue-coverage-trims label{align-items:center;gap:var(--space-1);color:var(--ink-2);font-size:var(--text-label);display:flex}.dialogue-coverage-trims input{width:64px;min-height:var(--control-h-compact);padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.dialogue-coverage-segment-actions{gap:2px;display:flex}.dialogue-coverage-segment-actions .icon-button{width:28px;height:28px}.dialogue-coverage-empty,.dialogue-coverage-loading,.dialogue-coverage-zero{align-items:center;gap:var(--space-3);color:var(--ink-2);font-size:var(--text-compact);display:flex}.dialogue-coverage-empty{border-bottom:1px solid var(--rule);justify-content:center;min-height:58px}.dialogue-coverage-loading{justify-content:center;min-height:96px}.dialogue-coverage-zero{min-height:88px;padding:var(--space-3) var(--space-4)}.dialogue-coverage-zero>span{gap:2px;margin-right:auto;display:grid}.dialogue-coverage-zero strong{color:var(--ink)}.dialogue-coverage-add{margin-top:var(--space-3)}.dialogue-coverage-add select{min-width:190px}.dialogue-coverage-save{margin-left:auto}.dialogue-coverage-validation{align-items:center;gap:var(--space-1);margin:var(--space-2) 0 0;color:var(--status-red);font-size:var(--text-compact);display:flex}.dialogue-coverage-drag-handle{width:28px;height:28px;color:var(--ink-3);cursor:grab;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.dialogue-coverage-drag-handle:hover{color:var(--ink-2)}.dialogue-coverage-drag-handle:active{cursor:grabbing}.dialogue-coverage-segment{grid-template-columns:28px minmax(135px,1fr) auto auto}.dialogue-coverage-segment.is-dragging{opacity:.5}.dialogue-coverage-segment.is-drag-over{border-top:2px solid var(--accent)}.dialogue-performance-speech-row{align-items:flex-end;gap:var(--space-3);display:flex}.dialogue-performance-speech-row .dialogue-performance-speech-select{flex:1;min-width:0}.dialogue-audio-preview{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--surface-control);border-radius:var(--radius-interactive);display:flex}.dialogue-audio-preview--empty{color:var(--ink-3);font-size:var(--text-compact)}.dialogue-audio-play{width:24px;height:24px;color:var(--accent);background:var(--surface-raised);border:1px solid var(--border-control);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.dialogue-audio-play:hover{background:var(--surface-hover)}.dialogue-audio-duration{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.dialogue-video-preview{aspect-ratio:16/9;background:var(--surface-control);border-radius:var(--radius-frame);width:100%;max-width:180px;position:relative;overflow:hidden}.dialogue-video-preview--empty{justify-content:center;align-items:center;gap:var(--space-1);color:var(--ink-3);font-size:var(--text-compact);flex-direction:column;display:flex}.dialogue-video-preview video{object-fit:cover;cursor:pointer;width:100%;height:100%}.dialogue-video-play{color:var(--surface-canvas);cursor:pointer;opacity:1;transition:opacity .15s var(--ease);background:#0000004d;border:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dialogue-video-preview:hover .dialogue-video-play{opacity:.85}.dialogue-lipsync-section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule-strong);grid-column:1/-1}.dialogue-lipsync-heading{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--ink-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-label);text-transform:uppercase;display:flex}.dialogue-lipsync-content{gap:var(--space-3);display:grid}.dialogue-lipsync-preview-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.dialogue-lipsync-preview-item{gap:var(--space-2);display:grid}.dialogue-lipsync-preview-label{color:var(--ink-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-label);text-transform:uppercase}.dialogue-lipsync-estimate{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--ink-2);background:var(--surface-raised);border-radius:var(--radius-interactive);font-size:var(--text-compact);display:flex}.dialogue-lipsync-estimate strong{color:var(--ink)}.dialogue-lipsync-status{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-interactive);font-size:var(--text-compact);display:flex}.dialogue-lipsync-status--queued,.dialogue-lipsync-status--generating{color:var(--ink);background:var(--tint-accent)}.dialogue-lipsync-status--complete{color:var(--status-green);background:var(--tint-green)}.dialogue-lipsync-status--failed{color:var(--status-red);background:var(--tint-red)}.dialogue-lipsync-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dialogue-lipsync-storyboard-ready{align-items:center;gap:var(--space-1);color:var(--status-green);font-size:var(--text-compact);display:inline-flex}.dialogue-performance-readiness--complete{color:var(--status-green)}.dialogue-performance-readiness--generating{color:var(--accent)}.dialogue-performance-readiness--failed{color:var(--status-red)}.dialogue-performance.is-complete .dialogue-performance-heading{background:var(--tint-green)}.dialogue-performance-list::-webkit-scrollbar{width:8px}.dialogue-performance-line-picker::-webkit-scrollbar{width:8px}.dialogue-performance-list::-webkit-scrollbar-thumb{background:var(--border-control);background-clip:padding-box;border:2px solid #0000;border-radius:8px}.dialogue-performance-line-picker::-webkit-scrollbar-thumb{background:var(--border-control);background-clip:padding-box;border:2px solid #0000;border-radius:8px}.dialogue-loading,.dialogue-empty{min-height:180px;color:var(--ink-2);flex:1;justify-content:center;align-items:center;display:flex}.dialogue-loading{gap:var(--space-2);font-size:var(--text-body)}.dialogue-empty{gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column}.dialogue-empty h2,.dialogue-empty h3{color:var(--ink);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);margin:0}.dialogue-empty p{max-width:54ch;line-height:var(--leading-body);margin:0}.dialogue-empty--embedded{flex:none}.dialogue-shot-list{min-height:0;padding:var(--space-3) var(--space-5) var(--space-6);scrollbar-color:var(--border-control) transparent;scrollbar-width:thin;flex:1;overflow-y:auto}.dialogue-shot-list::-webkit-scrollbar{width:8px;height:8px}.dialogue-line-takes::-webkit-scrollbar{width:8px;height:8px}.dialogue-shot-list::-webkit-scrollbar-thumb{background:var(--border-control);background-clip:padding-box;border:2px solid #0000;border-radius:8px}.dialogue-line-takes::-webkit-scrollbar-thumb{background:var(--border-control);background-clip:padding-box;border:2px solid #0000;border-radius:8px}.dialogue-shot-group{border-bottom:1px solid var(--rule)}.dialogue-shot-group-header{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2) var(--space-3);background:var(--surface-well);border-radius:var(--radius-frame) var(--radius-frame) 0 0;grid-template-columns:72px minmax(0,1fr) auto;display:grid}.dialogue-shot-frame{aspect-ratio:16/9;width:72px;color:var(--ink-2);background:var(--surface-control);border-radius:var(--radius-frame);justify-content:center;align-items:center;display:flex;overflow:hidden}.dialogue-shot-frame img{object-fit:cover;width:100%;height:100%}.dialogue-shot-group-copy{min-width:0}.dialogue-shot-group-copy h2{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);margin:0}.dialogue-shot-group-copy p{margin:var(--space-1) 0 0;color:var(--ink-2);font-size:var(--text-compact);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialogue-shot-line-count{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.dialogue-lines{flex-direction:column;display:flex}.dialogue-line{gap:var(--space-5);padding:var(--space-4) var(--space-3) var(--space-5);border-top:1px solid var(--rule);grid-template-columns:minmax(260px,.9fr) minmax(340px,1.1fr);display:grid}.dialogue-line-script,.dialogue-line-takes{min-width:0}.dialogue-line-script{flex-direction:column;align-items:flex-start;display:flex}.dialogue-line-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);width:100%;display:flex}.dialogue-line-heading>div{align-items:center;gap:var(--space-2);min-width:0;display:flex}.dialogue-line-heading h3{color:var(--ink);font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-title);margin:0}.dialogue-line-kind,.speech-take-stale{padding:1px var(--space-1);color:var(--ink-2);background:var(--surface-control);border-radius:var(--radius-interactive);font-size:var(--text-label);line-height:var(--leading-data)}.dialogue-voice-status{align-items:center;gap:var(--space-1);min-width:0;color:var(--ink-2);font-size:var(--text-label);line-height:var(--leading-data);display:inline-flex}.dialogue-voice-status--ready{max-width:48%;color:var(--status-green);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialogue-voice-status--missing{color:var(--status-amber)}.dialogue-voice-status a{color:currentColor;text-underline-offset:2px;text-decoration:underline}.dialogue-line-direction{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--text-compact);font-style:italic}.dialogue-line blockquote{max-width:68ch;margin:var(--space-2) 0 var(--space-3);color:var(--ink);font-size:var(--text-body);line-height:var(--leading-body)}.dialogue-line-generate{margin-top:var(--space-1)}.dialogue-line-takes{gap:var(--space-2);flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.dialogue-line-takes-heading{color:var(--ink-2);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.dialogue-line-takes-heading span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dialogue-no-takes{justify-content:center;align-items:center;gap:var(--space-2);min-height:70px;color:var(--ink-3);background:var(--surface-well);border-radius:var(--radius-interactive);font-size:var(--text-compact);display:flex}.speech-take{gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-raised);border-radius:var(--radius-interactive);border-left:1px solid #0000;flex-direction:column;display:flex}.speech-take--preferred{border-left-color:var(--status-green);background:var(--surface-selected)}.speech-take-heading,.speech-take-identity,.speech-take-actions{align-items:center;display:flex}.speech-take-heading{justify-content:space-between;gap:var(--space-2)}.speech-take-identity,.speech-take-actions{gap:var(--space-2);flex-wrap:wrap}.speech-take-number,.speech-take-date,.speech-player-time{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.speech-take-number{color:var(--ink);font-weight:var(--weight-semibold)}.speech-take-date{color:var(--ink-3);white-space:nowrap}.speech-take-status,.speech-take-preferred{font-size:var(--text-label);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);align-items:center;gap:3px;display:inline-flex}.speech-take-status--complete,.speech-take-preferred{color:var(--status-green)}.speech-take-status--queued{color:var(--ink-2)}.speech-take-status--generating{color:var(--status-amber)}.speech-take-status--failed{color:var(--status-red)}.speech-player{align-items:center;gap:var(--space-2);grid-template-columns:26px minmax(80px,1fr) auto;display:grid}.speech-player-toggle{width:26px;height:26px;color:var(--ink);background:var(--surface-control);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.speech-player-toggle:hover{background:var(--surface-hover)}.speech-player-toggle[aria-pressed=true]{color:var(--on-accent);background:var(--accent-grad)}.speech-player-scrubber{appearance:none;width:100%;height:16px;accent-color:var(--accent);cursor:pointer;background:0 0;margin:0}.speech-player-scrubber::-webkit-slider-runnable-track{border-radius:var(--radius-frame);background:var(--surface-control);height:3px}.speech-player-scrubber::-moz-range-track{border-radius:var(--radius-frame);background:var(--surface-control);height:3px}.speech-player-scrubber::-moz-range-progress{background:var(--accent);height:3px}.speech-player-scrubber::-webkit-slider-thumb{appearance:none;background:var(--ink);border:2px solid var(--surface-raised);border-radius:50%;width:10px;height:10px;margin-top:-3.5px}.speech-player-scrubber::-moz-range-thumb{background:var(--ink);border:2px solid var(--surface-raised);border-radius:50%;width:8px;height:8px}.speech-player-time{min-width:72px;color:var(--ink-2);text-align:right}.speech-take-progress{align-items:center;gap:var(--space-2);color:var(--ink-2);font-size:var(--text-compact);display:flex}.speech-take-progress-track{background:var(--surface-control);border-radius:var(--radius-frame);flex:1;height:3px;position:relative;overflow:hidden}.speech-take-progress-track span{background:var(--accent-grad);width:38%;animation:dialogue-indeterminate 1.35s var(--ease) infinite;position:absolute;inset:0}.speech-take-error{color:var(--status-red);font-size:var(--text-compact);line-height:var(--leading-compact);margin:0}.speech-take-actions{min-height:24px}.speech-take-delete{color:var(--ink-2);margin-left:auto}.speech-take-delete:hover:not(:disabled),.speech-take-delete:focus-visible:not(:disabled){color:var(--status-red)}.speech-take-delete-confirm{align-items:center;gap:var(--space-1);color:var(--ink-2);font-size:var(--text-label);margin-left:auto;display:flex}.storyboard-dialogue-tool .dialogue-shot-list{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex:none;max-height:min(58vh,720px);padding:0}.storyboard-dialogue-tool .dialogue-shot-group-header{grid-template-columns:56px minmax(0,1fr) auto}.storyboard-dialogue-tool .dialogue-shot-frame{width:56px}@media (width<=1000px){.dialogue-coverage-workspace{max-height:min(54vh,560px)}.dialogue-performance-list{max-height:calc(min(54vh,560px) - 65px)}.dialogue-performance-body{gap:var(--space-4);grid-template-columns:1fr}.dialogue-performance-script{padding-right:0;padding-bottom:var(--space-3);border-right:0;border-bottom:1px solid var(--rule)}.dialogue-coverage-editor{grid-column:1}.dialogue-line{gap:var(--space-4);grid-template-columns:1fr}.dialogue-line-takes{max-height:none}}@media (width<=640px){.dialogue-error-banner,.dialogue-generation-progress,.dialogue-summary,.dialogue-coverage-workspace{margin-right:var(--space-3);margin-left:var(--space-3)}.dialogue-coverage-workspace{max-height:min(58vh,620px)}.dialogue-coverage-workspace-heading,.dialogue-performance-heading,.dialogue-coverage-workspace-actions,.dialogue-coverage-add{flex-direction:column;align-items:stretch}.dialogue-coverage-workspace-heading{gap:var(--space-3)}.dialogue-coverage-workspace-actions .btn,.dialogue-coverage-add .btn,.dialogue-coverage-add select{width:100%}.dialogue-performance-list{max-height:calc(min(58vh,620px) - 116px)}.dialogue-performance-readiness{padding-left:28px}.dialogue-performance-body,.dialogue-performance-composer{padding:var(--space-3)}.dialogue-performance-controls{grid-template-columns:1fr;align-items:stretch}.dialogue-coverage-segment{grid-template-columns:minmax(0,1fr) auto}.dialogue-coverage-trims{grid-area:2/1/auto/-1}.dialogue-coverage-segment-actions{grid-area:1/2}.dialogue-coverage-save{margin-left:0}.dialogue-performance-line-option{padding-right:var(--space-2);padding-left:var(--space-2);grid-template-columns:18px 20px minmax(0,1fr)}.dialogue-summary{gap:var(--space-2) var(--space-3);min-height:0;padding-top:var(--space-2);padding-bottom:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.dialogue-generation-progress{gap:var(--space-2);grid-template-columns:1fr}.dialogue-shot-list{padding:var(--space-2) var(--space-3) var(--space-5)}.dialogue-shot-group-header,.storyboard-dialogue-tool .dialogue-shot-group-header{grid-template-columns:48px minmax(0,1fr)}.dialogue-shot-frame,.storyboard-dialogue-tool .dialogue-shot-frame{width:48px}.dialogue-shot-line-count{display:none}.dialogue-line{min-width:0;padding:var(--space-4) var(--space-2)}.dialogue-line-heading{gap:var(--space-2);flex-direction:column}.dialogue-voice-status--ready{max-width:100%}.speech-take-heading{align-items:flex-start}.speech-player{grid-template-columns:26px minmax(70px,1fr)}.speech-player-time{text-align:left;grid-column:2;min-width:0}}@media (prefers-reduced-motion:reduce){.speech-take-progress-track span{animation:none}.dialogue-generation-progress progress:indeterminate::-webkit-progress-value{animation:none}.storyboard-dialogue-tool progress:indeterminate::-webkit-progress-value{animation:none}}.insufficient-funds-body p{color:var(--ink-2);font-size:var(--text-compact);line-height:var(--leading-compact);margin:0}.insufficient-funds-link{flex:none}.billing-spend-table{font-size:var(--text-compact)}.billing-spend-header-row{gap:var(--space-4);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule-strong);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);line-height:var(--leading-title);color:var(--ink-2);text-transform:uppercase;grid-template-columns:1fr auto auto;display:grid}.billing-spend-row{gap:var(--space-4);min-height:var(--row-h);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);border-radius:var(--radius-frame);grid-template-columns:1fr auto auto;align-items:center;display:grid}.billing-spend-row-clickable{width:100%;color:inherit;font:inherit;font-size:var(--text-compact);text-align:left;cursor:pointer;transition:background-color var(--motion) var(--ease);background:0 0;border-top:0;border-left:0;border-right:0}.billing-spend-row-clickable:hover{background:var(--surface-hover)}.billing-spend-row-clickable:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:calc(-1 * var(--focus-width));background:var(--surface-hover)}.billing-spend-row:last-of-type{border-bottom:none}.billing-spend-project-name{color:var(--ink);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.billing-spend-count{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;text-align:right;min-width:40px}.billing-spend-amount{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.billing-spend-total-row{gap:var(--space-4);min-height:var(--row-h);padding:var(--space-2) var(--space-3);border-top:1px solid var(--rule-strong);font-weight:var(--weight-semibold);font-size:var(--text-compact);color:var(--ink);grid-template-columns:1fr auto auto;align-items:center;display:grid}.billing-spend-total-row span:last-child{font-family:var(--font-mono);font-size:var(--text-data);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.billing-usage-list{margin-top:var(--space-2);flex-direction:column;display:flex}.billing-usage-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--row-h);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);border-radius:var(--radius-frame);font-size:var(--text-compact);display:flex}.billing-usage-row:last-child{border-bottom:none}.billing-usage-info{flex-direction:column;gap:2px;display:flex;overflow:hidden}.billing-usage-tool{color:var(--ink);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.billing-usage-meta{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.billing-usage-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.billing-usage-amount{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.billing-usage-date{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums}.project-card-spend{align-items:center;gap:var(--space-1);width:fit-content;margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--text-data);line-height:var(--leading-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink-2);display:inline-flex}.project-card-spend-incomplete{font-weight:var(--weight-medium)}.asset-library-backdrop{z-index:1040;background:var(--scrim);position:fixed;inset:0}.asset-library-drawer{z-index:1050;background:var(--surface-overlay);border-left:1px solid var(--border-overlay);width:360px;max-width:100vw;transition:transform var(--motion) var(--ease);box-shadow:var(--shadow-menu);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.asset-library-drawer--open{transform:translate(0)}.asset-library-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rule);flex-shrink:0;display:flex}.asset-library-header-left{align-items:center;gap:var(--space-2);min-width:0;display:flex}.asset-library-title{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink)}.asset-library-header-right{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.asset-library-tabs{padding:var(--space-2) var(--space-3) 0;border-bottom:1px solid var(--rule);flex-shrink:0;gap:0;display:flex}.asset-library-tab{align-items:center;gap:var(--space-1);min-height:var(--control-h);padding:var(--space-2) var(--space-3);font-size:var(--text-compact);font-weight:var(--weight-regular);color:var(--ink-2);cursor:pointer;transition:color var(--motion) var(--ease), border-color var(--motion) var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;display:flex}.asset-library-tab:hover:not(.asset-library-tab--disabled){color:var(--ink)}.asset-library-tab--active{color:var(--ink);font-weight:var(--weight-semibold);border-bottom-color:var(--accent)}.asset-library-tab--disabled{color:var(--ink-disabled);cursor:not-allowed}.asset-library-content{padding:var(--space-3);flex:1;overflow-y:auto}.asset-library-empty,.asset-library-loading{justify-content:center;align-items:center;gap:var(--space-2);min-height:200px;color:var(--ink-2);text-align:center;font-size:var(--text-body);line-height:var(--leading-body);flex-direction:column;display:flex}.asset-library-empty-hint{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2)}.asset-library-error{color:var(--status-red)}.asset-library-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.asset-tile{gap:var(--space-1);border-radius:var(--radius-frame);flex-direction:column;display:flex;position:relative}.asset-tile-image-wrap{width:100%;font:inherit;text-align:inherit;aspect-ratio:16/9;background:var(--surface-well);border-radius:var(--radius-frame);border:none;margin:0;padding:0;display:block;position:relative;overflow:hidden}button.asset-tile-image-wrap{cursor:pointer}.asset-tile:hover{background:var(--surface-raised)}.asset-tile-image{object-fit:cover;width:100%;height:100%;display:block}.asset-tile-placeholder{width:100%;height:100%;color:var(--ink-disabled);justify-content:center;align-items:center;display:flex}.asset-tile-overlay{background:var(--scrim);justify-content:flex-end;align-items:flex-end;gap:var(--space-1);padding:var(--space-1);opacity:0;transition:opacity var(--motion) var(--ease);display:flex;position:absolute;inset:0}.asset-tile:hover .asset-tile-overlay,.asset-tile:focus-within .asset-tile-overlay{opacity:1}.asset-tile-delete-btn{color:var(--status-red)}.asset-tile-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.asset-tile-tool{font-size:var(--text-label);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);line-height:var(--leading-title);color:var(--ink-2)}.asset-tile-prompt{font-size:var(--text-compact);color:var(--ink-2);-webkit-line-clamp:2;line-height:var(--leading-compact);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.asset-library-picker-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--tint-amber);border-bottom:1px solid var(--tint-amber-border);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-amber);font-weight:var(--weight-medium);display:flex}.asset-library-picker-banner button{flex-shrink:0;margin-left:auto}.asset-tile--selectable{cursor:pointer}.asset-tile--selectable:hover{background:var(--surface-raised)}.asset-tile--selected .asset-tile-image-wrap{outline:2px solid var(--accent);outline-offset:2px}.asset-tile-check{top:var(--space-1);right:var(--space-1);border-radius:var(--radius-interactive);background:var(--accent-grad);width:20px;height:20px;color:var(--on-accent);z-index:2;justify-content:center;align-items:center;display:flex;position:absolute}.asset-library-picker-bar{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--rule);background:var(--surface-raised);display:flex}.asset-library-picker-bar button:first-child{margin-right:auto}.asset-library-drawer--fullscreen{border-left:none;width:100vw;max-width:100vw}.asset-library-backdrop--fullscreen{display:none}.asset-library-grid--fullscreen{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.asset-library-grid--fullscreen{grid-template-columns:repeat(2,1fr)}}.asset-library-search{align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-3);border-bottom:1px solid var(--rule);background:var(--surface-raised);flex-shrink:0;display:flex}.asset-library-search-icon{color:var(--ink-2);flex-shrink:0}.asset-library-search-input{color:var(--ink);font-family:var(--font-ui);font-size:var(--text-compact);background:0 0;border:none;flex:1;min-width:0}.asset-library-search-input::placeholder{color:var(--ink-placeholder)}.asset-library-search-clear{cursor:pointer;color:var(--ink-2);transition:color var(--motion) var(--ease);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.asset-library-search-clear:hover{color:var(--ink)}.asset-tile-version-badge{top:var(--space-1);left:var(--space-2);text-shadow:0 1px 3px #000000e6;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;pointer-events:none;align-items:center;gap:2px;line-height:1;display:flex;position:absolute}.asset-tile-action-btn{color:var(--ink)}.asset-delete-modal{z-index:20;background:var(--scrim);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.asset-delete-modal-content{background:var(--surface-overlay);border:1px solid var(--rule-strong);border-radius:var(--radius-overlay);padding:var(--space-5) var(--space-4);text-align:center;align-items:center;gap:var(--space-1);width:100%;max-width:280px;box-shadow:var(--shadow-modal);flex-direction:column;display:flex}.asset-delete-modal-icon{color:var(--status-red);margin-bottom:var(--space-1)}.asset-delete-modal-content p{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink);margin:0}.asset-delete-modal-content p.asset-delete-modal-hint{font-size:var(--text-compact);color:var(--ink-2)}.asset-delete-modal-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.spin{animation:.8s linear infinite spin}.concept-layout{gap:var(--space-4);height:100%;padding:var(--space-4);grid-template-columns:300px 1fr 220px;display:grid;overflow:hidden}@media (width<=1100px){.concept-layout{grid-template-columns:260px 1fr}.concept-rail{grid-area:2/1}}.concept-controls{gap:var(--space-5);padding:var(--creative-panel-pad);background:var(--surface-raised);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);flex-direction:column;display:flex;overflow-y:auto}.concept-controls-header{align-items:center;gap:var(--space-2);font-size:var(--text-creative-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink);display:flex}.concept-model-badge{padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-creative-label);font-weight:var(--weight-medium);color:var(--ink-2);background:var(--surface-control);border-radius:var(--radius-chip);white-space:nowrap;margin-left:auto}.concept-field{gap:var(--space-2);flex-direction:column;display:flex}.concept-field--row{gap:var(--space-1)}.concept-field-label{font-size:var(--text-creative-label);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--ink-2);line-height:1.25}.concept-textarea{background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-composer);width:100%;color:var(--ink);font-family:var(--font-ui);font-size:var(--text-creative-body);line-height:var(--leading-body);padding:var(--creative-panel-pad);resize:vertical;min-height:100px;transition:border-color var(--motion) var(--ease);box-sizing:border-box}.concept-textarea::placeholder{color:var(--ink-placeholder)}.concept-textarea:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-color:var(--accent)}.concept-textarea--edit{border-color:var(--accent)}.concept-pill-group{gap:var(--space-1);flex-wrap:wrap;display:flex}.concept-pill{min-height:var(--chip-h);padding:var(--space-1) var(--space-3);font-size:var(--text-creative-control);font-weight:var(--weight-medium);background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-control);color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease), border-color var(--motion) var(--ease)}.concept-pill:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.concept-pill:disabled{color:var(--ink-disabled);cursor:not-allowed}.concept-pill--active{background:var(--tint-accent);border-color:var(--accent);color:var(--ink)}.concept-ref-tray{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.concept-ref-thumb{border-radius:var(--radius-control);background:var(--surface-well);width:64px;height:64px;position:relative;overflow:hidden}.concept-ref-thumb img{object-fit:cover;width:100%;height:100%;display:block}.concept-ref-remove{background:var(--surface-overlay);width:24px;height:24px;color:var(--ink-2);cursor:pointer;opacity:0;transition:opacity var(--motion) var(--ease);border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:2px;right:2px}.concept-ref-thumb:hover .concept-ref-remove,.concept-ref-remove:focus-visible{opacity:1}.concept-ref-remove:hover,.concept-ref-remove:focus-visible{color:var(--status-red)}.concept-ref-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.concept-ref-btn{gap:var(--space-1)}.concept-error{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-red);background:var(--tint-red);border:1px solid var(--tint-red-border);border-radius:var(--radius-interactive);padding:var(--space-2) var(--space-3);margin:0}.concept-actions{gap:var(--space-2);padding-top:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.concept-generate-btn{justify-content:center;gap:var(--space-1);width:100%}.concept-edit-mode-btn{justify-content:center;width:100%}.concept-canvas{padding:var(--space-6);background:var(--surface-well);border-radius:var(--radius-panel);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.concept-canvas-loading{align-items:center;gap:var(--space-4);color:var(--ink-2);font-size:var(--text-creative-body);line-height:var(--leading-body);flex-direction:column;display:flex}.concept-canvas-empty{align-items:center;gap:var(--space-4);color:var(--ink-2);font-size:var(--text-creative-body);line-height:var(--leading-body);text-align:center;flex-direction:column;display:flex}.concept-canvas-image{object-fit:contain;border-radius:var(--radius-frame);max-width:100%;max-height:calc(100% - 48px);display:block}.concept-canvas-toolbar{bottom:var(--space-6);gap:var(--space-2);background:var(--surface-overlay);border:1px solid var(--rule-strong);border-radius:var(--radius-card);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-menu);flex-wrap:nowrap;display:flex;position:absolute}.concept-rail{gap:var(--space-3);padding:var(--creative-panel-pad);background:var(--surface-raised);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);flex-direction:column;display:flex;overflow-y:auto}.concept-rail-label{font-size:var(--text-creative-label);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--ink-2);margin:0;line-height:1.25}.concept-rail-hint{font-size:var(--text-creative-control);color:var(--ink-2);line-height:var(--leading-body);margin:0}.concept-canvas-image-wrap{flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.concept-canvas-image-wrap .concept-canvas-image{max-width:100%;max-height:100%}.markup-canvas{cursor:crosshair;touch-action:none;border-radius:var(--radius-frame);background:0 0;width:100%;height:100%;position:absolute;inset:0}.concept-brush-controls{align-items:center;gap:var(--space-1);display:flex}.concept-toolbar-spacer{flex:1}.concept-canvas-empty-hint{font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);margin-top:var(--space-1)}.concept-brush-size-label{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:center;min-width:32px}.concept-version-list{gap:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.concept-version-entry{border-radius:var(--radius-card);background:var(--surface-control);transition:border-color var(--motion) var(--ease);border:2px solid #0000;overflow:hidden}.concept-version-entry--active{border-color:var(--accent)}.concept-version-thumb{aspect-ratio:16/9;object-fit:cover;cursor:pointer;background:var(--surface-well);border-radius:var(--radius-control);width:100%;transition:border-color var(--motion) var(--ease);border:none;padding:0;display:block}.concept-version-thumb img{object-fit:cover;border-radius:var(--radius-control);width:100%;height:100%;display:block}.concept-version-meta{gap:var(--space-1);padding:var(--space-2) var(--space-3);flex-direction:column;display:flex}.concept-version-label{font-size:var(--text-creative-label);color:var(--ink-2);font-weight:var(--weight-medium)}.concept-version-use-btn{justify-content:center;width:100%}.concept-inline-link{color:var(--ink);cursor:pointer;font-size:inherit;text-underline-offset:2px;transition:color var(--motion) var(--ease);background:0 0;border:none;padding:0;text-decoration:underline}.concept-inline-link:hover{color:var(--ink-2)}:root{--invoice-ground:#f2f2f2;--invoice-sheet:#fff;--invoice-panel:#f7f7f7;--invoice-ink:#1a1a1a;--invoice-ink-2:#4a4a4a;--invoice-ink-3:#6b6b6b;--invoice-rule:#d0d0d0;--invoice-rule-strong:#a8a8a8;--invoice-reverse-bg:#1a1a1a;--invoice-reverse-ink:#fff;--status-red-invoice:#b42318}.invoice-page{min-height:100%;padding:var(--space-6);color:var(--invoice-ink);background:var(--invoice-ground)}.invoice-actions{max-width:920px;margin:0 auto var(--space-4);justify-content:space-between;gap:var(--space-3);display:flex}.invoice-actions .btn-primary{background:var(--invoice-reverse-bg);color:var(--invoice-reverse-ink);border-color:var(--invoice-reverse-bg)}.invoice-actions .btn-primary:hover:not(:disabled){background:var(--invoice-ink-2);border-color:var(--invoice-ink-2)}.invoice-actions .btn-secondary{background:var(--invoice-sheet);color:var(--invoice-ink);border-color:var(--invoice-rule-strong)}.invoice-actions .btn-secondary:hover:not(:disabled){background:var(--invoice-panel)}.invoice-actions .btn:focus-visible{outline-color:var(--invoice-ink)}.invoice-sheet{max-width:920px;padding:var(--space-6);background:var(--invoice-sheet);border:1px solid var(--invoice-rule);border-radius:var(--radius-overlay);margin:0 auto}.invoice-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:2px solid var(--invoice-ink);display:flex}.invoice-brand{font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--invoice-ink)}.invoice-header h1{margin:var(--space-1) 0 0;font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:var(--track-title);line-height:var(--leading-title);color:var(--invoice-ink)}.invoice-subtitle{margin-top:var(--space-1);color:var(--invoice-ink-2);font-size:var(--text-body);font-weight:var(--weight-medium)}.invoice-header-icon{color:var(--invoice-ink-2)}.invoice-meta-grid,.invoice-stat-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.invoice-meta-grid>div,.invoice-stat{border-radius:var(--radius-interactive);padding:var(--space-3);background:var(--invoice-panel)}.invoice-meta-label,.invoice-stat span{margin-bottom:var(--space-1);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--invoice-ink-3);display:block}.invoice-meta-grid strong,.invoice-stat strong{color:var(--invoice-ink);font-size:var(--text-body);font-weight:var(--weight-semibold)}.invoice-stat strong{font-family:var(--font-mono);font-size:var(--text-title);line-height:var(--leading-title);font-variant-numeric:tabular-nums}.invoice-stat-total{background:var(--invoice-reverse-bg)}.invoice-stat-total span,.invoice-stat-total strong{color:var(--invoice-reverse-ink)}.invoice-summary{margin:var(--space-5) 0 0;color:var(--invoice-ink-2);font-size:var(--text-body);line-height:var(--leading-body)}.invoice-purpose,.invoice-payment-meta{margin-top:var(--space-5);border-radius:var(--radius-interactive);padding:var(--space-3);background:var(--invoice-panel)}.invoice-purpose p{color:var(--invoice-ink);font-size:var(--text-body);line-height:var(--leading-body);margin:0}.invoice-payment-meta-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.invoice-payment-meta-grid span{margin-bottom:var(--space-1);color:var(--invoice-ink-3);font-size:var(--text-compact);display:block}.invoice-payment-meta-grid strong{color:var(--invoice-ink);font-size:var(--text-compact);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.invoice-line-section{margin-top:var(--space-6)}.invoice-line-section h2{margin:0 0 var(--space-3);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);color:var(--invoice-ink)}.invoice-line-table{border:1px solid var(--invoice-rule-strong);border-radius:var(--radius-interactive);overflow:hidden}.invoice-line-header,.invoice-line-row{gap:var(--space-3);grid-template-columns:minmax(0,1.7fr) .8fr .7fr .5fr .75fr;align-items:center;display:grid}.invoice-line-header{padding:var(--space-2) var(--space-3);background:var(--invoice-panel);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--invoice-ink-2);border-bottom:1px solid var(--invoice-rule-strong)}.invoice-line-row{padding:var(--space-3);color:var(--invoice-ink);border-bottom:1px solid var(--invoice-rule);font-size:var(--text-compact)}.invoice-line-row:last-child{border-bottom:none}.invoice-line-row strong,.invoice-line-row em{display:block}.invoice-line-row em{color:var(--invoice-ink-3);font-size:var(--text-compact);margin-top:2px;font-style:normal}.invoice-line-header span:nth-child(n+3),.invoice-line-row span:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.invoice-line-row span:nth-child(n+3){font-family:var(--font-mono);font-size:var(--text-data)}.invoice-line-empty{padding:var(--space-4) var(--space-3);color:var(--invoice-ink-3);font-size:var(--text-body)}.invoice-line-total{gap:var(--space-4);padding:var(--space-3);background:var(--invoice-panel);color:var(--invoice-ink);font-weight:var(--weight-semibold);border-top:1px solid var(--invoice-rule-strong);grid-template-columns:1fr auto;display:grid}.invoice-line-total span:last-child{text-align:right;min-width:96px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.invoice-footer-note{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--invoice-rule);color:var(--invoice-ink-2);font-size:var(--text-compact);line-height:var(--leading-body)}.invoice-error{align-items:center;gap:var(--space-2);max-width:920px;padding:var(--space-3);background:var(--invoice-sheet);border:1px solid var(--status-red-invoice);border-radius:var(--radius-interactive);color:var(--status-red-invoice);font-size:var(--text-body);line-height:var(--leading-body);margin:0 auto;display:flex}@media (width<=760px){.invoice-page,.invoice-sheet{padding:var(--space-4)}.invoice-meta-grid,.invoice-stat-grid,.invoice-payment-meta-grid{grid-template-columns:1fr}.invoice-line-table{overflow-x:auto}}@media print{html,body,#root{background:var(--invoice-sheet)!important;color:var(--invoice-ink)!important}.global-rail,.sidebar,.print-hidden,.invoice-actions{display:none!important}.app{background:var(--invoice-sheet)!important;min-height:auto!important;display:block!important}.main{background:var(--invoice-sheet)!important;width:100%!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.invoice-page{background:var(--invoice-sheet)!important;min-height:auto!important;padding:0!important}.invoice-sheet{border:0!important;border-radius:0!important;max-width:none!important;margin:0!important;padding:0!important}.invoice-meta-grid>div,.invoice-stat,.invoice-purpose,.invoice-payment-meta,.invoice-line-table{break-inside:avoid}}.storyboard-performance{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;min-width:0;display:flex}.shot-generation-controls{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2);border-radius:var(--radius-interactive);background:var(--surface-raised);flex-wrap:wrap;display:flex}.shot-generation-controls-field{align-items:center;gap:var(--space-2);min-width:0;display:flex}.shot-generation-controls-label{font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.shot-generation-controls-select{min-width:96px}.shot-generation-controls-note{align-items:flex-start;gap:var(--space-1);font-size:var(--text-data);line-height:var(--leading-compact);color:var(--ink-2);flex-basis:100%;margin:0;display:flex}.shot-generation-controls-note svg{flex:none;margin-top:1px}.storyboard-take-panel{border-radius:var(--radius-interactive);background:var(--surface-raised)}.storyboard-take-panel-header{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.storyboard-take-toggle{align-items:center;gap:var(--space-2);min-width:0;min-height:28px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-interactive);font:inherit;font-size:var(--text-data);color:var(--ink-2);text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease), color var(--motion-fast) var(--ease);background:0 0;border:none;flex:auto;display:flex}.storyboard-take-toggle:hover,.storyboard-take-toggle:focus-visible{background:var(--surface-hover);color:var(--ink)}.storyboard-take-toggle-icon{color:var(--ink-3);flex:none;display:inline-flex}.storyboard-take-toggle-label{font-weight:var(--weight-medium);white-space:nowrap}.storyboard-take-count,.storyboard-take-summary{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.storyboard-take-body{padding:0 var(--space-2) var(--space-2)}.storyboard-take-list{gap:var(--space-2);flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.storyboard-take-kind{border-radius:var(--radius-chip);background:var(--surface-control);font-size:var(--text-data);font-weight:var(--weight-medium);color:var(--ink-2);padding:1px 5px}.storyboard-take-note{font-size:var(--text-data);line-height:var(--leading-compact);color:var(--ink-2);margin:0}.storyboard-take-video{border-radius:var(--radius-thumb);background:var(--surface-well);width:100%}.storyboard-take-more{margin:var(--space-2) 0 0;font-size:var(--text-data);color:var(--ink-3)}.storyboard-take-empty{padding:var(--space-2);font-size:var(--text-data);line-height:var(--leading-compact);color:var(--ink-2)}.storyboard-take-empty-title{font-weight:var(--weight-medium);color:var(--ink);display:block}.storyboard-take-live{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.speech-take-status--ready{color:var(--status-green)}.speech-take-status--provider_failed,.speech-take-status--interrupted{color:var(--status-red)}.speech-take-status--quality_failed,.speech-take-status--source_changed{color:var(--status-amber)}.storyboard-performance-toggle{align-items:center;gap:var(--space-2);min-height:28px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-interactive);font:inherit;font-size:var(--text-data);font-weight:var(--weight-medium);color:var(--ink-2);cursor:pointer;transition:background-color var(--motion-fast) var(--ease), color var(--motion-fast) var(--ease);background:0 0;border:none;display:flex}.storyboard-performance-toggle:hover,.storyboard-performance-toggle:focus-visible{background:var(--surface-hover);color:var(--ink)}.storyboard-performance-toggle[aria-pressed=true]{color:var(--ink)}.storyboard-performance-error{padding:var(--space-2);border-radius:var(--radius-interactive);background:var(--tint-red);font-size:var(--text-data);line-height:var(--leading-compact);color:var(--ink);margin:0}.performance-lane{gap:var(--space-1);border-radius:var(--radius-interactive);min-width:0;transition:background-color var(--motion-fast) var(--ease), box-shadow var(--motion-fast) var(--ease);grid-auto-rows:minmax(96px,auto);margin:0;padding:0;list-style:none;display:grid}.performance-lane[data-empty=true]{min-height:22px}.performance-lane[data-empty=true]:after{content:"";border-radius:var(--radius-interactive);border:1px dashed var(--rule);height:22px;display:block}.performance-lane[data-drop=true]{background:var(--surface-selected);box-shadow:inset 2px 0 0 0 var(--accent)}.performance-lane[data-drop=true][data-empty=true]:after{border-color:var(--accent);border-style:solid}.performance-bar{align-items:flex-start;gap:var(--space-1) var(--space-2);min-width:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-interactive);background:var(--surface-raised);cursor:grab;transition:background-color var(--motion-fast) var(--ease), border-color var(--motion-fast) var(--ease);isolation:isolate;border-left:2px solid #0000;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity menu""text text""direction direction""chips chips";display:grid;position:relative}.storyboard-shot-settings-trigger,.storyboard-frame-duration{color:var(--ink-2);position:static}.storyboard-card-settings{align-items:center;gap:var(--space-2);min-height:24px;padding:0 var(--space-1);display:flex}.storyboard-card-settings .storyboard-card-status-dot{box-shadow:none;flex:none;position:static}.storyboard-shot-settings-trigger{cursor:pointer;border:0;place-items:center;width:24px;height:24px;min-height:24px;margin-left:auto;padding:0;display:grid}.storyboard-shot-settings-trigger:hover{background:var(--surface-hover)}.storyboard-shot-settings-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.storyboard-shot-settings-trigger:disabled{opacity:.5;cursor:default}.storyboard-frame-duration{font-size:var(--text-data);font-variant-numeric:tabular-nums;pointer-events:none;padding:0}.storyboard-shot-settings-popover{z-index:200;width:min(280px,100vw - 16px);max-height:calc(100dvh - 16px);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-interactive);background:var(--surface-raised);color:var(--ink);position:fixed;overflow-y:auto}.storyboard-shot-settings-heading{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-label);display:flex}.storyboard-shot-settings-popover .shot-generation-controls{gap:var(--space-4);padding:0;display:grid}.storyboard-shot-settings-popover .shot-generation-controls-field{flex-wrap:wrap}.performance-bar:before,.performance-bar:after{content:none;z-index:-1;background:var(--performance-span-color,var(--rule-strong));pointer-events:none;height:2px;position:absolute;top:14px}.performance-bar[data-kind=narrator]{--performance-span-color:var(--accent)}.performance-bar[data-bridge-before=true]:before{content:"";width:var(--space-4);right:100%}.performance-bar[data-bridge-after=true]:after{content:"";width:var(--space-4);left:100%}.performance-bar[data-wrap-before=true]:before,.performance-bar[data-wrap-after=true]:after{content:"";background:var(--performance-span-color,var(--rule-strong));width:10px;height:8px}.performance-bar[data-wrap-before=true]:before{clip-path:polygon(0 0,100% 0,100% 2px,2px 2px,2px 100%,0 100%);left:-2px}.performance-bar[data-wrap-after=true]:after{clip-path:polygon(0 0,100% 0,100% 100%,8px 100%,8px 2px,0 2px);right:-2px}.performance-bar:hover{background:var(--surface-hover)}.performance-bar[data-kind=character]{border-left-color:var(--rule-strong)}.performance-bar[data-kind=narrator]{border-left-color:var(--accent);background:var(--surface-control)}.performance-bar[data-disabled=true]{cursor:default;color:var(--ink-disabled)}.performance-bar-identity{align-items:center;gap:var(--space-2);grid-area:identity;min-width:0;display:flex;overflow:hidden}.performance-bar-avatar{border-radius:var(--radius-chip);object-fit:cover;background:var(--surface-well);flex:none;width:20px;height:20px}.performance-bar-avatar--monogram,.performance-bar-avatar--narrator{font-size:var(--text-data);font-weight:var(--weight-semibold);color:var(--ink-2);justify-content:center;align-items:center;display:inline-flex}.performance-bar-avatar--narrator{color:var(--accent)}.performance-bar-speaker{text-overflow:ellipsis;min-width:0;font-size:var(--text-data);font-weight:var(--weight-semibold);color:var(--ink);white-space:nowrap;overflow:hidden}.performance-bar-span,.performance-bar-direction{font-family:var(--font-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap}.performance-bar-span{flex:none}.performance-bar-direction{grid-area:direction;font-family:inherit;font-style:italic}.performance-bar-text{min-width:0;font-size:var(--text-data);line-height:var(--leading-compact);color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:text;display:-webkit-box;overflow:hidden}.performance-bar-chips{align-items:center;gap:var(--space-1);flex-wrap:wrap;grid-area:chips;display:flex}.performance-bar-chip{align-items:center;gap:var(--space-1);border-radius:var(--radius-chip);background:var(--surface-control);font-size:var(--text-data);color:var(--ink-2);white-space:nowrap;padding:1px 5px;display:inline-flex}.performance-bar-chip--voice[data-readiness=missing_voice],.performance-bar-chip--take[data-status=provider_failed],.performance-bar-chip--take[data-status=interrupted]{color:var(--status-red)}.performance-bar-chip--voice[data-readiness=voice_unavailable],.performance-bar-chip--take[data-status=generating],.performance-bar-chip--take[data-status=quality_failed],.performance-bar-chip--take[data-status=source_changed],.performance-bar-chip--take[data-stale=true]{color:var(--status-amber)}.performance-bar-chip--take[data-active=true]{color:var(--status-green)}.performance-bar-menu-root{grid-area:menu;position:relative}.performance-bar-menu-trigger{flex:none}.performance-bar-menu{z-index:1050;width:min(280px,100vw - 16px);min-width:208px;max-height:calc(100dvh - 16px);padding:var(--space-1);border:1px solid var(--border-overlay);border-radius:var(--radius-interactive);background:var(--surface-overlay);box-shadow:var(--shadow-menu);position:fixed;overflow-y:auto}.performance-bar-menu-row{flex-direction:column;display:flex}.performance-bar-menu-item{align-items:center;gap:var(--space-2);width:100%;min-height:30px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-chip);font:inherit;font-size:var(--text-compact);color:var(--ink);text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease);background:0 0;border:none;display:flex}.performance-bar-menu-item:hover,.performance-bar-menu-item:focus-visible{background:var(--surface-hover)}.performance-bar-menu-item[aria-disabled=true]{color:var(--ink-disabled);cursor:default}.performance-bar-menu-item[aria-disabled=true]:hover{background:0 0}.performance-bar-menu-item--danger{color:var(--ink)}.performance-bar-menu-item--danger svg{color:var(--status-red)}.performance-bar-menu-reason{padding:0 var(--space-2) var(--space-1) calc(var(--space-2) + 20px);font-size:var(--text-data);line-height:var(--leading-compact);color:var(--ink-2)}.performance-bar-picker{z-index:1050;gap:var(--space-2);width:min(280px,100vw - 16px);min-width:232px;max-height:calc(100dvh - 16px);padding:var(--space-2);border:1px solid var(--border-overlay);border-radius:var(--radius-interactive);background:var(--surface-overlay);box-shadow:var(--shadow-menu);flex-direction:column;display:flex;position:fixed;overflow-y:auto}.performance-bar-picker-label{font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}@container storyboard-slot (width<=200px){.performance-bar-text{-webkit-line-clamp:1}.performance-bar-direction,.performance-bar-span{display:none}}.media-editor-tabs{gap:var(--space-2);border-bottom:1px solid var(--border);display:flex}.media-editor-tabs button{padding:var(--space-3);color:var(--ink-2);cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;flex:1}.media-editor-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.media-editor-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.storyboard-video-embedded{flex:1;width:100%;min-height:0;display:flex}.storyboard-video-embedded-content{flex-direction:column;width:100%;min-height:0;display:flex}.storyboard-video-embedded .storyboard-video-player{object-fit:contain;flex:1;min-height:0;max-height:100%}.video-editor-sound{align-items:center;gap:var(--space-2);font-size:var(--text-compact);display:flex}.pricing-page{max-width:1040px;color:var(--ink);margin:0 auto;padding:0 40px 48px}.pricing-page a{text-underline-offset:4px}.pricing-page a:focus-visible,.pricing-page select:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.pricing-nav{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:24px;padding:28px 0;display:flex}.pricing-brand{color:var(--ink);align-items:center;gap:12px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.pricing-brand img{width:32px;height:32px}.pricing-nav nav{gap:24px;display:flex}.pricing-intro{padding:64px 0 32px}.pricing-intro h1{letter-spacing:-.025em;text-wrap:balance;max-width:760px;margin:0 0 24px;font-size:clamp(32px,5vw,54px);line-height:1.12}.pricing-page p{max-width:72ch;margin:12px 0;font-size:16px;line-height:1.65}.pricing-page .pricing-note{color:var(--ink-2);font-size:14px}.pricing-page section{padding:32px 0}.pricing-page h2{text-wrap:balance;margin:0 0 16px;font-size:26px;line-height:1.25}.pricing-page h3{margin:36px 0 16px;font-size:21px}.pricing-section-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.pricing-tier{color:var(--ink-2);gap:8px;font-size:14px;display:grid}.pricing-tier select{background:var(--surface-control);min-width:140px;color:var(--ink);border:1px solid var(--border-control);font:inherit;border-radius:8px;padding:10px 12px}.pricing-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}.pricing-table th,.pricing-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:16px}.pricing-table thead{background:var(--surface-raised);color:var(--ink-2)}.pricing-table tbody th{font-weight:500}.pricing-table td span{color:var(--ink-2);margin-top:5px;font-size:13px;display:block}.pricing-table td:last-child,.pricing-table thead th:last-child{text-align:right;white-space:nowrap}.pricing-table tfoot{background:var(--surface-raised);font-size:20px;font-weight:600}.pricing-addons{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong)}.pricing-rates{margin:24px 0;font-size:15px;line-height:1.6}.pricing-rates>div{border-bottom:1px solid var(--rule);grid-template-columns:1fr 1.2fr;gap:24px;padding:14px 0;display:grid}.pricing-rates dt{font-weight:500}.pricing-rates dd{color:var(--ink-2);margin:0}.pricing-footer{border-top:1px solid var(--rule-strong);flex-wrap:wrap;align-items:center;gap:24px;padding-top:32px;display:flex}.pricing-footer p{flex-basis:100%;margin:0;font-size:22px}@media (width<=600px){.pricing-page{padding:0 18px 32px}.pricing-nav{flex-wrap:wrap;gap:16px}.pricing-nav nav{gap:18px;font-size:14px}.pricing-intro{padding-top:40px}.pricing-section-heading{flex-direction:column}.pricing-table th,.pricing-table td{padding:12px 6px;font-size:13px}.pricing-table th:first-child{width:24%}.pricing-table tfoot th,.pricing-table tfoot td{font-size:18px}.pricing-rates>div{grid-template-columns:1fr;gap:4px}}@media print{.pricing-page{--ink:#111;--ink-2:#333;--surface-raised:#eee;--rule:#ccc;--rule-strong:#aaa;max-width:none;padding:0}.pricing-nav nav,.pricing-footer{display:none}.pricing-table tr,.pricing-rates>div{break-inside:avoid}}
