@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:#0b0e12;--surface-canvas:#12171c;--surface-raised:#1a2129;--surface-control:#212a33;--surface-overlay:#2b3641;--surface-hover:#35424e;--surface-selected:#3f4e5c;--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:#2b9fb6;--on-accent:#06171c;--accent-hover:#35b0c8;--accent-active:#248a9e;--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:#162d35;--tag-character:#76b8c4;--tag-character-surface:#183039;--tag-character-border:#36636b;--tag-character-hover:#21414b;--tag-character-selected:#2a515a;--tag-setting:#86b994;--tag-setting-surface:#1d3028;--tag-setting-border:#416a51;--tag-setting-hover:#294234;--tag-setting-selected:#33513f;--tag-prop:#d0a96b;--tag-prop-surface:#342a1d;--tag-prop-border:#725a34;--tag-prop-hover:#463823;--tag-prop-selected:#58472a;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-title:20px;--text-section:15px;--text-body:14px;--text-compact:13px;--text-data:12px;--text-label:11px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--track-title:-.015em;--track-section:-.005em;--track-caps:.09em;--leading-title:1.2;--leading-section:1.3;--leading-body:1.5;--leading-compact:1.35;--leading-data:1.3;--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:30px;--menu-item-h:30px;--row-h:48px;--thumb-w:80px;--thumb-h:45px;--pad-workspace:24px;--gap-region:32px;--radius-interactive:4px;--radius-overlay:6px;--radius-frame:0;--shadow-menu:0 16px 40px #000000bf;--shadow-modal:0 32px 80px #000c;--scrim:#000000a8;--motion-fast:.12s;--motion:.15s;--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-interactive);--radius-md:var(--radius-interactive);--radius-lg:var(--radius-overlay);--radius-xl:var(--radius-overlay);--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-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);line-height:var(--leading-title);text-transform:uppercase;color:var(--ink-2)}.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}}.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) 0;flex-direction:column;flex:1;display:flex}.global-rail-bottom{padding:var(--space-3) 0 var(--space-2);border-top:1px solid var(--rule);flex-direction:column;display:flex}.global-rail-item{width:100%;height:var(--space-7);border-radius:var(--radius-frame);color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex}.global-rail-item:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.global-rail-item.active{background:var(--surface-selected);box-shadow:inset 2px 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;border-bottom:1px solid var(--rule);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{border-bottom:1px solid var(--rule);margin-bottom:var(--space-5)}.ph-root--sticky{z-index:100;background:var(--surface-canvas);position:sticky;top:0}.ph-root:has(.ph-toolbar){border-bottom:none;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(--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}.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-2);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(--surface-selected);box-shadow:inset 2px 0 0 var(--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;border-bottom:1px solid var(--rule);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) 0;gap:var(--space-4);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.nav-section{flex-direction:column;display:flex}.nav-section-title{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);padding:0 var(--pad-workspace) var(--space-2)}.nav-item{align-items:center;gap:var(--space-2);height:var(--menu-item-h);padding:0 var(--pad-workspace);border-radius:var(--radius-frame);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);text-decoration:none;display:flex}.nav-item svg{flex-shrink:0}.nav-item:hover{background:var(--surface-hover);color:var(--ink)}.nav-item.active{background:var(--surface-selected);box-shadow:inset 2px 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}.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-3);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{padding:0 var(--space-2);gap:var(--space-1)}.btn-large{padding:0 var(--space-5)}.btn-block{width:100%}.btn-icon{width:var(--control-h);padding:0}.btn-primary{background:var(--accent-grad);border-color:var(--accent);color:var(--on-accent);transition:border-color var(--motion) var(--ease), color var(--motion) var(--ease)}.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)}.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-2) var(--space-3);line-height:var(--leading-body);resize:vertical}.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-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: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-3);margin:var(--space-4) 0;color:var(--ink-2);font-size:var(--text-compact);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-3);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:20px;padding:0 var(--space-2);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;border-radius:3px;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-3);grid-template-columns:repeat(auto-fill,minmax(160px,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-frame);width:100%;display:block}.reference-caption{align-items:center;gap:var(--space-1);min-width:0;margin-top:var(--space-1);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-1);aspect-ratio:16/9;border-radius:var(--radius-interactive);background:var(--surface-control);width:100%;color:var(--ink-2);font-family:var(--font-ui);font-size:var(--text-compact);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{gap:var(--gap-region);margin-bottom:var(--space-5);flex-direction:column;display:flex}.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)}.premise-wrapper{gap:var(--space-2);flex-direction:column;display:flex}.premise-actions{gap:var(--space-2);display:flex}.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-4);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-3);border-bottom:1px solid var(--rule);display:flex}.screenplay-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.screenplay-title{margin-right:var(--space-1);font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--track-section);line-height:var(--leading-section);color:var(--ink)}.screenplay-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);white-space:nowrap;border-radius:3px;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{gap:var(--space-2);display:flex}.btn-ghost.btn-danger{border-color:var(--tint-red-border);color:var(--status-red)}.btn-ghost.btn-danger:hover:not(:disabled){background:var(--tint-red);border-color:var(--status-red);color:var(--status-red-hover)}.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}.mode-toggle-sm{height:24px;padding:0 var(--space-2);font-size:var(--text-label);letter-spacing:var(--track-caps);text-transform:uppercase}.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);border-bottom:1px solid var(--rule);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-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-surface:var(--tag-character-surface);--tag-border:var(--tag-character-border);--tag-hover:var(--tag-character-hover);--tag-selected:var(--tag-character-selected)}.script-tag-row--setting,.script-tag--setting,.tag-chip--setting{--tag-color:var(--tag-setting);--tag-surface:var(--tag-setting-surface);--tag-border:var(--tag-setting-border);--tag-hover:var(--tag-setting-hover);--tag-selected:var(--tag-setting-selected)}.script-tag-row--prop,.script-tag--prop,.tag-chip--prop{--tag-color:var(--tag-prop);--tag-surface:var(--tag-prop-surface);--tag-border:var(--tag-prop-border);--tag-hover:var(--tag-prop-hover);--tag-selected:var(--tag-prop-selected)}.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:20px;padding:0 var(--space-1);border:1px solid var(--tag-border);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);border-radius:3px;line-height:1;display:inline-flex}.script-tag:hover,.script-tag:focus-within{border-color:var(--tag-color);background:var(--tag-hover)}.script-tag:active{border-color:var(--tag-color);background:var(--tag-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-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}.char-workspace{height:calc(100vh - 60px);margin:calc(var(--space-5) * -1);display:flex;overflow:hidden}.char-list-panel{background:var(--surface-raised);border-right:1px solid var(--rule);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.char-list-scroll{flex:1;overflow-y:auto}.char-detail-panel{padding:var(--space-5);flex:1;overflow-y:auto}.char-detail-body{gap:var(--space-5);grid-template-columns:minmax(240px,42%) 1fr;align-items:start;display:grid}.char-detail-left{position:sticky;top:0}.char-detail-right{min-width:0}.char-list-controls{gap:var(--space-2);padding:var(--space-3);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-1);display:flex}.char-list-control-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)}.char-import-msg{align-items:center;gap:var(--space-1);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--status-green);margin:0;display:flex}.char-new-input-row{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);background:var(--surface-control);display:flex}.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-frame);flex-shrink:0;width:40px;height:40px}.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-compact);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-compact);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-detail-header{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.char-detail-name-row{gap:var(--space-2);flex-direction:column;flex:1;min-width:180px;display:flex}.char-detail-name-input{width:100%;padding:var(--space-1) 0;font-family:var(--font-ui);font-size:var(--text-section);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:1px solid #0000}.char-detail-name-input:hover{border-bottom-color:var(--rule-strong)}.char-detail-name-input:focus{border-bottom-color:var(--border-control)}.char-detail-identity{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.char-detail-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.char-visual-style-row{align-items:center;gap: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-wrap:wrap;display:flex}.char-sheet-area{border:1px solid var(--rule-strong);border-radius:var(--radius-frame);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(--border-control)}.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-2);height:160px;padding:var(--space-4);text-align:center;font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink);flex-direction:column;display:flex}.char-sheet-ph-hint{color:var(--ink-2)}.char-placeholder-icon{color:var(--border-control)}.char-sheet-open-concept{width:100%;margin-top:var(--space-1)}.char-ref-section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule)}.char-ref-label{align-items:center;gap:var(--space-1);margin-bottom: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}.char-ref-label-text{margin-right:auto}.char-ref-action{padding:0 var(--space-2)}.char-ref-empty{align-items:center;gap:var(--space-1);width:100%;padding:var(--space-2) 0;text-align:left;font-family:var(--font-ui);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);cursor:pointer;transition:color var(--motion) var(--ease);background:0 0;border:none;display:flex}.char-ref-empty:hover{color:var(--ink)}.char-ref-thumbs{gap:var(--space-1);flex-wrap:wrap;display:flex}.char-ref-thumb{flex-shrink:0;width:54px;height:54px;position:relative}.char-ref-thumb img{object-fit:cover;border-radius:var(--radius-frame);width:100%;height:100%}.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-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)}.field-drives{margin-left:var(--space-2);color:var(--accent);letter-spacing:var(--track-caps)}.field-drives--off{color:var(--ink-3)}.char-detail-save-bar{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);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)}.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,.char-detail-actions{align-items:stretch}.char-detail-actions{width:100%}.char-detail-right>.tabs{gap:var(--space-3)}}.storyboard-toolbar{align-items:center;gap:var(--space-3);display:flex}.storyboard-toolbar-modes{align-items:center;gap:var(--space-1);display:flex}.storyboard-tool-btn{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-compact);font-weight:var(--weight-medium);line-height:var(--leading-compact);color:var(--ink-2);border-radius:var(--radius-control);cursor:pointer;transition:color var(--motion) var(--ease), background-color var(--motion) var(--ease);background:0 0;border:none;display:inline-flex}.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(--on-accent);background:var(--accent)}.storyboard-tool-btn--active:hover{background:var(--accent-hover)}.storyboard-tool-btn:disabled{color:var(--ink-disabled);cursor:default}.storyboard-tool-panel{padding:var(--space-3) 0;border-bottom:1px solid var(--rule);margin-bottom:var(--space-4)}.storyboard-tool-panel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.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,.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:44px;padding:var(--space-2) var(--space-4);color:var(--ink-2);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease, border-color var(--dur-fast) ease;background:0 0;display:inline-flex}.storyboard-style-tab:hover:not(:disabled),.storyboard-style-tab.active{color:var(--ink);background:var(--wash);border-color:var(--ink-3)}.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);border-color:var(--ink-3)}.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(--rule);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-pad:6px;--gutter:var(--space-2);--frame-ratio:16 / 9;column-gap:var(--space-4);row-gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.storyboard-slot{min-width:0;position:relative}.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-overlay);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)}.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-frame);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;pointer-events:none;padding:3px 6px;line-height:1;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-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,.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{bottom:var(--space-1);left:var(--space-1);position:absolute}.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-compact);font-weight:var(--weight-regular);line-height:var(--leading-compact);color:var(--ink-2);-webkit-line-clamp:2;-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){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-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-overlay);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-overlay);background:var(--surface-raised);padding:6px}.storyboard-blank-frame{width:var(--thumb-w);height:var(--thumb-h);border-radius:var(--radius-frame);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-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-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}.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-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{flex:1;min-height:0;position:relative}.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}.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}.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(150px,1fr))}}.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-hover)}.tag-chip:active{border-color:var(--tag-color);background:var(--tag-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-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{grid-template-columns:260px 1fr;height:100%;display:grid;overflow:hidden}.entity-list-panel{background:var(--surface-raised);border-right:1px solid var(--rule);flex-direction:column;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-4);padding:var(--space-5);flex-direction:column;display:flex;overflow:hidden}.entity-detail-empty{padding:var(--space-7);font-size:var(--text-compact);line-height:var(--leading-compact);color:var(--ink-2);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-section);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{gap:var(--space-5);flex:1;grid-template-columns:minmax(220px,38%) 1fr;display:grid;overflow:hidden}.entity-detail-left{gap:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.entity-detail-right{flex-direction:column;display:flex;overflow-y:auto}.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);flex-direction:column;display:flex}.entity-ref-primary-empty p{margin:0}.entity-placeholder-icon{color:var(--border-control)}.entity-image-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.entity-open-concept{width:100%;margin-top:var(--space-2)}.entity-ref-grid{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--rule);flex-direction:column;display:flex}.entity-ref-grid-label{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}.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-select{border-radius:var(--radius-frame);cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.entity-ref-thumb.approved{border-color:var(--status-green);outline:2px solid var(--status-green);outline-offset:2px}.entity-ref-thumb img{object-fit:cover;width:100%;height:100%;display:block}.entity-ref-thumb-approved{right:var(--space-1);bottom:var(--space-1);background:var(--surface-canvas);color:var(--status-green);border-radius:3px;padding:2px;display:flex;position:absolute}.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{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{grid-template-rows:minmax(160px,34%) 1fr;grid-template-columns:1fr}.entity-list-panel{border-right:none;border-bottom:1px solid var(--rule)}.entity-detail-body{grid-template-columns:1fr;overflow-y:auto}}.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}.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{grid-template-columns:280px 1fr 200px;height:100%;display:grid;overflow:hidden}@media (width<=1100px){.concept-layout{grid-template-columns:240px 1fr}.concept-rail{border-left:none;border-top:1px solid var(--rule);grid-area:2/1}}.concept-controls{gap:var(--space-4);padding:var(--space-5) var(--space-4);border-right:1px solid var(--rule);flex-direction:column;display:flex;overflow-y:auto}.concept-controls-header{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);display:flex}.concept-model-badge{font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--ink-3);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-label);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);line-height:var(--leading-title);color:var(--ink-2)}.concept-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:80px;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:24px;padding:var(--space-1) var(--space-2);font-size:var(--text-compact);background:var(--surface-control);border:1px solid var(--border-control);border-radius:var(--radius-interactive);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(--surface-selected);border-color:var(--accent);color:var(--ink)}.concept-ref-tray{gap:var(--space-1);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.concept-ref-thumb{border-radius:var(--radius-frame);background:var(--surface-well);width:56px;height:56px;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-5);background:var(--surface-well);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.concept-canvas-loading{align-items:center;gap:var(--space-3);color:var(--ink-2);font-size:var(--text-body);line-height:var(--leading-body);flex-direction:column;display:flex}.concept-canvas-empty{align-items:center;gap:var(--space-3);color:var(--ink-2);font-size:var(--text-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-5);gap:var(--space-2);background:var(--surface-overlay);border:1px solid var(--rule-strong);border-radius:var(--radius-overlay);padding:var(--space-1) var(--space-2);box-shadow:var(--shadow-menu);flex-wrap:nowrap;display:flex;position:absolute}.concept-rail{gap:var(--space-2);padding:var(--space-5) var(--space-3);border-left:1px solid var(--rule);flex-direction:column;display:flex;overflow-y:auto}.concept-rail-label{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);margin:0}.concept-rail-hint{font-size:var(--text-compact);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-frame);transition:border-color var(--motion) var(--ease);border:1px 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-frame);width:100%;transition:border-color var(--motion) var(--ease);border:none;padding:0;display:block}.concept-version-thumb img{object-fit:cover;width:100%;height:100%;display:block}.concept-version-meta{gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--surface-raised);flex-direction:column;display:flex}.concept-version-label{font-size:var(--text-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}}
