@import "https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600&family=Noto+Sans+KR:wght@400;500;600&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.728rem;--text-3xl:2.074rem;--text-display-s:1.44rem;--text-display:1.728rem;--text-section:1.2rem;--text-title:1rem;--text-lead:1rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--color-error:oklch(72% .15 27);--color-success:oklch(76% .13 150);--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(12.5% .008 55);--color-paper-2:oklch(16% .009 55);--color-paper-3:oklch(20.5% .01 55);--color-ink:oklch(92% .012 78);--color-ink-2:oklch(80% .012 75);--color-muted:oklch(64% .012 65);--color-rule:oklch(29% .01 55);--color-accent:oklch(73% .15 58);--color-accent-deep:oklch(50% .11 52);--color-accent-ink:oklch(12.5% .008 55);--color-focus:oklch(73% .15 58);--font-display:"Sofia Sans Extra Condensed", ui-sans-serif, sans-serif;--font-body:"Barlow", ui-sans-serif, sans-serif;--font-outlier:var(--font-body);--radius-card:0;--radius-pill:0;--rule-hair:1px;--shadow-card:none;--tracking-display:-.005em;--display-weight:200;--grain:.07}*,:before,:after{box-sizing:border-box}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:color-mix(in oklab, var(--color-accent) 35%, transparent)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg, var(--color-paper-2,var(--color-paper)), var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (width<=60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (width<=40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]>img{filter:grayscale()contrast(1.18)brightness(.97)}:root{--font-body:"Barlow","Noto Sans KR",ui-sans-serif,sans-serif;--font-display:var(--font-body);--display-weight:500;--tracking-display:0;--color-paper:oklch(14% .008 55);--color-paper-2:oklch(18% .009 55);--color-paper-3:oklch(23% .01 55);--color-ink:oklch(93% .012 78);--color-ink-2:oklch(82% .012 75);--color-muted:oklch(69% .012 65);--color-rule:oklch(31% .01 55);--color-field-edge:oklch(58% .012 65);--color-accent:oklch(78% .14 70);--color-accent-ink:oklch(16% .01 55);--color-accent-deep:oklch(72% .13 70);--color-focus:oklch(82% .15 70);--color-selected:oklch(25% .025 70);--color-overlay:oklch(8% .008 55/.88);--color-frame:oklch(11% .005 55);--color-transparent:transparent;--container:1568px;--gutter:32px;--gap-columns:var(--space-lg);--space-panel:32px;--space-inset:20px;--space-heading:28px;--radius-control:4px;--radius-panel:4px}html,body{overflow-x:clip}body{font-size:var(--text-md)}button,.button{justify-content:center;align-items:center;gap:var(--space-xs);min-height:40px;padding:var(--space-xs) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-3);color:var(--color-ink);font-family:var(--font-body);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-micro),border-color var(--dur-micro);font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}button:after,.button:after{content:"";pointer-events:none;position:absolute;inset:-2px 0}button:hover,.button:hover{background:var(--color-paper-2);border-color:var(--color-field-edge)}button:active,.button:active{background:var(--color-selected)}button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:auto}button[aria-busy=true]{cursor:progress}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:-3px}input::placeholder,textarea::placeholder{color:var(--color-muted)}.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.primary:hover,.primary:active{background:var(--color-accent-deep);border-color:var(--color-accent-deep)}.quiet,.icon-button{border-color:var(--color-transparent);background:var(--color-transparent);padding:var(--space-xs);min-width:40px}.small{min-height:36px;padding:var(--space-xs) var(--space-sm);font-size:12px}.subtle,.help{color:var(--color-muted);font-size:14px;line-height:1.7}.help{min-height:1lh}.row{align-items:center;gap:var(--space-sm);display:flex}.between{justify-content:space-between}h1,h2,h3{font-family:var(--font-body);overflow-wrap:break-word;letter-spacing:0;text-wrap:balance;min-width:0;font-weight:500}h1{max-width:none;font-size:28px;line-height:1.35}h2{max-width:none;font-size:22px;line-height:1.4}h3{gap:var(--space-xs);align-items:center;max-width:none;font-size:16px;line-height:1.5;display:flex}p{line-height:1.7}.app-shell{min-height:100dvh;max-width:var(--container);background:var(--color-paper);margin-inline:auto;display:flex}.sidebar{border-right:1px solid var(--color-rule);background:var(--color-paper-2);width:216px;padding:var(--space-panel) var(--space-md) var(--space-lg);flex-direction:column;flex-shrink:0;align-self:flex-start;height:100dvh;min-height:100dvh;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-xs);margin:0 var(--space-sm) var(--space-xl);color:var(--color-ink);font-size:25px;font-weight:600;line-height:1.2;text-decoration:none;display:flex}.brand-dot{color:var(--color-ink)}.project-switch{background:var(--color-paper-3);padding:var(--space-sm);justify-content:flex-start;gap:var(--space-sm);width:100%;margin-bottom:var(--space-heading);text-align:left;white-space:normal}.project-switch>span{flex:1;min-width:0}.project-switch strong{overflow-wrap:anywhere;font-size:14px;font-weight:500;display:block}.project-switch small{color:var(--color-muted);margin-top:var(--space-2xs);font-size:12px;display:block}.project-switch>svg:last-child{flex-shrink:0;margin-left:auto}nav{gap:var(--space-2xs);flex-direction:column;display:flex}.nav-item{border-color:var(--color-transparent);background:var(--color-transparent);padding:var(--space-sm);min-height:44px;color:var(--color-muted);justify-content:flex-start;font-weight:400}.nav-item.active{background:var(--color-selected);color:var(--color-accent);border-left-color:var(--color-accent)}.nav-count{font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.sidebar-note{padding:var(--space-panel) var(--space-sm);color:var(--color-muted);margin-top:auto}.sidebar-note>svg{display:none}.sidebar-note strong{color:var(--color-ink-2);font-size:14px;font-weight:500}.sidebar-note p{margin-top:var(--space-xs);font-size:12px;line-height:1.9}.sidebar-note button{background:var(--color-transparent);padding:var(--space-xs) 0;color:var(--color-ink-2);border:0;justify-content:flex-start;font-size:12px}.sidebar-bottom{border-top:1px solid var(--color-rule);padding-top:var(--space-md);align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:12px;display:flex}.sidebar-bottom button{margin-left:auto}.workspace{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--color-rule);height:72px;padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.breadcrumb{align-items:center;gap:var(--space-sm);color:var(--color-muted);min-width:0;font-size:14px;display:flex}.breadcrumb strong{color:var(--color-ink-2);overflow-wrap:anywhere;font-weight:400}.save-state{align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:12px;display:flex}.workspace main{padding:var(--space-panel) var(--gutter) var(--space-xl);min-height:calc(100dvh - 130px)}.page-heading{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-heading);display:flex}.page-heading p{color:var(--color-muted);margin-top:var(--space-xs);font-size:14px}.heading-actions{align-items:center;gap:var(--space-xs);display:flex}.project-banner{align-items:center;gap:var(--space-panel);padding:var(--space-lg) 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);display:flex}.banner-body{flex:1;min-width:0}.banner-body h2{margin-bottom:var(--space-xs);font-size:22px}.banner-body p{color:var(--color-ink-2);max-width:60ch;font-size:14px}.project-facts{align-items:center;gap:var(--space-md);color:var(--color-muted);margin-bottom:var(--space-xs);font-size:12px;display:flex}.project-facts span+span{padding-left:var(--space-md);border-left:1px solid var(--color-rule)}.text-button{background:var(--color-transparent);color:var(--color-ink-2);padding:var(--space-xs) 0;border:0;min-height:36px;font-size:12px}.text-button:hover{background:var(--color-transparent);color:var(--color-accent)}.banner-stats{align-items:center;gap:var(--space-lg);padding-left:var(--space-lg);border-left:1px solid var(--color-rule);display:flex}.banner-stats div{gap:var(--space-xs);flex-direction:column;align-items:flex-start;display:flex}.banner-stats b{font-variant-numeric:tabular-nums;font-size:28px;font-weight:400}.banner-stats span{color:var(--color-muted);white-space:nowrap;font-size:12px}.cast-strip{align-items:center;gap:var(--space-lg);border-bottom:1px solid var(--color-rule);padding:var(--space-md) 0;color:var(--color-muted);font-size:12px;display:flex}.cast-strip>span{white-space:nowrap}.cast-strip>div{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.cast-strip button{min-height:36px;padding:var(--space-xs) var(--space-sm);background:var(--color-paper-2);font-size:12px}.cast-strip button span{color:var(--color-muted);text-overflow:ellipsis;max-width:100px;font-size:12px;font-weight:400;overflow:hidden}.cast-strip button img{object-fit:cover;width:24px;height:24px}.cast-strip .text-button{background:var(--color-transparent);padding:var(--space-xs)}.workflow{align-items:center;gap:var(--space-md);color:var(--color-muted);padding:var(--space-inset) 0 0;flex-wrap:wrap;font-size:12px;display:flex}.workflow>div{align-items:center;gap:var(--space-xs);display:flex}.workflow>div>svg{margin-left:var(--space-xs)}.workflow-label{color:var(--color-ink-2);margin-right:var(--space-xs)}.step{font-variant-numeric:tabular-nums}.board-toolbar{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-heading) 0 var(--space-inset);display:flex}.tabs{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.tabs button{border:0;border-bottom:2px solid var(--color-transparent);background:var(--color-transparent);padding:var(--space-xs) 0;color:var(--color-muted);border-radius:0;font-size:14px;font-weight:400}.tabs button.selected{border-bottom-color:var(--color-accent);color:var(--color-ink)}.tabs button span{color:var(--color-muted);font-size:12px}.search,.search-field input{border:1px solid var(--color-field-edge);background:var(--color-paper-2);color:var(--color-ink);border-radius:var(--radius-control);min-height:40px;padding:var(--space-xs) var(--space-sm);width:240px;font-size:14px}.shot-grid{gap:var(--gap-columns);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.shot-card{color:var(--color-ink);background:var(--color-paper-2);border-radius:var(--radius-panel);border:0;overflow:hidden}.shot-preview{aspect-ratio:16/9;border:0;border-bottom:1px solid var(--color-rule);background:var(--color-frame);border-radius:0;width:100%;height:auto;padding:0;display:block;position:relative;overflow:hidden}.shot-preview:hover{background:var(--color-paper-3)}.shot-preview>img{object-fit:contain;width:100%;height:100%;display:block}.frame-empty{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-inset);width:100%;height:100%;color:var(--color-muted);background:var(--color-frame);flex-direction:column;font-size:12px;display:flex}.frame-empty strong{color:var(--color-ink-2);font-size:16px;font-weight:500}.frame-empty small{font-size:12px}.frame-empty>span{white-space:normal;font-size:12px}.shot-index,.duration,.approval-label{align-items:center;gap:var(--space-2xs);background:var(--color-paper-2);color:var(--color-ink-2);padding:var(--space-2xs) var(--space-xs);font-variant-numeric:tabular-nums;border-radius:2px;font-size:12px;display:flex;position:absolute}.shot-index{top:12px;left:12px}.duration{bottom:12px;right:12px}.approval-label{color:var(--color-accent);top:12px;right:12px}.shot-body{padding:var(--space-sm) var(--space-inset) 0}.scene-label{color:var(--color-muted);font-size:12px}.card-title{white-space:normal;background:var(--color-transparent);text-align:left;border:0;justify-content:flex-start;min-height:40px;padding:0;font-size:18px;font-weight:500;line-height:1.5}.card-title:hover{background:var(--color-transparent);color:var(--color-accent)}.shot-body>p{color:var(--color-ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:72px;font-size:14px;display:-webkit-box;overflow:hidden}.shot-meta{align-items:center;gap:var(--space-sm);margin:var(--space-md) 0;flex-wrap:wrap;display:flex}.shot-meta span{align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-size:12px;display:flex}.shot-footer{border-top:1px solid var(--color-rule);justify-content:space-between;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 0;display:flex}.tag{align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-size:12px;line-height:1.5;display:inline-flex}.tag.good{color:var(--color-accent)}.add-shot{border:1px dashed var(--color-field-edge);border-radius:var(--radius-panel);background:var(--color-transparent);gap:var(--space-sm);min-height:180px;padding:var(--space-lg);color:var(--color-muted);flex-direction:column;display:flex}.add-shot>span{justify-content:center;align-items:center;display:flex}.add-shot strong{color:var(--color-ink-2);font-size:14px;font-weight:500}.add-shot small{font-size:12px}.bottom-tip{align-items:center;gap:var(--space-sm);padding-top:var(--space-lg);color:var(--color-muted);font-size:12px;display:flex}.bottom-tip>svg{flex-shrink:0}.workspace footer{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-inset) var(--gutter);border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:12px;display:flex}.library-intro{align-items:center;gap:var(--space-sm);color:var(--color-ink-2);border-top:1px solid var(--color-rule);padding:var(--space-inset) 0;font-size:14px;line-height:1.8;display:flex}.library-intro>svg{flex-shrink:0}.library-toolbar{align-items:flex-end;gap:var(--space-lg);margin:0 0 var(--space-heading);display:flex}.library-toolbar .field{min-width:180px;margin:0}.search-field{gap:var(--space-xs);color:var(--color-ink-2);flex-direction:column;font-size:14px;display:flex}.search-field input{width:280px}.asset-grid{gap:var(--gap-columns);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.asset-card{color:var(--color-ink);background:var(--color-paper-2);border-radius:var(--radius-panel);grid-template-columns:140px minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.asset-cover{background:var(--color-frame);gap:var(--space-md);width:100%;height:100%;min-height:280px;color:var(--color-muted);white-space:normal;border:0;border-radius:0;flex-direction:column;padding:0;font-size:12px;display:flex}.asset-cover img{object-fit:contain;width:100%;height:100%}.asset-body{padding:var(--space-lg);flex-direction:column;align-items:stretch;min-width:0;display:flex}.asset-body h2{font-size:22px}.asset-universe{color:var(--color-muted);overflow-wrap:anywhere;font-size:12px}.asset-body p{color:var(--color-ink-2);margin:var(--space-sm) 0 var(--space-inset);flex:1;font-size:14px;line-height:1.8}.asset-details{gap:var(--space-sm);color:var(--color-muted);padding:var(--space-sm) 0;border-top:1px solid var(--color-rule);flex-wrap:wrap;font-size:12px;display:flex}.asset-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.asset-actions button{padding:var(--space-xs) var(--space-sm);font-size:12px}.large-empty{padding:var(--space-2xl) var(--space-lg);text-align:center;justify-content:center;align-items:center;gap:var(--space-inset);color:var(--color-muted);flex-direction:column;min-height:320px;display:flex}.large-empty h2{color:var(--color-ink-2);font-size:22px}.large-empty p{font-size:16px}.render-list section{margin-bottom:var(--space-panel)}.candidate-grid{gap:var(--gap-columns);margin-top:var(--space-inset);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.overlay{z-index:var(--z-modal);padding:var(--space-lg);background:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-panel);width:620px;max-width:100%;max-height:92dvh;padding:var(--space-panel);overflow:auto}.modal>.help{margin-top:var(--space-sm)}.modal h2{font-size:22px}.field{gap:var(--space-xs);margin:var(--space-inset) 0;color:var(--color-ink-2);flex-direction:column;font-size:14px;display:flex}.field>span{font-weight:400}.field input,.field textarea,.field select{border:1px solid var(--color-field-edge);border-radius:var(--radius-control);background:var(--color-paper);width:100%;min-height:40px;padding:var(--space-xs) var(--space-sm);color:var(--color-ink);font-family:var(--font-body);font-size:14px;line-height:1.7}.field input:hover,.field textarea:hover,.field select:hover{background:var(--color-paper-2)}.field input:disabled,.field textarea:disabled,.field select:disabled{opacity:.55;cursor:not-allowed}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-error)}.field textarea{resize:vertical;min-height:80px}.two-fields{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.two-fields .field{margin-top:var(--space-md);margin-bottom:var(--space-xs);min-width:0}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-sm);border-top:1px solid var(--color-rule);padding-top:var(--space-lg);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.danger{color:var(--color-error);background:var(--color-transparent);margin-right:auto}.asset-images{gap:var(--space-sm);display:flex}.asset-images>div,.upload-tile{width:calc(33.3333% - 8px);height:140px;position:relative;overflow:hidden}.asset-images>div>img{object-fit:contain;background:var(--color-frame);width:100%;height:100%}.upload-tile{border:1px dashed var(--color-field-edge);justify-content:center;align-items:center;gap:var(--space-sm);cursor:pointer;background:var(--color-paper);color:var(--color-muted);flex-direction:column;font-size:12px;display:flex}.remove-image{padding:var(--space-xs);background:var(--color-paper-3);min-height:36px;position:absolute;top:4px;right:4px}.connection-box{padding:var(--space-inset) 0;margin-top:var(--space-lg);border-top:1px solid var(--color-rule)}.connection-box strong{font-size:14px;font-weight:500}.connection-box p{color:var(--color-muted);margin:var(--space-sm) 0;font-size:14px}.info-box{color:var(--color-ink-2);background:var(--color-paper-3);padding:var(--space-md);margin-top:var(--space-inset);margin-bottom:var(--space-inset);font-size:14px;line-height:1.8}code{font-family:var(--font-body);background:var(--color-paper);padding:var(--space-2xs);overflow-wrap:anywhere;font-size:12px}.shot-dialog{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-panel);flex-direction:column;width:1440px;max-width:100%;height:92dvh;display:flex;overflow:hidden}.dialog-header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-inset);border-bottom:1px solid var(--color-rule);background:var(--color-paper-2);display:flex}.dialog-header h2{font-size:20px}.shot-editor{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.8fr);min-height:0;display:grid}.direction-panel,.preview-panel,.results-panel{padding:var(--space-lg);overflow:auto}.direction-panel,.preview-panel{border-right:1px solid var(--color-rule)}.editor-tabs{padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-rule);margin-bottom:var(--space-lg)}.cast-options{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.cast-options button{font-size:14px;font-weight:400}.cast-options .chosen{border-color:var(--color-accent);background:var(--color-selected);color:var(--color-accent)}.cast-options img{object-fit:cover;width:24px;height:24px}.main-frame{background:var(--color-frame);width:100%;height:340px;margin:var(--space-inset) 0;overflow:hidden}.main-frame img{object-fit:contain;width:100%;height:100%}.main-frame.landscape{aspect-ratio:16/9;height:auto}.image-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.image-actions>*{flex:1;min-width:140px}.image-actions button,.image-actions .button{padding:var(--space-xs) var(--space-sm);font-size:12px}.approve-box{align-items:center;gap:var(--space-sm);padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule);margin:var(--space-sm) 0 var(--space-lg);cursor:pointer;display:flex}.approve-box input{accent-color:var(--color-accent);flex-shrink:0;width:16px;height:16px}.approve-box strong{font-size:14px;font-weight:500;display:block}.approve-box small{color:var(--color-muted);margin-top:var(--space-2xs);font-size:12px;display:block}.approve-box>svg{color:var(--color-muted);flex-shrink:0;margin-left:auto}.video-launch{padding-top:var(--space-2xs)}.video-launch .field{width:100px;margin:var(--space-md) 0}.cost{text-align:right}.cost span{color:var(--color-muted);font-size:12px;display:block}.cost strong{margin-top:var(--space-xs);font-size:14px;font-weight:500;display:block}.generate-button{width:100%;margin:var(--space-2xs) 0 var(--space-sm);font-size:14px}.results-panel{color:var(--color-ink);background:var(--color-paper-2)}.results-panel>.help{margin-top:var(--space-md)}.result-empty{align-items:flex-start;gap:var(--space-md);color:var(--color-muted);flex-direction:column;padding:48px 0;font-size:14px;display:flex}.result-empty span{font-size:12px;line-height:1.8}.candidate{padding:var(--space-inset) 0;border-bottom:1px solid var(--color-rule)}.candidate>.row:first-child{margin-bottom:var(--space-sm);gap:var(--space-xs);font-size:12px}.candidate>.row:last-child{flex-wrap:wrap}.candidate img,.candidate video{object-fit:contain;background:var(--color-frame);width:100%;max-height:280px;margin-bottom:var(--space-sm)}.error{color:var(--color-error);overflow-wrap:anywhere;font-size:14px;line-height:1.8}.storage-error{padding:var(--space-md);border:1px solid var(--color-error);margin-bottom:var(--space-inset)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-paper-2);font-family:var(--font-body);color:var(--color-ink-2);padding:var(--space-md);margin:var(--space-md) 0 var(--space-lg);border-left:1px solid var(--color-rule);font-size:14px;line-height:1.9}.toast{z-index:var(--z-toast);align-items:center;gap:var(--space-sm);max-width:min(90%,680px);padding:var(--space-sm) var(--space-md);background:var(--color-paper-3);border:1px solid var(--color-field-edge);color:var(--color-ink);border-radius:var(--radius-control);font-size:14px;line-height:1.7;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast>svg{flex-shrink:0}.toast button{background:var(--color-transparent);padding:var(--space-xs);border:0;min-height:36px}.spin{animation:1s linear infinite rotate}.empty-note{padding:var(--space-lg) 0;color:var(--color-muted);font-size:14px}.project-list{margin-top:var(--space-lg)}.project-list>button{text-align:left;justify-content:flex-start;gap:var(--space-md);width:100%;margin-top:var(--space-xs);padding:var(--space-md);background:var(--color-paper);white-space:normal}.project-list>button>span:first-of-type{flex:1}.project-list strong{font-size:16px;font-weight:500;display:block}.project-list small{color:var(--color-muted);margin-top:var(--space-2xs);font-size:12px;display:block}.project-list>button>span:last-of-type{color:var(--color-muted);font-size:14px}.project-list>button.selected-project{border-color:var(--color-accent)}.project-create{margin-top:var(--space-heading);padding-top:var(--space-lg);border-top:1px solid var(--color-rule)}.project-create>.primary{width:100%}@keyframes rotate{to{transform:rotate(360deg)}}@media (width>=1600px){.shot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1200px){:root{--gutter:24px;--gap-columns:var(--space-inset)}.sidebar{width:192px;padding:var(--space-lg) var(--space-sm)}.shot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.shot-editor{grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto}.direction-panel,.preview-panel{overflow:visible}.results-panel{border-top:1px solid var(--color-rule);grid-column:1/-1;overflow:visible}.banner-stats{gap:var(--space-inset)}.page-heading,.board-toolbar,.tabs{gap:var(--space-md)}.search{width:220px}.asset-cover{min-height:240px}}@media (width<=960px){.app-shell{display:block}.sidebar{width:100%;height:auto;min-height:0;padding:var(--space-md) var(--gutter);border-right:0;border-bottom:1px solid var(--color-rule);gap:var(--space-md);grid-template-columns:auto minmax(0,1fr);display:grid;position:static}.brand{margin:0}.project-switch{width:auto;max-width:300px;min-height:44px;padding:var(--space-xs) var(--space-sm);justify-self:end;margin:0}.project-switch small{display:none}.sidebar nav{gap:var(--space-xs);flex-flow:wrap;grid-column:1/-1}.sidebar-note,.sidebar-bottom{display:none}.nav-item{min-height:44px;padding:var(--space-xs) var(--space-sm);font-size:14px}.nav-count{margin-left:var(--space-2xs)}.page-heading{margin-bottom:var(--space-lg)}.shot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow{gap:var(--space-sm)}.topbar{height:60px}.banner-stats{gap:var(--space-inset)}.project-banner{gap:var(--space-lg)}.save-state{font-size:12px}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){:root{--gutter:16px;--gap-columns:var(--space-md)}.sidebar{gap:var(--space-sm)}.brand{gap:var(--space-xs);font-size:22px}.brand>svg{width:24px}.project-switch>svg:last-child{display:none}.project-switch{max-width:190px}.nav-item{padding:var(--space-xs);gap:var(--space-xs);font-size:12px}.nav-item>svg{width:16px;height:16px}.nav-count{display:none}.sidebar nav{gap:var(--space-2xs);justify-content:space-between}.topbar{padding:0 var(--gutter);gap:var(--space-xs);height:56px}.breadcrumb{gap:var(--space-xs);font-size:12px}.breadcrumb>span,.breadcrumb>svg{display:none}.save-state{gap:var(--space-2xs);font-size:12px}.save-state>svg{display:none}.topbar>.row{gap:var(--space-2xs)}.workspace main{padding:var(--space-lg) var(--gutter) var(--space-panel)}.page-heading{align-items:flex-start;gap:var(--space-md);flex-direction:column}h1{font-size:24px}.page-heading p{font-size:14px}.heading-actions{justify-content:flex-end;width:100%}.project-banner{align-items:stretch;gap:var(--space-inset);padding:var(--space-inset) 0;flex-direction:column}.banner-body h2{font-size:22px}.banner-body p{font-size:14px}.banner-stats{border-left:0;border-top:1px solid var(--color-rule);padding:var(--space-md) 0 0;justify-content:flex-start;gap:var(--space-xl)}.banner-stats b{font-size:24px}.banner-stats div{gap:var(--space-2xs)}.cast-strip{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.cast-strip button span{max-width:80px}.workflow{gap:var(--space-xs);padding-top:var(--space-md);font-size:12px}.workflow-label{width:100%;margin-bottom:var(--space-2xs)}.workflow>div{gap:var(--space-2xs)}.workflow>div>svg{width:12px;margin-left:0}.board-toolbar{align-items:stretch;gap:var(--space-md);padding-top:var(--space-lg);flex-direction:column}.tabs{gap:var(--space-inset);flex-wrap:nowrap}.tabs button{font-size:12px}.search{width:100%}.shot-grid,.asset-grid,.candidate-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.shot-body>p{min-height:0}.shot-body{padding:var(--space-sm) var(--space-md) 0}.shot-meta{margin:var(--space-md) 0}.shot-preview{aspect-ratio:16/9}.add-shot{min-height:160px}.workspace footer{align-items:flex-start;gap:var(--space-xs);padding:var(--space-md) var(--gutter);flex-direction:column}.bottom-tip{align-items:flex-start;font-size:12px;line-height:1.8}.library-toolbar{align-items:stretch;gap:var(--space-md);flex-direction:column}.library-toolbar .search-field input{width:100%}.asset-card{grid-template-columns:96px minmax(0,1fr)}.asset-cover{min-height:260px}.asset-cover>span{padding:0 var(--space-xs)}.asset-body{padding:var(--space-md)}.asset-body>.row{align-items:flex-start;gap:var(--space-2xs);flex-direction:column}.asset-body h2{font-size:20px}.asset-body p{margin:var(--space-sm) 0;font-size:14px}.asset-actions{flex-direction:column}.asset-actions button{width:100%;font-size:12px}.asset-details{gap:var(--space-2xs);font-size:12px}.overlay{padding:var(--space-xs)}.modal{padding:var(--space-inset);max-height:96dvh}.modal-footer{gap:var(--space-xs)}.modal-footer button{padding:var(--space-xs) var(--space-sm);font-size:12px}.shot-dialog{height:96dvh}.dialog-header{padding:var(--space-sm);gap:var(--space-xs)}.dialog-header h2{font-size:18px}.dialog-header .tag{display:none}.dialog-header .row{gap:var(--space-2xs)}.shot-editor{display:block}.direction-panel,.preview-panel,.results-panel{padding:var(--space-inset);border-right:0}.direction-panel{border-bottom:1px solid var(--color-rule)}.main-frame{height:360px}.two-fields{gap:var(--space-sm)}.asset-images>div,.upload-tile{height:120px}.toast{width:max-content;max-width:94%;font-size:14px}.result-empty{padding:var(--space-panel) 0}.library-intro{align-items:flex-start}.cast-options button{font-size:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width>=961px){.workspace main{padding-top:var(--space-lg)}.page-heading{margin-bottom:var(--space-inset)}.page-heading p{margin-top:var(--space-2xs)}.project-banner{padding:var(--space-md) 0}.banner-body{gap:var(--space-xs) var(--space-md);grid-template-columns:minmax(0,1fr) auto;display:grid}.project-facts{grid-column:1/-1;margin-bottom:0}.banner-body h2{margin-bottom:0;font-size:20px}.banner-body p{grid-column:1/-1;max-width:none}.banner-body>.text-button{padding:var(--space-2xs) 0;grid-area:2/2;min-height:32px}.cast-strip{padding:var(--space-sm) 0}.workflow{padding-top:var(--space-sm)}.board-toolbar{padding:var(--space-inset) 0 var(--space-md)}}.cast-available{color:var(--color-accent);background:var(--color-transparent)}:root{--color-sheet-paper:#fff;--color-sheet-ink:#30302d}.character-editor{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-panel);flex-direction:column;width:1440px;max-width:100%;height:94dvh;display:flex;overflow:hidden}.character-editor .dialog-header{flex-shrink:0}.character-editor .dialog-header h2{font-size:20px}.character-editor .dialog-header .help{margin-top:var(--space-2xs);font-size:12px}.character-editor-body{flex:1;grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid}.character-form{padding:var(--space-lg);border-right:1px solid var(--color-rule);background:var(--color-paper-2);overflow:auto}.character-form>.help{margin-top:var(--space-xs);font-size:12px}.character-form .field{margin:var(--space-md) 0}.character-form>.danger{margin-top:var(--space-lg);font-size:12px}.character-form .info-box{font-size:12px}.character-workbench{padding:var(--space-lg);min-width:0;overflow:auto}.sheet-preview-heading{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.sheet-state{color:var(--color-muted);white-space:normal;font-size:12px}.sheet-state.complete{color:var(--color-accent)}.sheet-layout{gap:var(--space-2xs);background:var(--color-paper-3);height:260px;padding:var(--space-2xs);grid-template-columns:minmax(0,4fr) minmax(0,2fr) repeat(3,minmax(0,1.333fr));display:grid}.sheet-cell{background:var(--color-frame);justify-content:center;align-items:center;min-width:0;display:flex;overflow:hidden}.sheet-cell>img{object-fit:contain;width:100%;height:100%}.sheet-cell>div{align-items:center;gap:var(--space-xs);color:var(--color-muted);text-align:center;padding:var(--space-2xs);flex-direction:column;font-size:12px;display:flex}.sheet-cell.faceFront>div>svg{width:40px;height:40px}.composite-preview{object-fit:contain;background:var(--color-frame);width:100%;height:260px;display:block}.sheet-caption{margin-top:var(--space-sm);font-size:12px}.character-input-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-inset);margin-bottom:var(--space-inset);border-bottom:1px solid var(--color-rule);display:flex}.character-input-toolbar>.help{font-size:12px}.character-ai{padding-bottom:var(--space-inset);margin-bottom:var(--space-inset);border-bottom:1px solid var(--color-rule)}.character-ai>.field{margin-top:0;margin-bottom:var(--space-sm)}.character-ai .help{margin-bottom:var(--space-sm);font-size:12px}.wrap{flex-wrap:wrap}.required-images{gap:var(--space-md);grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;display:grid}.required-image{border-top:1px solid var(--color-rule);min-width:0;padding-top:var(--space-sm)}.required-image h3{font-size:14px}.required-label{color:var(--color-muted);font-size:12px}.required-image-preview{background:var(--color-frame);width:100%;height:180px;margin:var(--space-sm) 0;overflow:hidden}.required-image-preview>img{object-fit:contain;width:100%;height:100%}.image-placeholder{justify-content:center;align-items:center;gap:var(--space-xs);width:100%;height:100%;color:var(--color-muted);flex-direction:column;font-size:12px;display:flex}.image-spec{gap:var(--space-2xs);color:var(--color-muted);font-variant-numeric:tabular-nums;flex-direction:column;font-size:12px;display:flex}.required-image>.help{margin:var(--space-xs) 0;min-height:3.4em;font-size:12px}.required-image>.button,.required-image>button{width:100%;padding:var(--space-xs);margin-bottom:var(--space-xs);font-size:12px}.front-approval{align-items:flex-start;gap:var(--space-xs);margin-top:var(--space-2xs);color:var(--color-ink-2);font-size:12px;line-height:1.7;display:flex}.front-approval input,.sheet-final-check input{accent-color:var(--color-accent);flex-shrink:0}.image-source-actions{gap:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap}.image-source-actions .text-button{min-height:36px;font-size:12px}.role-job{align-items:center;gap:var(--space-xs);color:var(--color-ink-2);border-top:1px solid var(--color-rule);padding-top:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap;font-size:12px;display:flex}.role-job .text-button{margin-left:auto}.role-job-note{margin-top:var(--space-xs);overflow-wrap:anywhere}.role-job-note .error{font-size:12px}.role-job-note img{object-fit:contain;width:100%;height:160px;margin:var(--space-xs) 0}.role-job-note button{white-space:normal}.sheet-error{padding:var(--space-md) 0}.sheet-error>button{margin-left:var(--space-sm)}.sheet-final-check{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-rule)}.sheet-final-check>.help{margin:var(--space-xs) 0 var(--space-md);font-size:12px}.sheet-final-check>label{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);font-size:14px;line-height:1.8;display:flex}.sheet-final-check>.row>.help{font-size:12px}.character-editor-footer{padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--color-rule);justify-content:space-between;align-items:center;gap:var(--space-md);color:var(--color-muted);background:var(--color-paper-2);flex-shrink:0;font-size:12px;display:flex}.legacy-references{border-top:1px solid var(--color-rule);padding:var(--space-md) 0}.legacy-references summary{cursor:pointer;color:var(--color-ink-2);min-height:32px;font-size:14px}.legacy-references summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.legacy-references .help{margin:var(--space-xs) 0;font-size:12px}.legacy-references>div{margin-top:var(--space-sm)}.legacy-references img{object-fit:contain;background:var(--color-frame);width:100%;max-height:160px}.legacy-references select{background:var(--color-paper);width:100%;color:var(--color-ink);border:1px solid var(--color-field-edge);min-height:40px;margin-top:var(--space-xs);font-size:12px}.character-editor input:disabled{opacity:.55;cursor:not-allowed}.character-editor .image-upload{min-height:40px}.asset-details .sheet-state{font-size:12px}@media (width<=1200px){.character-editor-body{grid-template-columns:240px minmax(0,1fr)}.character-form,.character-workbench{padding:var(--space-inset)}.required-images{grid-template-columns:repeat(3,minmax(0,1fr))}.character-input-toolbar{align-items:flex-start;gap:var(--space-xs);padding-bottom:var(--space-sm);flex-direction:column}.required-image-preview{height:180px}}@media (width<=760px){.character-editor{height:96dvh}.character-editor-body{display:block;overflow:auto}.character-form{border-right:0;border-bottom:1px solid var(--color-rule);overflow:visible}.character-workbench{overflow:visible}.character-form,.character-workbench{padding:var(--space-md)}.character-editor>.dialog-header{padding:var(--space-sm);align-items:flex-start}.character-editor>.dialog-header>.row{gap:var(--space-2xs)}.character-editor>.dialog-header .sheet-state{max-width:112px;line-height:1.7}.character-editor .dialog-header h2{font-size:18px}.character-editor .dialog-header .help{font-size:12px}.sheet-layout,.composite-preview{height:220px}.sheet-cell>div>svg{width:16px;height:16px}.sheet-cell.faceFront>div>svg{width:24px;height:24px}.sheet-cell>div>span{overflow-wrap:anywhere;font-size:12px}.sheet-preview-heading{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.required-images{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}.required-image.faceFront{grid-column:1/-1}.required-image.faceFront .required-image-preview{height:260px}.required-image-preview{height:180px}.sheet-final-check>.row{flex-direction:column;align-items:flex-start}.sheet-final-check>.row>button{width:100%}.character-editor-footer{padding:var(--space-sm) var(--space-md);align-items:flex-start;gap:var(--space-xs);flex-direction:column}.character-editor-footer>button{width:100%}.character-editor .field input,.character-editor .field textarea{font-size:16px}}.character-form>summary{color:var(--color-ink);cursor:pointer;min-height:40px;font-size:16px;font-weight:500;line-height:1.8}.character-form>summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.composite-preview{aspect-ratio:3200/2048;height:auto}.character-form:not([open]){overflow:visible}@media (width<=760px){.character-form{padding:var(--space-sm) var(--space-md)}.character-form>summary{min-height:32px}.composite-preview{aspect-ratio:3200/2048;height:auto}}.required-image-preview{cursor:pointer;display:block}.required-image-preview:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.required-image-preview:hover{outline:1px solid var(--color-field-edge);outline-offset:-1px}.generator-selector{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-rule)}.generator-label{color:var(--color-ink-2);font-size:14px}.generator-options{gap:var(--space-sm);margin:var(--space-sm) 0;grid-template-columns:1fr 1fr;display:grid}.generator-options>button{text-align:left;justify-content:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);white-space:normal;min-height:64px}.generator-options>button>span{gap:var(--space-2xs);flex-direction:column;display:flex}.generator-options small{color:var(--color-muted);font-size:12px;font-weight:400}.generator-options .selected{border-color:var(--color-accent);background:var(--color-paper-3);color:var(--color-accent)}.local-connection-row{gap:var(--space-sm);margin:var(--space-sm) 0;align-items:flex-end;display:flex}.local-connection-row>.field{flex:1;min-width:0;margin:0}.local-connection-row>button{min-height:42px}.local-model-fields{gap:var(--space-sm);margin-bottom:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.local-model-fields>.field{min-width:0;margin:0}.local-model-fields>.field:first-child{grid-column:1/-1}.local-model-fields select{text-overflow:ellipsis;width:100%}.local-connection-status{color:var(--color-accent);overflow-wrap:anywhere;margin-bottom:var(--space-sm);font-size:12px}.local-setup{margin:var(--space-sm) 0;color:var(--color-ink-2);font-size:12px}.local-setup summary{cursor:pointer;min-height:32px}.local-setup ol{padding-left:var(--space-inset);line-height:1.8}.local-setup li{margin-bottom:var(--space-xs);overflow-wrap:anywhere}.local-setup a{color:var(--color-accent);text-decoration:underline}.local-setup code{overflow-wrap:anywhere;white-space:normal}.local-generator-settings .error{font-size:12px}.generator-selector button:disabled{cursor:not-allowed}@media (width<=760px){.local-connection-row{flex-direction:column;align-items:stretch}.local-model-fields{grid-template-columns:minmax(0,1fr)}.local-model-fields>.field:first-child{grid-column:auto}.generator-options>button{padding:var(--space-sm);gap:var(--space-xs)}.generator-options strong{font-size:14px}}.frame-prompt-settings{margin:var(--space-md) 0;font-size:14px}.frame-prompt-settings summary{cursor:pointer;min-height:40px;color:var(--color-ink-2);line-height:1.8}.frame-prompt-settings .field{margin:var(--space-sm) 0}.frame-prompt-settings textarea{resize:vertical;width:100%}.frame-prompt-settings summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.image-open{background:var(--color-transparent);cursor:zoom-in;border:0;border-radius:0;width:100%;min-height:0;padding:0;display:block}.image-open>img{max-width:100%;display:block}.image-open:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sheet-cell>.image-open{height:100%}.sheet-cell>.image-open>img{object-fit:contain;width:100%;height:100%}.main-frame>.image-open{height:100%}.main-frame>.image-open>img{object-fit:contain;width:100%;height:100%}.image-viewer-overlay{z-index:var(--z-tooltip);background:var(--color-overlay);padding:var(--space-md);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-viewer{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-panel);flex-direction:column;width:100%;height:96dvh;max-height:100%;display:flex;overflow:hidden}.image-viewer>header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--color-rule);flex-shrink:0;display:flex}.image-viewer h2{font-size:16px}.image-viewer .row{gap:var(--space-xs);flex-wrap:wrap}.image-viewer button,.image-viewer .button{min-height:40px}.image-zoom-value{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;color:var(--color-ink-2);font-size:12px}.image-viewer-viewport{background:var(--color-sheet-paper);flex:1;min-height:0;overflow:auto}.image-viewer-canvas{justify-content:center;align-items:center;min-width:100%;min-height:100%;display:flex}.image-viewer-canvas>img{object-fit:contain;flex-shrink:0;max-width:none;max-height:none;display:block}.image-viewer>footer{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-rule);color:var(--color-muted);flex-shrink:0;font-size:12px}.image-viewer:focus-visible{outline:2px solid var(--color-focus)}@media (width<=760px){.image-viewer-overlay{padding:var(--space-xs)}.image-viewer>header{padding:var(--space-sm);flex-direction:column;align-items:flex-start}.image-viewer h2{font-size:14px}.image-viewer .row{width:100%}.image-viewer .row>button:last-child{margin-left:auto}.image-viewer>footer{font-size:12px}}.required-image>.image-open{margin:var(--space-sm) 0;padding:0}.image-viewer-canvas>img{margin:0}.image-viewer-overlay{background:var(--color-overlay)}.required-image>.image-open{background:var(--color-sheet-paper)}.sheet-layout{grid-template-rows:1fr 1fr;grid-template-columns:4fr 3fr 3fr}.sheet-cell.faceFront{grid-area:1/1/3}.sheet-cell.faceSide{grid-area:1/2}.sheet-cell.bodyFront{grid-area:1/3}.sheet-cell.bodyBack{grid-area:2/2}.sheet-cell.bodySide{grid-area:2/3}.image-corrections{gap:8px;margin-top:10px;display:grid}.image-corrections summary{cursor:pointer;font-size:12px}.image-corrections form{gap:8px;margin-top:8px;display:grid}.image-corrections input{width:100%;min-width:0}.billing-status{border:1px solid var(--color-line,#39332b);background:var(--color-paper-2,#17130f);border-radius:4px;margin-bottom:24px;padding:16px 20px}.billing-status .help{margin:10px 0 0}.billing-metrics{flex-wrap:wrap;gap:12px 28px;margin-top:12px;font-size:13px;display:flex}.billing-metrics span{flex-direction:column;gap:4px;display:flex}.billing-metrics b{font-variant-numeric:tabular-nums;font-size:17px}.billing-admin{border-top:1px solid var(--color-line,#39332b);margin-top:18px;padding-top:18px}.billing-admin h2{font-size:18px}.billing-admin details,.billing-status>details{margin-top:16px}.billing-admin summary,.billing-status>details>summary{cursor:pointer}.billing-admin form{max-width:760px;margin-top:16px}.billing-admin form>button{margin:8px 8px 0 0}.billing-table-wrap{overflow-x:auto}.billing-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}.billing-table th,.billing-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-line,#39332b);overflow-wrap:anywhere;padding:10px 12px}.billing-table small{color:var(--color-ink-muted,#aaa097);margin-top:4px;display:block}.openai-key-form{margin-top:18px}.openai-key-form .field{margin-bottom:10px}.credit-popup{z-index:10000;color:#eee8dd;background:#1c1812;border:1px solid #aa7b34;border-radius:6px;width:calc(100vw - 48px);max-width:420px;padding:20px 22px;font-size:14px;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 48px #0009}.credit-popup strong{align-items:center;gap:8px;display:flex}.credit-popup p{margin:12px 0}.credit-popup small{color:#b7afa4;line-height:1.6;display:block}.sheet-generate-action{margin-top:18px}.api-connection{border-top:1px solid var(--color-line,#39332b);margin-top:24px;padding-top:22px}.api-connection p{font-size:13px;line-height:1.7}.style-picker{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;margin:18px 0 24px;display:grid}.style-picker-controls{min-width:0}.style-picker-controls .field:first-child{margin-top:0}.style-example{min-width:0;margin:0}.style-example-image{aspect-ratio:1;border:1px solid var(--color-line,#39332b);background-color:#e6ded1;background-repeat:no-repeat;border-radius:4px;width:100%;max-width:320px}.style-example figcaption{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:10px;font-size:13px;display:flex}.style-example figcaption span{color:#a79e92;font-size:11px}.style-example .help{max-width:320px;font-size:11px;line-height:1.6}.style-example-empty{color:#a79e92;text-align:center;background:#19150f;border:1px solid #39332b;padding:48px 16px;font-size:13px;line-height:1.8}@media (width<=680px){.style-picker{grid-template-columns:1fr;gap:12px}.style-example-image,.style-example{max-width:280px}}.character-library-filters{margin:24px 0}.catalog-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px 18px;display:grid}.catalog-filter-grid .field{min-width:0;margin:0}.catalog-filter-grid select,.catalog-filter-grid input{width:100%;min-width:0}.catalog-filter-status{color:var(--color-text-muted,#a79e92);justify-content:space-between;align-items:center;gap:16px;margin-top:12px;font-size:12px;display:flex}.catalog-filter-status button{font-size:12px}.character-catalog-tags{gap:7px;margin:10px 0 12px;display:grid}.catalog-style-tags,.catalog-profile-tags{flex-wrap:wrap;gap:6px;display:flex}.catalog-tag{color:#cec4b6;overflow-wrap:anywhere;background:#211c16;border:1px solid #37312a;border-radius:3px;align-items:center;max-width:100%;padding:4px 7px;font-size:11px;line-height:1.5;display:inline-flex}.catalog-style{color:#f2bd71;background:#2b2113;border-color:#705025}.catalog-mixed{color:#efd2a7}.catalog-unset{color:#a79e92}.asset-body .catalog-model{color:#a79e92;overflow-wrap:anywhere;min-height:0;margin:0;font-size:11px}.character-classification .field{margin:14px 0}.catalog-style-assignment{border-top:1px solid var(--color-rule,#37312a);margin:18px 0;padding-top:18px}.catalog-style-assignment summary{cursor:pointer;font-size:13px;font-weight:600}.catalog-style-assignment .help{font-size:11px}.catalog-style-fields .field{margin:14px 0}.catalog-style-assignment button{width:100%;font-size:12px}.image-style-record{overflow-wrap:anywhere;min-height:36px;margin:4px 0 10px;font-size:11px;line-height:1.7}@media (width>=1600px){.catalog-filter-grid{grid-template-columns:repeat(5,minmax(100px,1fr)) minmax(180px,1.4fr) minmax(130px,1fr)}}@media (width<=1000px){.catalog-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-search{grid-column:span 2}}@media (width<=600px){.catalog-filter-grid{grid-template-columns:minmax(0,1fr)}.catalog-search{grid-column:auto}.catalog-filter-status{align-items:flex-start}}.variant-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.variant-character-card{border:1px solid var(--color-rule,#342d25);background:var(--color-paper-2,#17120d);border-radius:4px;grid-template-columns:minmax(130px,.78fr) minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.variant-card-cover{background:#090705;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:stretch;min-height:350px;padding:0;display:flex;position:relative;overflow:hidden}.variant-card-cover>img{object-fit:contain;width:100%;height:100%;max-height:390px}.variant-card-cover>span:first-child{color:var(--color-muted,#a79e92);flex-direction:column;align-items:center;gap:12px;display:flex}.variant-card-cover>span:last-child{text-align:left;color:var(--color-muted,#a79e92);overflow-wrap:anywhere;background:#0f0b07f0;padding:9px 11px;font-size:10px;line-height:1.5;position:absolute;bottom:0;left:0;right:0}.variant-card-cover>span.ready{color:var(--color-accent,#f5ab40)}.variant-card-body{flex-direction:column;align-items:stretch;min-width:0;padding:20px;display:flex}.variant-card-body>.row{align-items:flex-start;gap:8px}.variant-card-body h2{font-size:23px;line-height:1.3}.variant-card-body .asset-universe{white-space:normal;text-align:right;max-width:90px;font-size:10px}.variant-card-description{color:var(--color-ink,#e9e0d3);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:12px 0;font-size:12px;line-height:1.8;display:-webkit-box;overflow:hidden}.variant-card-styles{border-top:1px solid var(--color-rule,#342d25);margin-top:16px;padding-top:15px}.variant-card-styles>span{color:var(--color-muted,#a79e92);font-size:12px}.variant-card-chips{flex-wrap:wrap;align-items:stretch;gap:7px;max-height:180px;margin-top:9px;padding:1px;display:flex;overflow:auto}.variant-card-chips>button{border:1px solid var(--color-rule,#342d25);white-space:normal;background:#120e0a;border-radius:3px;flex-direction:column;flex:0 112px;justify-content:flex-start;align-items:center;gap:5px;min-width:0;max-width:100%;padding:5px;font-size:10px;line-height:1.5;display:flex}.variant-card-chips>button img{object-fit:contain;background:#fff;flex-shrink:0;width:48px;height:57px}.variant-card-chips>button span{white-space:normal;overflow-wrap:anywhere;text-align:center;width:100%;min-width:0}.variant-card-chips>button.selected{color:#f2bf76;background:#2a1d0d;border-color:#e9a23b}.variant-card-body .variant-card-usage{color:var(--color-muted,#a79e92);margin:14px 0 10px;font-size:10px}.variant-card-actions{flex-wrap:wrap;gap:7px;margin-top:auto;display:flex}.variant-card-actions button{white-space:nowrap;flex:1;min-height:36px;padding:9px 10px;font-size:11px}.character-workbench.variant-workbench{flex-direction:column;padding:0;display:flex;overflow:hidden}.variant-workbench-header{background:var(--color-paper,#100c08);border-bottom:1px solid var(--color-rule,#342d25);z-index:1;flex-shrink:0;max-height:260px;padding:18px 24px 0;overflow:auto}.variant-workbench-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:18px 24px 24px;overflow:auto}.style-variant-toolbar{background:var(--color-paper,#100c08);border-bottom:1px solid var(--color-rule,#342d25);justify-content:space-between;align-items:stretch;gap:14px;padding:0 0 10px;display:flex;position:static}.style-variant-tabs{flex:1;gap:8px;min-width:0;padding:1px 1px 4px;display:flex;overflow-x:auto}.style-variant-tabs>button{text-align:left;border:1px solid var(--color-rule,#342d25);background:#17120d;border-radius:3px;flex-shrink:0;justify-content:flex-start;align-items:center;gap:10px;min-width:132px;max-width:230px;padding:7px 10px;display:flex}.style-variant-tabs>button.active{background:#21180b;border-color:#f2af43;box-shadow:inset 0 0 0 1px #f2af43}.style-variant-tabs img{object-fit:contain;background:#fff;border-radius:2px;width:38px;height:48px}.style-variant-tabs strong{overflow-wrap:anywhere;font-size:12px;line-height:1.6;display:block}.style-variant-tabs small{color:var(--color-muted,#a79e92);margin-top:4px;font-size:10px;display:block}.style-variant-tabs small.ready{color:#8bd695}.style-add-button{flex-shrink:0;align-self:center;padding:11px 15px;font-size:13px}.style-variant-meta{color:var(--color-muted,#a79e92);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;font-size:11px;display:flex}.style-variant-meta>div{gap:4px;display:flex}.style-variant-meta button{min-height:29px;padding:5px 7px;font-size:11px}.variant-name-field{color:var(--color-muted,#a79e92);align-items:center;gap:9px;margin-bottom:12px;font-size:11px;display:flex}.variant-name-field input{border:1px solid var(--color-rule,#342d25);width:230px;min-width:0;max-width:300px;min-height:32px;color:var(--color-ink,#ece3d7);background:#0d0a07;border-radius:3px;padding:7px 9px;font-size:12px}.new-style-panel{background:var(--color-paper-2,#17120d);border:1px solid #6a4b24;border-radius:4px;margin:6px 0 22px;padding:20px}.new-style-panel h3{font-size:18px}.new-style-panel .style-picker{margin:16px 0}.new-style-panel .two-fields{margin-top:18px}.new-style-panel .two-fields .field{margin:0}.new-style-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin:20px 0 12px;display:flex}.new-style-actions button{flex:1;font-size:12px}.new-style-panel>.help{font-size:12px;line-height:1.8}.archived-style-list{color:var(--color-muted,#a79e92);margin:0 0 16px;font-size:11px}.archived-style-list summary{cursor:pointer}.archived-style-list>div{border-bottom:1px solid var(--color-rule,#342d25);justify-content:space-between;align-items:center;padding:9px 0;display:flex}.casting-style-select{border:1px solid var(--color-rule,#342d25);margin:20px 0;padding:14px}.casting-style-select .field{margin:0 0 12px}.casting-style-preview{align-items:center;gap:14px;display:flex}.casting-style-preview>img{object-fit:contain;background:#fff;width:75px;height:110px}.casting-style-preview>div{flex:1;min-width:0}.casting-style-preview .help{margin:6px 0 10px;font-size:12px}.casting-style-preview strong{font-size:14px}@media (width<=1150px){.variant-character-grid{grid-template-columns:minmax(0,1fr)}.variant-character-card{grid-template-columns:minmax(180px,.55fr) minmax(0,1fr)}.variant-card-cover>img{max-height:390px}.variant-card-chips>button{min-width:70px}}@media (width<=760px){.character-workbench.variant-workbench{display:block;overflow:visible}.variant-workbench-header{max-height:none;padding:14px 14px 0;overflow:visible}.variant-workbench-scroll{padding:14px;overflow:visible}.style-variant-toolbar{flex-wrap:wrap;position:static}.style-variant-tabs{flex-basis:100%}.style-add-button{margin-left:auto}.style-variant-meta{align-items:flex-start}.new-style-panel{padding:14px}.new-style-panel .two-fields{grid-template-columns:1fr;gap:14px}.character-editor-footer>.row{flex-wrap:wrap;width:100%}.character-editor-footer>.row button{flex:1;font-size:12px}.style-variant-tabs>button{min-width:125px}.new-style-actions{flex-direction:column}}@media (width<=480px){.variant-character-card{grid-template-columns:100px minmax(0,1fr)}.variant-card-body{padding:13px}.variant-card-body h2{font-size:20px}.variant-card-cover{min-height:330px}.variant-card-chips>button{min-width:50px}.variant-card-chips>button img{width:37px;height:48px}.variant-card-actions,.variant-card-body>.row{flex-direction:column}.variant-card-body .asset-universe{text-align:left}.variant-name-field{flex-direction:column;align-items:flex-start}.variant-name-field input{width:100%}}.image-cost-estimate{border:1px solid var(--color-rule,#342d25);background:var(--color-paper-2,#17120d);color:var(--color-muted,#a79e92);border-radius:3px;margin:12px 0;padding:12px 14px;font-size:12px;line-height:1.8}.image-cost-estimate>p{margin:0 0 6px}.image-cost-estimate strong{color:var(--color-ink,#ece3d7)}.image-cost-estimate .recent-actual-cost{color:#c9c0b3}.image-cost-estimate summary{cursor:pointer;color:#e3b777;margin-top:8px;font-size:11px}.image-cost-estimate dl{margin:10px 0}.image-cost-estimate dl>div{border-bottom:1px solid var(--color-rule,#342d25);grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:12px;padding:7px 0;display:grid}.image-cost-estimate dd{overflow-wrap:anywhere;margin:0}.image-cost-estimate details p{font-size:11px}.image-cost-estimate a{font-size:11px;text-decoration:underline}.billing-table td details{min-width:175px;margin-top:8px}.billing-table td details summary{cursor:pointer;font-size:11px}.billing-table td details p{white-space:normal;margin:5px 0;font-size:11px}@media (width<=600px){.image-cost-estimate dl>div{grid-template-columns:1fr;gap:3px}}.nas-entry{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:calc(100dvh - 56px);padding:32px 20px;display:flex}.nas-panel{background:var(--color-paper-2);border:1px solid var(--color-rule);gap:18px;width:min(100%,460px);padding:32px;display:grid}.nas-panel h1{font-size:24px}.nas-wordmark{color:var(--color-accent,#f1ab40);font-size:30px;font-weight:600}.nas-account-bar{z-index:50;background:var(--color-paper-2);border-bottom:1px solid var(--color-rule);flex-wrap:wrap;align-items:center;gap:12px;min-height:56px;padding:8px 24px;display:flex;position:sticky;top:0}.nas-account-bar>span{margin-right:auto}.nas-account-bar button{min-height:32px;font-size:12px}.nas-content .app-shell{min-height:calc(100dvh - 56px)}.nas-content .sidebar{height:calc(100dvh - 56px);top:56px}.nas-admin{max-width:1280px;margin:auto;padding:40px 24px}.nas-user-create{border-bottom:1px solid var(--color-rule);grid-template-columns:1fr 1fr 1.4fr auto;align-items:end;gap:16px;padding:24px 0;display:grid}.nas-user-list{gap:16px;margin-top:24px;display:grid}.nas-user-row{background:var(--color-paper-2);border:1px solid var(--color-rule);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;padding:24px;display:flex}.nas-user-row form{align-items:end;gap:8px;display:flex}.nas-user-row .field{margin:0}.nas-user-row p,.nas-user-row small{color:var(--color-muted)}.nas-global-message{padding:16px 24px}.nas-panel input,.nas-user-create input,.nas-user-row input{width:100%;min-width:0}@media (width<=700px){.nas-account-bar{gap:8px;padding:8px 12px}.nas-account-bar>span{font-size:12px}.nas-user-create{grid-template-columns:1fr}.nas-user-row{width:100%;display:grid}.nas-user-row form{flex-wrap:wrap}.nas-panel{padding:24px}.nas-content .sidebar{top:0}}.nas-server-status{border-bottom:1px solid var(--color-rule);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:20px 0;display:flex}.nas-server-status small{color:var(--color-muted);flex-basis:100%}.nas-user-create>.field{margin:0}
