:is(:root:has(.app-root),:root:has(.signin-page),:root:has(.share-page)){--font-sans:var(--font-inter), "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--paper:#0e0f10;--surface:#161719;--surface-2:#1d1f22;--surface-3:#26292d;--ink:#ececed;--muted:#9a9ea5;--faint:#6c7078;--line:#26282c;--line-strong:#353940;--accent:#e9b44c;--accent-ink:#1b1406;--accent-hover:#f2c66c;--accent-soft:#e9b44c24;--forest:#e9b44c;--sage:#1d1f22;--gold:#e9b44c;--gold-light:#1b1406;--brass:#e9b44c;--amber:#2a2210;--ok:#5fd39a;--ok-soft:#5fd39a21;--warn:#f3a95b;--warn-soft:#f3a95b24;--info:#7fb2ff;--info-soft:#7fb2ff24;--bad:#ff8a80;--bad-soft:#ff8a8021;--radius:12px;--radius-sm:8px;--control-shadow:none;--shadow-pop:0 18px 48px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:is(:root:has(.app-root) body,:root:has(.signin-page) body,:root:has(.share-page) body){background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:13.5px}.app-root{font-size:13.5px}.app-root h1,.app-root h2,.app-root h3,.app-root h4,.studio-dialog h2,.signin-page h1,.signin-page h2,.share-page h1{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--ink);font-weight:600}.app-root ::selection{background:var(--accent-soft)}.app-root button:focus-visible,.app-root a:focus-visible,.app-root input:focus-visible,.app-root textarea:focus-visible,.app-root summary:focus-visible,.studio-dialog button:focus-visible,.menu button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preview-banner{color:#d9b86a;background:#1a1508;border-bottom:1px solid #2c2410;height:28px;font-size:12px}.app-root .app-shell{grid-template-columns:76px minmax(0,1fr);min-height:100dvh;display:grid}.app-root .sidebar{background:var(--paper);height:100dvh;color:var(--muted);border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:18px;padding:14px 8px 12px;display:flex;position:sticky;top:0}.rail-mark{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);font:700 13px/1 var(--font-sans);letter-spacing:-.02em;border-radius:9px;place-items:center;display:grid}.app-root .sidebar nav{flex-direction:column;gap:4px;width:100%;display:flex}.app-root .sidebar nav button{border-radius:var(--control-radius);width:100%;min-height:54px;color:var(--muted);font-size:var(--nav-label-font);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;font-weight:500;display:flex;position:relative}.app-root .sidebar nav button:hover{background:var(--surface-2);color:var(--ink)}.app-root .sidebar nav button.active{background:var(--surface-3);color:var(--ink);border:0}.app-root .sidebar nav button.active svg{color:var(--accent)}.app-root .sidebar nav svg{width:20px;height:20px}.app-root .sidebar nav .count{background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);border-radius:8px;place-items:center;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:5px;right:10px}.app-root .sidebar-bottom{margin-top:auto;padding:0}.app-root .account{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;width:auto;padding:0;display:flex}.app-root .account .avatar{border:1px solid var(--line-strong);background:var(--surface-2);width:30px;height:30px;color:var(--ink);border-radius:50%;font-size:11px;font-weight:600;display:grid}.app-root .main-content{min-width:0;padding:0 24px 24px}.app-root .topbar{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0e0f10db;align-items:center;gap:12px;min-height:56px;margin:0 -24px 18px;padding:10px 24px;display:flex;position:sticky;top:0}.app-root .topbar h1{font:600 16px/1.2 var(--font-sans);letter-spacing:-.01em;margin:0}.app-root .header-actions{align-items:center;gap:var(--control-gap);margin-left:auto;display:flex}.mobile-brand,.app-root .mobile-account{display:none}.renderer-status{height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);font-size:var(--control-font);color:var(--ink);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.renderer-dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 3px var(--ok-soft);border-radius:50%}.renderer-status.busy .renderer-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:1.4s ease-in-out infinite pulse}.renderer-status.paused .renderer-dot{background:var(--faint);box-shadow:none}.renderer-usage{color:var(--muted);border-left:1px solid var(--line-strong);padding-left:8px}@keyframes pulse{50%{opacity:.35}}.app-root .primary,.studio-dialog .primary,.signin-form .primary,.share-page .primary{min-height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid var(--accent);border-radius:var(--control-radius);background:var(--accent);color:var(--accent-ink);font-size:var(--control-font);box-shadow:none;justify-content:center;align-items:center;gap:6px;font-weight:600;line-height:1.2;display:inline-flex}.app-root .primary:hover,.studio-dialog .primary:hover,.signin-form .primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.app-root .primary.danger,.studio-dialog .primary.danger{background:var(--bad);border-color:var(--bad);color:#1c0706}.app-root .outline,.app-root .quiet,.studio-dialog .quiet,.studio-dialog .outline,.share-page .quiet{min-height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--ink);font-size:var(--control-font);box-shadow:none;justify-content:center;align-items:center;gap:6px;font-weight:500;line-height:1.2;display:inline-flex}.app-root .outline:hover,.app-root .quiet:hover,.studio-dialog .quiet:hover{background:var(--surface-3)}.app-root .icon-button,.studio-dialog .icon-button{width:var(--control-h);height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);min-height:0;color:var(--ink);place-items:center;padding:0;display:grid}.app-root .icon-button:hover,.studio-dialog .icon-button:hover{background:var(--surface-3)}.app-root .icon-button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.app-root .text-button,.studio-dialog .text-button{color:var(--accent);font-size:var(--control-font);background:0 0;border:0;margin:0;padding:0;font-weight:500;text-decoration:none}.app-root .text-button:hover{text-decoration:underline}.app-root .quiet.on,.app-root .star-toggle.on,.app-root .select-toggle.on,.app-root .no-cast[aria-pressed=true],.studio-dialog .quiet.on,.app-root .review-panel .quiet.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.app-root button:disabled,.studio-dialog button:disabled{opacity:.45;cursor:not-allowed}.app-root input,.app-root textarea,.app-root select,.studio-dialog input,.studio-dialog textarea,.signin-form input,.share-page input,.share-page textarea,.select-trigger{width:100%;min-height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--ink);font-size:var(--control-font);box-shadow:none}.app-root input::placeholder,.app-root textarea::placeholder,.studio-dialog textarea::placeholder,.share-page textarea::placeholder{color:var(--faint)}.app-root input:focus,.app-root textarea:focus,.studio-dialog input:focus,.studio-dialog textarea:focus,.signin-form input:focus,.select-trigger[data-state=open]{border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:0}.app-root label,.studio-dialog label{color:var(--muted);font-size:12px;font-weight:500}.app-root .subtle,.app-root small,.app-root .field-hint,.studio-dialog .subtle,.studio-dialog small{color:var(--muted)}.app-root .field-error,.studio-dialog .field-error,.field-error{color:var(--bad);font-size:12.5px}.select-trigger{font:var(--control-font) / 1.3 var(--font-sans);justify-content:space-between;align-items:center;gap:10px;display:flex}.select-content,.menu,.cast-picker-popover,.privacy-popover{z-index:60;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);box-shadow:var(--shadow-pop);border-radius:10px}.select-item{color:var(--ink);font:var(--control-font) / 1.4 var(--font-sans);border-radius:6px}.select-item[data-highlighted]{background:var(--surface-3)}.menu{flex-direction:column;min-width:200px;padding:5px;display:flex}.menu-item{width:100%;min-height:var(--menu-row-h);color:var(--ink);font-size:var(--control-font);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:0 10px;line-height:1.3;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-3);outline:none}.app-root .tabs{border-color:var(--line)}.app-root .tabs button{color:var(--muted);font-weight:500}.app-root .tabs button[aria-selected=true]{color:var(--ink);border-color:var(--accent)}.app-root .generate-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}.app-root .generate-side{scrollbar-width:thin;max-height:calc(100dvh - 92px);padding-right:4px;position:sticky;top:74px;overflow-y:auto}.app-root .generate-rail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:0;padding:10px 14px 14px;display:flex}.kind-switch{min-height:var(--control-h);border-radius:var(--control-radius);background:var(--paper);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:2px;margin:4px 0 8px;padding:2px;display:grid}.kind-switch button{height:calc(var(--control-h) - 6px);border-radius:calc(var(--control-radius) - 2px);padding:0 var(--control-pad-x);color:var(--muted);font-size:var(--control-font);background:0 0;border:0;font-weight:500;line-height:1.2}.kind-switch button[aria-selected=true]{background:var(--surface-3);color:var(--ink)}.panel-section{border-top:1px solid var(--line);padding:2px 0}.panel-section:first-of-type{border-top:0}.panel-section>summary{cursor:pointer;align-items:center;gap:8px;padding:11px 0;list-style:none;display:flex}.panel-section>summary::-webkit-details-marker{display:none}.panel-title{color:var(--ink);font-size:12.5px;font-weight:600}.panel-summary{text-overflow:ellipsis;white-space:nowrap;max-width:55%;color:var(--muted);margin-left:auto;font-size:12px;overflow:hidden}.panel-chevron{color:var(--faint);flex-shrink:0;transition:transform .15s}.panel-section:not(:has(.panel-summary)) .panel-chevron{margin-left:auto}.panel-section[open] .panel-chevron{transform:rotate(180deg)}.panel-body{flex-direction:column;gap:10px;padding:0 0 12px;display:flex}.panel-note{margin:0;font-size:12px}.panel-section.needs-attention{outline:none}.panel-section.needs-attention>summary .panel-title:after{content:"Needs attention";background:var(--warn-soft);color:var(--warn);border-radius:999px;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:600}.ratio-tiles{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ratio-tile{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--muted);border-radius:9px;justify-items:center;gap:5px;padding:10px 4px 8px;font-size:11.5px;display:grid}.ratio-tile small{color:var(--faint);font-size:10.5px}.ratio-tile.on{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.ratio-tile .ratio-shape{border:1.5px solid;border-radius:3px;display:block}.ratio-tile .ratio-shape.portrait{width:16px;height:24px}.ratio-tile .ratio-shape.square{width:21px;height:21px}.ratio-tile .ratio-shape.landscape{width:26px;height:17px;margin:3px 0}.segmented{min-height:var(--control-h);border-radius:var(--control-radius);background:var(--paper);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;display:grid}.segmented button{height:calc(var(--control-h) - 6px);border-radius:calc(var(--control-radius) - 2px);padding:0 var(--control-pad-x);color:var(--muted);font-weight:600;font-size:var(--control-font);background:0 0;border:0;line-height:1.2}.segmented button.on{background:var(--surface-3);color:var(--ink)}.app-root .scene-cast-panel{background:0 0;border:0;padding:0}.app-root .scene-cast-heading{display:none}.app-root .scene-cast-card{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;margin-bottom:8px;padding:10px}.app-root .scene-cast-identity strong{color:var(--ink)}.app-root .add-scene-character,.app-root .no-cast{width:100%}.app-root .no-cast{margin-top:6px}.app-root .scene-cast-hint{color:var(--faint);font-size:11.5px}.chip-row{grid-template-columns:46px minmax(0,1fr)}.chip-row-label{color:var(--faint);font-size:var(--control-font-sm);letter-spacing:.06em}.chip{min-height:var(--control-h-sm);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--muted);font-size:var(--control-font);padding:0 10px;line-height:1.2}.chip:hover{color:var(--ink)}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.app-root .upload-zone{border:1px dashed var(--line-strong);background:var(--surface-2);color:var(--muted);border-radius:10px;min-height:70px}.app-root .upload-zone:hover{border-color:var(--accent);background:var(--accent-soft)}.house-style{color:var(--accent);background:linear-gradient(135deg,#2a2210,#1d1f22);border:1px solid #3a2f14;border-radius:10px;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;display:flex}.house-style span{gap:1px;display:grid}.house-style strong{color:var(--ink);font-size:12.5px;font-weight:600}.house-style small{color:var(--muted);font-size:11px}.app-root .generate-stage{flex-direction:column;gap:18px;min-width:0;min-height:calc(100dvh - 110px);display:flex}.app-root .run-list{flex-direction:column;flex:1;gap:30px;padding-bottom:12px;display:flex}.app-root .run-card{background:0 0;border:0;border-radius:0;padding:0}.app-root .run-card.hidden-run{opacity:.55}.app-root .run-header{align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.app-root .run-title{flex:1;min-width:0}.app-root .run-title h3{font:500 13.5px/1.45 var(--font-sans);color:var(--ink);-webkit-line-clamp:2;letter-spacing:0;-webkit-box-orient:vertical;margin:0 0 3px;display:-webkit-box;overflow:hidden}.app-root .run-title p{color:var(--faint);margin:0;font-size:11.5px}.app-root .run-controls{opacity:.85;flex-shrink:0;align-items:center;gap:6px;display:flex}.app-root .run-card:hover .run-controls{opacity:1}.run-error{background:var(--bad-soft);color:var(--bad);border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:12.5px}.app-root .candidate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.app-root .candidate-grid.count-1{grid-template-columns:minmax(0,320px)}.app-root .candidate-grid.count-2{grid-template-columns:repeat(2,minmax(0,300px))}.app-root .candidate{background:var(--surface-2);box-shadow:none;border:0;border-radius:10px;margin:0;position:relative;overflow:hidden}.app-root .candidate-image{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.app-root .candidate-image img,.app-root .candidate-image .image-placeholder{object-fit:cover;width:100%;height:auto;transition:transform .25s;display:block}.app-root .candidate:hover .candidate-image img{transform:scale(1.015)}.app-root .candidate.portrait .candidate-image img,.app-root .candidate.portrait .candidate-image .image-placeholder,.app-root .candidate.pending.portrait{aspect-ratio:2/3}.app-root .candidate.square .candidate-image img,.app-root .candidate.square .candidate-image .image-placeholder,.app-root .candidate.pending.square{aspect-ratio:1}.app-root .candidate.landscape .candidate-image img,.app-root .candidate.landscape .candidate-image .image-placeholder,.app-root .candidate.pending.landscape{aspect-ratio:3/2}.app-root .candidate.approved{box-shadow:inset 0 0 0 2px var(--ok)}.app-root .candidate.hidden-candidate{opacity:.45}.app-root .candidate.pending{background:var(--surface);border:1px solid var(--line);color:var(--faint);place-items:center;font-size:12px;display:grid}.app-root .candidate.pending.rendering{background:linear-gradient(110deg, var(--surface) 30%, var(--surface-3) 50%, var(--surface) 70%);color:var(--muted);background-size:250% 100%;animation:1.6s linear infinite shimmer}@keyframes shimmer{to{background-position:-150% 0}}.tile-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);background:#0a0b0cb8;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:8px;left:8px}.tile-badge.approved{color:var(--ok)}.tile-badge.changes{color:var(--warn)}.tile-star{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;opacity:0;background:#0a0b0c99;border:0;border-radius:8px;place-items:center;width:30px;height:30px;transition:opacity .15s;display:grid;position:absolute;top:7px;right:7px}.tile-star.on{opacity:1;color:var(--accent)}.tile-bar{opacity:0;background:linear-gradient(#08090a00,#08090ae0);align-items:center;gap:4px;padding:26px 7px 7px;transition:opacity .15s,transform .15s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(4px)}.app-root .candidate:hover .tile-bar,.app-root .candidate:focus-within .tile-bar,.app-root .candidate:hover .tile-star,.app-root .candidate:focus-within .tile-star{opacity:1;transform:none}.tile-action{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#ffffff1f;border:0;border-radius:7px;align-items:center;gap:5px;height:28px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.tile-action:hover{background:#ffffff38}.tile-icon{color:#fff;background:#ffffff1f;border:0;border-radius:7px;place-items:center;width:28px;height:28px;margin-left:auto;display:grid}.tile-error{background:var(--bad-soft);color:var(--bad);border-radius:6px;padding:6px 8px;font-size:11.5px;position:absolute;inset:auto 8px 44px}.app-root .hidden-toggle{color:var(--muted);margin-top:8px}.app-root .run-snapshot{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;margin-top:10px;padding:12px 14px;font-size:12.5px}.app-root .run-snapshot p{margin:0 0 6px}.app-root .run-snapshot strong{color:var(--ink)}.app-root .status{height:22px;color:var(--muted);background:var(--surface-3);text-transform:none;border:0;border-radius:999px;align-items:center;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.app-root .status.running,.app-root .status.queued{color:var(--accent);background:var(--accent-soft)}.app-root .status.completed,.app-root .status.approved{color:var(--ok);background:var(--ok-soft)}.app-root .status.changes{color:var(--warn);background:var(--warn-soft)}.app-root .status.failed{color:var(--bad);background:var(--bad-soft)}.app-root .load-more{align-self:center}.first-run{text-align:center;max-width:640px;color:var(--muted);margin:6vh auto 0}.first-run>svg{color:var(--accent)}.first-run h2{letter-spacing:-.02em;margin:10px 0 6px;font-size:26px}.first-run>p{margin:0 0 20px;font-size:14px}.starter-prompts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:26px;display:grid}.starter-prompts button{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);color:var(--ink);font-size:var(--control-font-sm);text-align:left;padding:12px 13px;line-height:1.45}.starter-prompts button:hover{border-color:var(--accent);background:var(--accent-soft)}.prompt-dock{z-index:4;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#18191cf0;border-radius:16px;gap:8px;width:100%;max-width:900px;margin:0 auto;padding:12px 12px 10px 14px;display:grid;position:sticky;bottom:14px;box-shadow:0 20px 50px #0000008c,inset 0 0 0 1px #ffffff05}.prompt-dock:focus-within{border-color:#4a4130}.app-root .prompt-dock textarea{min-height:48px;max-height:180px;font-size:var(--control-font);resize:none;field-sizing:content;background:0 0;border:0;padding:2px 2px 0;line-height:1.5}.app-root .prompt-dock textarea:focus{outline:none}.dock-row{align-items:center;gap:10px;display:flex}.dock-chips{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.dock-chip{height:var(--control-h-sm);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--muted);font-size:var(--control-font);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}button.dock-chip:hover{color:var(--ink);border-color:#4a4f57}.dock-chip.static{background:0 0}.dock-chip .count{background:var(--warn);color:#1c0f02;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid}.chip-clear{color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.generate-count{background:#1b14062e;border-radius:6px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11.5px;display:grid}.dock-status{color:var(--faint);margin:0;padding:0 2px;font-size:11.5px}.dock-status.error{color:var(--warn)}.app-root .scene-paper,.app-root .cast-panel,.app-root .rail-section,.app-root .panel-card,.app-root .story-notes,.app-root .book-editor,.app-root .character-editor{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:none}.app-root .cast-list nav button{color:var(--ink);border-radius:var(--control-radius)}.app-root .cast-list nav button:hover{background:var(--surface-2)}.app-root .cast-list nav button[aria-current]{background:var(--surface-3);border-color:#0000}.app-root .cast-initial,.app-root .monogram{background:var(--surface-3);color:var(--ink);font-family:var(--font-sans);font-weight:600}.app-root .search-field{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--muted)}.app-root .search-field input{background:0 0;border:0}.app-root .gallery-grid{grid-template-columns:repeat(auto-fill, minmax(var(--tile,180px), 1fr));gap:10px}.app-root .gallery-item{color:var(--ink);background:0 0;border:0;border-radius:10px;overflow:visible}.app-root .gallery-item>img,.app-root .gallery-item>.image-placeholder{background:var(--surface-2);aspect-ratio:2/3;object-fit:cover;border:0;border-radius:10px;height:auto}.app-root .gallery-item h3{font:500 12.5px/1.35 var(--font-sans);color:var(--ink);margin:6px 0 2px}.app-root .gallery-item p{color:var(--faint);font-size:11px}.app-root .image-placeholder{background:var(--surface-2);color:var(--faint)}.app-root .empty-state{color:var(--muted)}.app-root .empty-state svg{color:var(--accent)}.app-root .bulk-bar{background:var(--accent-soft);color:var(--ink);border-color:#4a3d1c}.app-root .message,.message{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);border-radius:10px;font-size:12.5px}.app-root .message.success,.message.success{color:#bfe9d2;background:#13241b;border-color:#1f3d2c}.app-root .message.error,.message.error{color:#ffc7c1;background:#2a1515;border-color:#4a2222}.app-root .message.toast{z-index:40;min-width:320px;max-width:min(560px,100vw - 32px);box-shadow:var(--shadow-pop);position:fixed;top:auto;bottom:22px;left:50%;transform:translate(-50%)}.app-root .note,.app-root .prerequisite{background:var(--warn-soft);color:var(--warn);border-radius:10px}.studio-dialog{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop);border-radius:14px}.studio-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000009e}.dialog-heading h2,.confirm-dialog h2{font:600 16px/1.3 var(--font-sans)}.review-workspace{color:var(--ink);background:#0b0c0d}.review-topbar,.filmstrip,.zoom-stage figcaption{border-color:var(--line);background:#111214}.zoom-stage{background:#0b0c0d}.review-workspace .quiet,.review-workspace .icon-button{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink)}.review-workspace .quiet.on,.review-workspace .icon-button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.review-panel{background:var(--surface);color:var(--ink);border-left:1px solid var(--line)}.review-panel h2{font:600 16px/1.3 var(--font-sans)}.review-grid-item.current,.filmstrip-item.current{border-color:var(--accent)}.signin-page{background:var(--paper);color:var(--ink)}.signin-intro{border-right:1px solid var(--line);background:radial-gradient(at 30% 20%,#e9b44c1a,#0000 60%),#0b0c0d}.author-bookplate{box-shadow:none;color:var(--ink);border:0}.author-bookplate .author-monogram{background:var(--accent);width:64px;height:64px;color:var(--accent-ink);font:700 24px/1 var(--font-sans);letter-spacing:-.02em;box-shadow:none;text-shadow:none;border:0;border-radius:16px;padding:0}.author-bookplate .author-wordmark,.author-bookplate h1{-webkit-text-fill-color:currentColor;color:var(--ink);font-family:var(--font-sans);letter-spacing:-.02em;background:0 0}.author-bookplate .author-wordmark{color:var(--muted);font-size:18px}.author-bookplate h1{margin:22px 0 12px;font-size:clamp(34px,4vw,54px)}.invitation-note{color:var(--muted);font:13px var(--font-sans)}.signin-form h2{text-align:left;font-size:22px}.signin-form form>label{color:var(--muted);font:500 12.5px var(--font-sans)}.signin-form .primary{min-height:var(--control-h-lg);border-radius:var(--control-radius)}.share-page{color:var(--ink)}.share-eyebrow{color:var(--accent)}.share-item figure{background:var(--surface);border-color:var(--line)}.share-number{background:var(--accent);color:var(--accent-ink)}.share-comment,.share-comment-list li{background:var(--surface-2);border-left-color:var(--accent)}@media (max-width:900px){.app-root .generate-layout,.starter-prompts{grid-template-columns:minmax(0,1fr)}.app-root .candidate-grid,.app-root .candidate-grid.count-8{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-bar,.tile-star{opacity:1;transform:none}.rail-sheet-panel{background:var(--surface)}}@media (max-width:620px){.app-root .app-shell{display:block}.app-root .sidebar{height:auto;padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;background:#0e0f10f2;flex-direction:row;position:fixed;inset:auto 0 0}.rail-mark,.app-root .sidebar-bottom{display:none}.app-root .sidebar nav{flex-direction:row}.app-root .sidebar nav button{flex:1;min-height:52px}.app-root .main-content{padding:0 12px 90px}.app-root .topbar{margin:0 -12px 14px;padding:8px 12px}.app-root .mobile-account{display:inline-flex}.renderer-usage{display:none}.prompt-dock{bottom:72px}.app-root .message.toast{bottom:150px}}@media (prefers-reduced-motion:reduce){.renderer-status.busy .renderer-dot,.app-root .candidate.pending.rendering{animation:none}}.app-root .mobile-account.quiet{display:none}.chip-row{grid-template-columns:minmax(0,1fr);gap:5px}.chip-row-label{padding-top:0}@media (max-width:620px){.app-root .mobile-account.quiet{display:inline-flex}}
:is(:root:has(.app-root),:root:has(.signin-page),:root:has(.share-page)){--muted:#a9adb4;--faint:#80848c}.app-root{font-size:14px}:root:has(.app-root) body{font-size:14px}.app-root .zoom-stage.fit .zoom-target{width:100%;display:block;position:relative}.app-root .zoom-stage.fit .zoom-target img,.app-root .zoom-stage.fit .zoom-target .image-placeholder{object-fit:contain;width:calc(100% - 24px);max-width:none;height:calc(100% - 24px);max-height:none;position:absolute;inset:12px;transform:none}.app-root .zoom-stage.fit .zoom-target .image-placeholder{place-items:center;display:grid}.app-root .review-grid{align-content:center}.app-root .review-grid.ratio-portrait.count-4{grid-template-columns:repeat(4,minmax(0,1fr))}.app-root .review-grid.ratio-landscape,.app-root .review-grid.ratio-square{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:min(100%,132vh);margin:0 auto}.app-root .review-grid-item .candidate-image img,.app-root .review-grid-item .candidate-image .image-placeholder{aspect-ratio:2/3;object-fit:contain;background:#0b0c0d;transform:none}.app-root .review-grid.ratio-landscape .candidate-image img,.app-root .review-grid.ratio-landscape .candidate-image .image-placeholder{aspect-ratio:3/2}.app-root .review-grid.ratio-square .candidate-image img,.app-root .review-grid.ratio-square .candidate-image .image-placeholder{aspect-ratio:1}.app-root .review-body.no-panel{grid-template-columns:minmax(0,1fr)}@media (max-width:760px){.app-root .review-topbar{flex-wrap:wrap;row-gap:8px;padding-right:56px;position:relative}.app-root .review-topbar .review-close{position:absolute;top:8px;right:10px}.app-root .review-modes{flex-wrap:wrap}.app-root .review-modes .quiet{padding-inline:10px}.app-root .review-position span{white-space:normal}}.app-root .candidate .tile-bar{background:linear-gradient(#08090ad1,#08090a00);padding:7px 7px 26px 44px;top:0;bottom:auto;transform:translateY(-4px)}.app-root .candidate .tile-star{z-index:2;left:7px;right:auto}.app-root .candidate .tile-badge{top:auto;bottom:8px}.app-root .candidate .tile-bar .tile-icon{margin-left:0}.app-root .candidate .tile-bar .tile-icon:hover{background:#ffffff38}.app-root .run-list{padding-bottom:40px}.app-root .candidate .tile-spacer{flex:1}.app-root .candidate .tile-bar .tile-more{margin-left:0}.export-dialog{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-pop);border-radius:14px;padding:28px}.export-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000009e}.export-group h3{font:600 14px/1.3 var(--font-sans)}.app-root .check-label,.export-dialog .check-label,.studio-dialog .check-label{color:var(--ink);align-items:center;gap:8px;margin:0;display:inline-flex}.app-root input[type=checkbox],.export-dialog input[type=checkbox],.studio-dialog input[type=checkbox]{width:16px;height:16px;min-height:0;box-shadow:none;accent-color:var(--accent);flex:0 0 16px;margin:0;padding:0}.export-filters{flex-wrap:wrap;gap:10px 20px;margin:12px 0;display:flex}.backup-all{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.app-root .books-library .book-editor{max-width:none}@media (max-width:760px){.app-root .review-panel{max-height:34dvh}.app-root .zoom-stage.fit .zoom-target img,.app-root .zoom-stage.fit .zoom-target .image-placeholder{width:calc(100% - 8px);height:calc(100% - 8px);inset:4px}}.app-root .review-stage-area{position:relative}.app-root .review-flash{z-index:3;border:1px solid var(--line-strong);color:var(--ink);pointer-events:none;background:#0a0b0cdb;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;position:absolute;top:14px;left:50%;transform:translate(-50%)}.app-root .filmstrip-mark.approved{background:var(--ok);color:#06140c}.app-root .review-panel{font-size:14px}.app-root .review-panel .subtle{color:var(--muted)}.app-root .scene-name{align-items:flex-start;gap:6px;display:flex}.app-root .scene-name .rename{opacity:.6;flex:none;width:26px;height:26px;min-height:0}.app-root .scene-name .rename:hover{opacity:1}.app-root .scene-name-form input{width:100%;font:600 16px/1.3 var(--font-sans)}.app-root .review-actions .decided.approved{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.app-root .review-actions .decided.changes{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.app-root .filed-note{color:var(--faint);grid-column:1/-1;margin:0;font-size:12px}.app-root .run-title .run-prompt{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin:2px 0;font-size:13px;display:-webkit-box;overflow:hidden}.app-root .review-panel{flex-direction:column;gap:12px;padding:18px 18px 24px;display:flex}.app-root .review-panel h2{font-size:17px}.app-root .review-actions.primary-row{grid-template-columns:1fr 1fr auto auto;gap:8px;display:grid}.app-root .review-actions.primary-row>button{justify-content:center}.app-root .review-actions.secondary{grid-template-columns:1fr 1fr 1fr auto;gap:8px;display:grid}.app-root .review-actions.secondary>button{justify-content:center}.app-root .review-panel .star-toggle.on{color:var(--accent);border-color:var(--accent)}.app-root .review-notes{color:var(--faint);flex-direction:column;gap:6px;font-size:12px;display:flex}.app-root .review-notes textarea{font-size:var(--control-font)}.app-root .review-panel details summary{cursor:pointer;color:var(--muted);font-size:13px}.app-root .review-panel details p{margin:8px 0 0;font-size:13.5px;line-height:1.5}.app-root .review-flash{border-color:var(--accent);background:#0a0b0ceb;padding:9px 18px;font-size:14px;top:18px}.app-root .library-mode button,.app-root .segmented button{white-space:nowrap}.app-root .library-state{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 52px);overflow:hidden}@media (max-width:760px){.app-root .library-state,.app-root .library-count{padding:1px 6px;font-size:10px}.app-root .library-bar .select-trigger{min-width:0}.prompt-dock .dock-chips{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.prompt-dock .dock-chip{flex:none}.prompt-dock textarea{min-height:44px}}.app-root .review-actions.primary-row>button,.app-root .review-actions.secondary>button{white-space:nowrap;padding-inline:10px}.app-root .review-panel .filed-under .select-trigger{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-root .review-panel .filed-under .select-trigger>span:first-child{text-overflow:ellipsis;overflow:hidden}.menu .touch-only{display:none}@media (hover:none){.menu .touch-only{display:flex}.app-root .candidate .tile-bar{opacity:1;background:0 0;padding:7px;transform:none}.app-root .candidate .tile-bar .tile-action,.app-root .candidate .tile-bar .tile-icon:not(.tile-more),.app-root .candidate .tile-bar .tile-spacer{display:none}.app-root .candidate .tile-bar .tile-more{background:#0a0b0c99;margin-left:auto}}.app-root .strip-thumb,.app-root .strip-more{height:176px}.app-root .strip-scene .strip-thumb.landscape+.strip-caption{max-width:264px}.app-root .strip-caption{max-width:118px}.app-root .strip-scene .strip-thumb.square+.strip-caption{max-width:176px}
.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-root .library{--tile:200px;grid-template-columns:220px minmax(0,1fr);gap:0;min-height:calc(100dvh - 56px);margin:-18px -24px -24px;display:grid}.app-root .library.facets-closed{grid-template-columns:minmax(0,1fr)}.app-root .library-facets{border-right:1px solid var(--line);background:var(--surface);align-self:start;max-height:calc(100dvh - 56px);padding:16px 12px 40px;position:sticky;top:56px;overflow-y:auto}.app-root .facet-group+.facet-group{margin-top:18px}.app-root .facet-group h3{font:600 11px/1.2 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:0 0 6px 8px}.app-root .facet-group ul{margin:0;padding:0;list-style:none}.app-root .facet{width:100%;min-height:var(--menu-row-h);color:var(--muted);font:500 var(--control-font) / 1.3 var(--font-sans);text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:6px;padding:4px 8px;display:block}.app-root .facet:hover{background:var(--surface-2);color:var(--ink)}.app-root .facet.on{background:var(--accent-soft);color:var(--accent)}.app-root .facet.nested{padding-left:22px;font-size:12.5px}.app-root .library-main{min-width:0;padding:0 20px 40px}.app-root .library-head{z-index:5;background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin:0 -20px 12px;padding:0 20px;position:sticky;top:56px}.app-root .library-bar{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.app-root .library-search{max-width:520px;height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);color:var(--muted);flex:280px;align-items:center;gap:8px;display:flex;position:relative}.app-root .library-search:focus-within{border-color:var(--accent)}.app-root .library-search input{min-width:0;height:100%;color:var(--ink);font-size:var(--control-font);box-shadow:none;background:0 0;border:0;outline:0;flex:1;padding:0}.app-root .library-search input::-webkit-search-cancel-button{display:none}.app-root .search-clear{width:24px;height:24px;min-height:0;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.app-root .library-summary{color:var(--muted);white-space:nowrap;font-size:12.5px}.app-root .library-bar .select-trigger{width:auto;min-width:132px;margin-left:auto}.app-root .tile-size{align-items:center;display:flex}.app-root .tile-size input{width:96px;accent-color:var(--accent)}.app-root .library-bulk{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px;padding:8px 12px;display:flex}.app-root .bulk-count{align-items:center;gap:10px;display:flex}.app-root .bulk-hint,.app-root .bulk-progress{color:var(--faint);font-size:12px}.app-root .bulk-actions{flex-wrap:wrap;gap:6px;display:flex}.app-root .library-grid{flex-wrap:wrap;align-items:flex-start;gap:14px 10px;display:flex}.app-root .library-grid:after{content:"";flex-grow:1000}.app-root .library-tile{--shape:.6667;flex:var(--shape) 1 calc(var(--tile) * var(--shape) * 1.5)}.app-root .library-tile.square{--shape:1}.app-root .library-tile.landscape{--shape:1.5}.app-root .library-tile{min-width:0;color:inherit;text-align:left;cursor:zoom-in;box-shadow:none;background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.app-root .library-grid.selecting .library-tile{cursor:pointer}.app-root .library-image{aspect-ratio:2/3;background:var(--surface-2);outline-offset:2px;border-radius:10px;outline:2px solid #0000;width:100%;transition:outline-color .15s;display:block;position:relative;overflow:hidden}.app-root .library-tile.square .library-image{aspect-ratio:1}.app-root .library-tile.landscape .library-image{aspect-ratio:3/2}.app-root .library-image img,.app-root .library-image .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;transition:transform .25s;display:block}.app-root .library-tile:hover .library-image img{transform:scale(1.02)}.app-root .library-tile:focus-visible{outline:none}.app-root .library-tile:focus-visible .library-image,.app-root .library-tile.picked .library-image{outline-color:var(--accent)}.app-root .library-tile .pick-mark{position:absolute;top:8px;left:8px}.app-root .library-fav{width:24px;height:24px;color:var(--accent);background:#0a0b0ca6;border-radius:7px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.app-root .library-state{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);background:#0a0b0cb8;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;bottom:8px;left:8px}.app-root .library-state.approved{color:var(--ok)}.app-root .library-state.changes{color:var(--warn)}.app-root .library-caption{flex-direction:column;gap:2px;min-width:0;padding:0 2px;display:flex}.app-root .library-title{-webkit-line-clamp:2;font:500 12.5px/1.35 var(--font-sans);color:var(--ink);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.app-root .library-meta{white-space:nowrap;text-overflow:ellipsis;color:var(--faint);font-size:11.5px;overflow:hidden}.app-root .library .gallery-pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin-top:24px;display:flex}.menu .menu-item.strong{color:var(--ink);font-weight:600}.menu .menu-item.nested{padding-left:26px}.menu.file-menu{max-height:360px;overflow-y:auto}@media (max-width:900px){.app-root .library{grid-template-columns:minmax(0,1fr);margin:-14px -12px 0}.app-root .library-facets{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-height:none;display:grid;position:static}.app-root .facet-group+.facet-group{margin-top:0}.app-root .library-main{padding:0 12px 90px}.app-root .library-head{margin:0 -12px 10px;padding:0 12px;top:0}.app-root .library-tile{flex-basis:calc(40vw * var(--shape))}.app-root .tile-size,.app-root .bulk-hint{display:none}.app-root .library-bar .select-trigger{margin-left:0}}.app-root .book-pictures{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.app-root .book-pictures .section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.app-root .chapter-pictures{border-bottom:1px solid var(--line);padding:12px 0}.app-root .chapter-pictures header{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:10px;display:flex}.app-root .chapter-pictures h4{font:600 13.5px/1.3 var(--font-sans);color:var(--ink);margin:0}.app-root .chapter-state{color:var(--warn);align-items:center;gap:4px;font-size:12px;display:inline-flex}.app-root .chapter-state.done{color:var(--ok)}.app-root .chapter-actions{gap:14px;margin-left:auto;display:inline-flex}.app-root .chapter-actions .text-button{align-items:center;gap:5px;display:inline-flex}.app-root .chapter-strip{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.app-root .strip-thumb{aspect-ratio:2/3;background:var(--surface-2);outline-offset:-2px;border-radius:8px;outline:2px solid #0000;flex:none;height:176px;position:relative;overflow:hidden}.app-root .strip-thumb.landscape{aspect-ratio:3/2}.app-root .strip-thumb.square{aspect-ratio:1}.app-root .strip-thumb.approved{outline-color:var(--ok)}.app-root .strip-thumb img,.app-root .strip-thumb .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%}.app-root .strip-mark{background:var(--ok);color:#06140c;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:6px;right:6px}.app-root .strip-more{background:var(--surface-2);height:176px;color:var(--muted);border-radius:8px;flex:0 0 72px;place-items:center;font-size:13px;display:grid}.app-root .chapter-empty{color:var(--faint);align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.app-root .subject-main{flex-direction:column;gap:16px;min-width:0;display:flex}.app-root .subject-pictures{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px 20px}.app-root .subject-pictures header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.app-root .subject-pictures h3{font:600 14px/1.3 var(--font-sans);margin:0}.app-root .subject-pictures .text-button{align-items:center;gap:5px;display:inline-flex}.app-root .library-count{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);background:#0a0b0cb8;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;bottom:8px;right:8px}.menu .menu-note{max-width:240px;color:var(--faint);margin:2px 8px 6px;font-size:12px}.app-root .library-mode button{padding-inline:12px}.app-root button.strip-thumb{cursor:zoom-in;border:0;padding:0}.app-root .strip-thumb:not(.approved) img{opacity:.72}.app-root .strip-gap{color:var(--warn);background:#0a0b0cc7;border-radius:999px;padding:1px 6px;font-size:10.5px;font-weight:600;position:absolute;bottom:6px;left:6px}.app-root .strip-count{color:var(--ink);background:#0a0b0cb8;border-radius:999px;padding:1px 6px;font-size:10.5px;font-weight:600;position:absolute;top:6px;right:6px}.app-root .strip-scene{cursor:grab;flex-direction:column;flex:none;gap:5px;display:flex;position:relative}.app-root .strip-scene.dragging{opacity:.4}.app-root .strip-caption{max-width:118px;color:var(--muted);align-items:baseline;gap:6px;font-size:11.5px;display:flex}.app-root .strip-scene .strip-thumb.landscape+.strip-caption{max-width:264px}.app-root .strip-page{color:var(--ink);flex:none;font-weight:700}.app-root .strip-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-root .strip-move{opacity:0;gap:3px;transition:opacity .15s;display:flex;position:absolute;top:6px;left:6px}.app-root .strip-scene:hover .strip-move,.app-root .strip-scene:focus-within .strip-move{opacity:1}.app-root .strip-move .icon-button{width:24px;height:var(--control-h-xs);background:#0a0b0cc7;border-color:#0000;min-height:0;padding:0}.app-root .chapter-pictures.drop-ready{outline:1px dashed var(--line-strong);outline-offset:4px;border-radius:8px}.app-root .reference-group .chapter-state{color:var(--faint)}@media (max-width:760px){.app-root .book-pictures .section-heading .subtle{white-space:normal}.app-root .strip-move{opacity:1}}
.app-root .boards-empty{text-align:center;justify-items:center;max-width:880px;margin:24px auto 60px;display:grid}.app-root .boards-empty-strip{perspective:1200px;justify-content:center;gap:14px;margin-bottom:40px;display:flex}.app-root .strip-frame{aspect-ratio:2/3;background:radial-gradient(at 50% 40%,#ffffff59,#0000 70%),linear-gradient(160deg,#efe6d3,#e4d8bf);border-radius:10px;width:132px;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000073}.app-root .strip-frame.frame-0{transform:rotate(-4deg)translateY(8px)}.app-root .strip-frame.frame-1{transform:rotate(-1deg)}.app-root .strip-frame.frame-2{transform:rotate(2deg)translateY(4px)}.app-root .strip-frame.frame-3{transform:rotate(5deg)translateY(12px)}.app-root .strip-frame em{font:italic 500 16px/1 var(--font-sans);color:#7a6246;position:absolute;bottom:8px;left:10px}.app-root .boards-empty h2{font:500 34px/1.15 var(--font-sans);letter-spacing:-.015em;color:var(--ink);margin:0 0 12px}.app-root .boards-empty>p{max-width:560px;color:var(--muted);margin:0 0 34px;font-size:15px;line-height:1.6}.app-root .boards-start{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;display:grid}.app-root .start-card{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;justify-items:start;gap:8px;padding:20px;transition:border-color .15s,transform .15s,background .15s;display:grid}.app-root .start-card:hover{border-color:var(--accent);transform:translateY(-2px)}.app-root .start-card svg{color:var(--accent)}.app-root .start-card strong{font:600 15px/1.3 var(--font-sans)}.app-root .start-card small{color:var(--muted);font-size:13px;line-height:1.45}.app-root .start-card.primary-start{background:linear-gradient(160deg, #e9b44c1f, var(--surface) 60%);border-color:#e9b44c80}.app-root .boards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.app-root .board-card{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;padding:0;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.app-root .board-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.app-root .board-cover{aspect-ratio:4/3;background:var(--surface-2);gap:2px;display:grid;overflow:hidden}.app-root .board-cover.count-2,.app-root .board-cover.count-3,.app-root .board-cover.count-4{grid-template-columns:1fr 1fr}.app-root .board-cover.count-3>:first-child{grid-row:span 2}.app-root .board-cover img,.app-root .board-cover .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;min-height:0}.app-root .board-cover-blank{background:linear-gradient(160deg,#efe6d3,#e4d8bf);min-height:0;display:block;position:relative}.app-root .board-card.new-board .board-cover{border-bottom:1px dashed var(--line-strong);color:var(--accent);background:0 0;place-items:center;display:grid}.app-root .board-card.new-board{border-style:dashed;border-color:var(--line-strong);background:0 0}.app-root .board-card-body{gap:4px;padding:14px 16px 16px;display:grid}.app-root .board-card-body strong{font:500 17px/1.25 var(--font-sans)}.app-root .board-card-body small{color:var(--faint);font-size:12.5px}.app-root .board-progress{color:var(--muted);align-items:center;gap:10px;margin-top:8px;font-size:12px;display:flex}.app-root .board-progress-bar{background:var(--surface-3);border-radius:999px;flex:1;height:4px;overflow:hidden}.app-root .board-progress-bar span{border-radius:inherit;background:var(--muted);height:100%;display:block}.app-root .board-progress.wide{flex:1;min-width:260px;margin:0}.app-root .board-progress.wide .board-progress-bar{max-width:200px}.app-root .board-page{max-width:1400px}.app-root .board-head{gap:12px;margin-bottom:28px;display:grid}.app-root .board-meta{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.app-root .board-meta .select-trigger{width:auto;min-width:150px}.app-root .board-frames{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px 18px;margin:0;padding:0;list-style:none;display:grid}.app-root .frame-slot{display:contents}.app-root .board-frame{flex-direction:column;gap:10px;list-style:none;transition:opacity .15s;display:flex}.app-root .board-frame.dragging{opacity:.35}.app-root .board-frame.drop-target .frame-picture{outline:2px dashed var(--accent);outline-offset:4px}.app-root .frame-picture{aspect-ratio:2/3;background:var(--surface-2);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000059}.app-root .frame-image{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.app-root .frame-image img,.app-root .frame-image .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%}.app-root .frame-waiting{background:radial-gradient(at 50% 40%,#ffffff59,#0000 70%),linear-gradient(160deg,#efe6d3,#e4d8bf);width:100%;height:100%;position:relative}.app-root .frame-waiting .pending-sketch{opacity:.65}.app-root .frame-waiting-actions{gap:6px;display:grid;position:absolute;bottom:14px;left:12px;right:12px}.app-root .frame-waiting-actions .quiet{color:#f1e9d8;background:#14120fd1;border-color:#0000;justify-content:center}.app-root .frame-waiting-actions .quiet:hover{background:#14120ff2}.app-root .frame-number{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:28px;height:28px;font:italic 500 14px/1 var(--font-sans);color:#f1e9d8;background:#0a0b0cbf;border-radius:999px;place-items:center;padding:0 8px;display:grid;position:absolute;top:10px;left:10px}.app-root .frame-grip,.app-root .frame-more{color:#f1e9d8;opacity:0;background:#0a0b0cb3;border:0;border-radius:8px;place-items:center;width:30px;height:30px;transition:opacity .15s;display:grid;position:absolute;top:10px}.app-root .frame-grip{cursor:grab;right:46px}.app-root .frame-more{cursor:pointer;right:10px}.app-root .board-frame:hover .frame-grip,.app-root .board-frame:hover .frame-more,.app-root .board-frame:focus-within .frame-more,.app-root .frame-more[data-state=open]{opacity:1}.app-root .frame-caption{height:auto;min-height:0;font:400 14px/1.45 var(--font-sans);color:var(--ink);resize:none;field-sizing:content;background:0 0;border:1px solid #0000;border-radius:8px;margin:0 -8px;padding:6px 8px}.app-root .frame-caption:hover{border-color:var(--line)}.app-root .frame-caption:focus{border-color:var(--accent);background:var(--surface);outline:none}.app-root .board-add form{aspect-ratio:2/3;border:1.5px dashed var(--line-strong);color:var(--faint);border-radius:12px;align-content:start;justify-items:start;gap:10px;padding:18px;display:grid}.app-root .board-add textarea{width:100%;min-height:0;font:400 14px/1.45 var(--font-sans);color:var(--ink);resize:none;background:0 0;border:0;padding:0}.app-root .board-add textarea:focus{outline:none}.app-root .board-add-actions{align-items:center;gap:14px;margin-top:auto;display:flex}.app-root .board-add-actions .text-button{align-items:center;gap:5px;display:inline-flex}.menu .menu-item.danger{color:var(--bad)}.starter{gap:16px;display:grid}.starter-modes{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface-2);grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:2px;display:grid}.starter-modes button{height:calc(var(--control-h) - 6px);border-radius:calc(var(--control-radius) - 2px);color:var(--muted);font:500 var(--control-font) / 1 var(--font-sans);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;display:inline-flex}.starter-modes button.on{background:var(--surface-3);color:var(--ink)}.starter-body{gap:12px;margin:0;display:grid}.starter-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.starter-count{color:var(--accent);margin:0;font-size:13px}.starter textarea{width:100%}.starter-title{color:var(--muted);gap:6px;font-size:13px;display:grid}.starter-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.starter-actions>span{margin-right:auto;font-size:12.5px}.board-reader{color:#efe7d6;background:radial-gradient(at 50% 20%,#b8322a1f,#0000 60%),#0b0a09;border:0;grid-template-rows:auto 1fr auto;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;display:grid;position:fixed;inset:0}.board-reader:not([open]){display:none}.board-reader::backdrop{background:#000}.reader-top{align-items:center;gap:16px;padding:14px 20px;display:flex}.reader-title{font:500 18px/1.2 var(--font-display), Georgia, serif}.reader-page{color:#a79b86;margin-left:auto;font-size:13px}.board-reader .icon-button{color:#efe7d6;background:#ffffff0f;border-color:#ffffff1f}.reader-stage{grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;min-height:0;padding:0 12px;display:grid}.reader-page-art{grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:18px;height:100%;min-height:0;margin:0;animation:.45s ease-out reader-turn;display:grid}.reader-page-art img,.reader-page-art .image-placeholder{object-fit:contain;border-radius:6px;max-width:100%;height:100%;max-height:100%;box-shadow:0 30px 70px #0009}.reader-page-art figcaption{text-align:center;max-width:720px;font:italic 400 20px/1.5 var(--font-display), Georgia, serif;color:#efe7d6;padding-bottom:6px}.reader-missing{aspect-ratio:2/3;background:linear-gradient(160deg,#efe6d3,#e4d8bf);border-radius:6px;height:100%;position:relative}.reader-missing span{text-align:center;font:italic 500 15px/1 var(--font-display), Georgia, serif;color:#7a6246;position:absolute;bottom:18px;left:0;right:0}.reader-turn{color:#efe7d6;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.reader-turn:disabled{opacity:.25;cursor:default}.reader-turn:not(:disabled):hover{background:#ffffff1f}.reader-dots{flex-wrap:wrap;justify-content:center;gap:8px;padding:16px 20px 22px;display:flex}.reader-dots button{cursor:pointer;background:#efe7d647;border:0;border-radius:50%;width:9px;height:9px;padding:0}.reader-dots button.missing{background:0 0;box-shadow:inset 0 0 0 1.5px #efe7d659}.reader-dots button.on{background:var(--accent);box-shadow:none;transform:scale(1.3)}@keyframes reader-turn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reader-page-art{animation:none}}@media (max-width:760px){.app-root .boards-start,.starter-fields{grid-template-columns:minmax(0,1fr)}.app-root .strip-frame{width:72px}.app-root .boards-empty h2{font-size:26px}.app-root .board-frames{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.app-root .frame-grip,.app-root .frame-more{opacity:1}.app-root .frame-grip{display:none}.reader-stage{grid-template-columns:44px minmax(0,1fr) 44px;padding:0 4px}.reader-turn{width:40px;height:40px}.reader-page-art figcaption{padding:0 8px 6px;font-size:16px}}@media (hover:none){.app-root .frame-more{opacity:1}}@media (max-width:760px){.app-root .board-card.new-board{flex-direction:row;align-items:center}.app-root .board-card.new-board .board-cover{aspect-ratio:1;border-bottom:0;border-right:1px dashed var(--line-strong);width:72px}}.app-root .board-add.drop-end form{border-color:var(--accent);color:var(--accent)}.app-root .board-add.drop-end.drop-target form{background:var(--accent-soft)}.app-root .board-frame{cursor:grab}.app-root .board-frame:active{cursor:grabbing}.app-root .board-frame .frame-caption,.app-root .board-frame button{cursor:auto}.app-root .board-frame button{cursor:pointer}.app-root .board-frame.dragging{z-index:20;opacity:.92;pointer-events:none;transition:none;position:relative}.app-root .board-frame.dragging .frame-picture{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 30px 60px #0009}.app-root .board-frame.drop-target .frame-picture{outline:2px dashed var(--accent);outline-offset:4px;transition:transform .12s;transform:scale(.97)}.app-root .board-frame img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.app-root .board-frame .frame-picture{touch-action:auto;-webkit-user-select:none;user-select:none}.frame-draft{border:0;border-left:1px solid var(--line-strong);background:var(--surface);width:min(560px,100vw);height:100dvh;max-height:none;color:var(--ink);margin:0;padding:0;animation:.22s ease-out draft-in;position:fixed;inset:0 0 0 auto;box-shadow:-30px 0 60px #00000073}.frame-draft[open]{flex-direction:column;display:flex}.frame-draft::backdrop{background:#00000080}@keyframes draft-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.frame-draft-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.frame-draft-head small{font:600 11px/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:block}.frame-draft-head strong{font:500 19px/1.2 var(--font-sans);margin-top:5px;display:block}.frame-draft-body{flex:1;align-content:start;gap:18px;padding:20px;display:grid;overflow-y:auto}.frame-draft .draft-field{color:var(--muted);gap:8px;font-size:13px;font-weight:500;display:grid}.frame-draft textarea,.frame-draft select{width:100%;padding:10px var(--control-pad-x);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--ink);font:400 15px/1.5 var(--font-sans)}.frame-draft select{height:var(--control-h);padding:0 var(--control-pad-x);font:500 var(--control-font) / 1 var(--font-sans)}.frame-draft textarea:focus,.frame-draft select:focus{border-color:var(--accent);outline:none}.draft-chips{flex-wrap:wrap;gap:8px;display:flex}.draft-chip{border:1px solid var(--line-strong);background:var(--surface-2);height:38px;color:var(--ink);font:500 13px/1 var(--font-sans);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 4px;display:inline-flex}.draft-chip img,.draft-chip .image-placeholder{object-fit:cover;object-position:top;border-radius:50%;width:30px;height:30px}.draft-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.draft-chip:disabled{opacity:.4}.draft-row{flex-wrap:wrap;gap:14px;display:flex}.draft-row .draft-field{flex:140px}.frame-draft .segmented{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);gap:2px;padding:2px;display:inline-flex}.frame-draft .segmented button{height:calc(var(--control-h) - 6px);padding:0 var(--control-pad-x);border-radius:calc(var(--control-radius) - 2px);color:var(--muted);font:500 var(--control-font) / 1 var(--font-sans);cursor:pointer;background:0 0;border:0}.frame-draft .segmented button.on{background:var(--surface-3);color:var(--ink)}.draft-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.draft-actions .primary{gap:8px}.draft-actions .text-button{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.draft-run{border-top:1px solid var(--line);gap:10px;padding-top:18px;display:grid}.draft-run-title{font:italic 400 14px/1.45 var(--font-sans);color:var(--muted);margin:0}.draft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.draft-pick{background:var(--surface-2);cursor:pointer;border:0;border-radius:10px;padding:0;display:block;position:relative;overflow:hidden}.draft-grid.portrait .draft-pick,.draft-grid.portrait .candidate.pending{aspect-ratio:2/3}.draft-grid.square .draft-pick,.draft-grid.square .candidate.pending{aspect-ratio:1}.draft-grid.landscape .draft-pick,.draft-grid.landscape .candidate.pending{aspect-ratio:3/2}.draft-pick img,.draft-pick .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%}.draft-use{color:#fff;font:600 12px/1 var(--font-sans);opacity:0;background:#0a0b0ccc;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;transition:opacity .15s;display:inline-flex;position:absolute;bottom:8px;left:8px}.draft-pick:hover .draft-use,.draft-pick:focus-visible .draft-use,.draft-pick.chosen .draft-use{opacity:1}.draft-pick.chosen{outline:2px solid var(--accent);outline-offset:-2px}.draft-pick.chosen .draft-use{background:var(--accent);color:var(--accent-ink)}@media (hover:none){.draft-use{opacity:1}}.app-root .frame-waiting.drawing .pending-sketch{opacity:.9}.app-root .frame-drawing{text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;padding:0;display:grid;position:absolute;bottom:14px;left:12px;right:12px}.app-root .frame-drawing strong{font:italic 500 16px/1.2 var(--font-sans);color:#3d2c1a}.app-root .frame-drawing small{font:500 11.5px/1.3 var(--font-sans);color:#7a6246}.app-root .frame-waiting-actions .primary{justify-content:center}.app-root .frame-draft .segmented{grid-template-columns:none;width:max-content;display:inline-flex}.app-root .frame-draft .segmented button{min-height:0}
.app-root .character-library>.cast-list nav button{border-radius:var(--control-radius);align-items:center;gap:12px;padding:8px;display:flex}.app-root .character-library>.cast-list nav strong{font:600 13.5px/1.3 var(--font-sans);color:var(--ink);display:block}.app-root .character-library>.cast-list nav small{align-items:center;gap:5px;font-size:12px;display:inline-flex}.app-root .character-library>.cast-list nav small:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.app-root .character-library>.cast-list nav small.ready{color:var(--ok)}.app-root .character-library>.cast-list nav small.needs{color:var(--warn)}.app-root .character-hero{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;margin:-4px 0 8px;padding-bottom:20px;display:flex}.app-root .hero-portrait{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:18px;flex:none;width:84px;height:84px;overflow:hidden;box-shadow:0 10px 24px #00000059}.app-root .hero-portrait img,.app-root .hero-portrait .image-placeholder{object-fit:cover;object-position:top;border:0;border-radius:0;width:100%;height:100%}.app-root .hero-text{flex:1;gap:8px;min-width:200px;display:grid}.app-root .hero-meta{color:var(--faint);flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.app-root .hero-status{border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-weight:600;display:inline-flex}.app-root .hero-status.ready{background:var(--ok-soft);color:var(--ok)}.app-root .hero-status.needs{background:var(--warn-soft);color:var(--warn)}.app-root .hero-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-root .character-editor .form-fields{gap:18px;display:grid}.app-root .character-editor label{color:var(--muted);gap:7px;font-size:13px;font-weight:500;display:grid}.app-root .character-editor textarea{font-size:var(--control-font);field-sizing:content;min-height:72px;line-height:1.55}.app-root .character-editor .field-hint{color:var(--faint);font-size:11.5px}.app-root .portraits-heading{border-top:1px solid var(--line);gap:6px;margin-top:8px;padding-top:20px;display:grid}.app-root .portraits-heading h2{font:600 16px/1.3 var(--font-sans);color:var(--ink);margin:0}.app-root .portraits-heading p{max-width:620px;margin:0;font-size:13px;line-height:1.5}.app-root .character-editor .reference-picker{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.app-root .character-editor .reference-strip{display:contents}.app-root .character-editor .reference-thumb{gap:6px;display:grid;position:relative}.app-root .character-editor .reference-thumb .reference-zoom{aspect-ratio:2/3;border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden}.app-root .character-editor .reference-thumb:first-child .reference-zoom{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.app-root .character-editor .reference-thumb .reference-zoom img,.app-root .character-editor .reference-thumb .reference-zoom .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%}.app-root .character-editor .reference-thumb .remove{position:absolute;top:8px;right:8px}.app-root .character-editor .primary-reference{font-size:var(--control-font-sm);justify-self:start}.app-root .character-editor small.primary-reference{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-weight:600;display:inline-flex}.app-root .character-editor .upload-zone{aspect-ratio:2/3;border:1.5px dashed var(--line-strong);text-align:center;background:0 0;border-radius:12px;align-content:center;place-items:center;gap:10px;padding:16px;display:grid}.app-root .character-editor .upload-zone strong{font-size:13px}.app-root .character-editor .upload-zone small{color:var(--faint);margin-top:4px;font-size:11.5px;line-height:1.4;display:block}.app-root .character-editor .reference-picker>.field-hint{grid-column:1/-1}@media (max-width:760px){.app-root .hero-portrait{width:64px;height:64px}.app-root .hero-actions{width:100%}.app-root .character-editor .reference-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-root .character-editor .reference-picker .reference-thumb{align-content:start;width:auto;height:auto}.app-root .character-editor .reference-picker .reference-thumb .reference-zoom{aspect-ratio:2/3;width:100%;height:auto}.app-root .character-editor .reference-picker .reference-thumb .primary-reference{text-align:left;place-self:start;width:auto;height:auto;margin:0}.app-root .character-body{gap:24px;display:grid}.app-root .character-fields{align-content:start;gap:18px;min-width:0;display:grid}.app-root .character-portraits{align-content:start;gap:12px;min-width:0;display:grid}@media (min-width:1100px){.app-root .character-body{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start}.app-root .character-portraits{order:-1;position:sticky;top:12px}.app-root .character-portraits .reference-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-root .character-portraits .reference-thumb:first-child{grid-column:1/-1}.app-root .character-portraits .portraits-heading p{font-size:12px}}
.guide-card{z-index:1000;border:1px solid var(--accent);background:var(--surface);color:var(--ink);border-radius:14px;gap:10px;padding:14px 16px 16px;font-size:14px;line-height:1.5;display:grid;position:fixed;box-shadow:0 18px 50px #00000059}.guide-card.corner{bottom:18px;right:18px}.guide-card header{align-items:center;gap:8px;display:flex}.guide-card header svg{color:var(--accent);flex:none}.guide-card header strong{flex:1;font-size:14.5px}.guide-card p{margin:0}.guide-card .guide-where{color:var(--muted);font-size:12.5px}.guide-card .primary{justify-self:end}.guide-target{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}.app-root .whats-new-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.app-root .whats-new-tools .quiet{gap:6px}.app-root .whats-new-actions{align-content:start;justify-items:end;gap:8px;display:grid}.app-root .whats-new-marks{gap:6px;display:inline-flex}.app-root .whats-new-mark{border:1px solid var(--line);min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12.5px;display:inline-flex}.app-root .whats-new-mark.on{border-color:var(--accent);color:var(--ink)}.app-root .whats-new-mark.star.on{color:var(--accent)}.app-root .whats-new-card.read>div{opacity:.72}.app-root .whats-new-empty{margin:18px 0}.app-root .whats-new-note{align-items:flex-start;gap:12px;display:flex}.app-root .whats-new-note img{border-radius:8px;flex:none;width:96px}.app-root .whats-new-note p{white-space:pre-wrap;margin:0}.note-to-justin{gap:12px;display:grid}.note-to-justin label{gap:6px;display:grid}.note-to-justin .note-screen{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.note-to-justin .note-screen img{object-fit:contain;border:1px solid var(--line);border-radius:8px;grid-column:1/-1;justify-self:start;max-width:100%;max-height:180px}.assistant-head-actions .text-button{align-items:center;gap:5px;display:inline-flex}.voice{position:relative}.mic-help{z-index:60;border:1px solid var(--line);background:var(--surface);width:min(340px,86vw);color:var(--ink);border-radius:12px;gap:8px;padding:12px 14px;font-size:13px;line-height:1.5;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 14px 40px #0000004d}.mic-help ol{margin:0;padding-left:18px}.mic-help-actions{align-items:center;gap:10px;display:flex}
.studio-dialog .upload-tile{align-content:start;gap:6px;min-width:0;display:grid}.studio-dialog .upload-filing{gap:4px;min-width:0;display:grid}.studio-dialog .upload-filed{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.studio-dialog .upload-filing select{width:100%;min-height:var(--control-h-sm);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--ink);font-size:var(--control-font-sm);padding:2px 6px}.app-root .scene-cast-identity .cast-open{align-items:center;gap:3px;width:fit-content;margin-top:3px;padding:0;font-size:12px;display:flex}
.studio-dialog .bookpg-preview{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:18px 10px;padding:4px 16px}.studio-dialog .bookpg-page{align-content:start;position:relative}.studio-dialog .bookpg-page.movable{cursor:grab}.studio-dialog .bookpg-page.movable:active{cursor:grabbing}.studio-dialog .bookpg-page img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.studio-dialog .bookpg-page.dragging{z-index:20;opacity:.92;pointer-events:none}.studio-dialog .bookpg-page.dragging .bookpg-sheet{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 24px 48px #00000080}.studio-dialog .bookpg-page.drop-target .bookpg-sheet{outline:2px dashed var(--accent);outline-offset:3px;transition:transform .12s;transform:scale(.96)}.studio-dialog .bookpg-number{align-items:center;gap:2px;display:inline-flex}.studio-dialog .bookpg-empty{color:#8f877c;text-align:center;border:1px dashed #d4cab8;flex:1;place-items:center;min-height:0;font-size:9px;display:grid}.studio-dialog .bookpg-page.picture.band .bookpg-empty,.studio-dialog .bookpg-page.picture.facing .bookpg-empty{height:100%}.studio-dialog .bookpg-page .bookpg-words.bookpg-words-edit{width:100%;min-height:3.2em;color:inherit;resize:none;cursor:text;background:0 0;border:1px dashed #0000;border-radius:2px;padding:2px 3px;font-size:8px;display:block;overflow:hidden}.studio-dialog .bookpg-page.words .bookpg-words.bookpg-words-edit{flex:1}.studio-dialog .bookpg-page.picture.band .bookpg-words.bookpg-words-edit{background:#fbf7eee6}.studio-dialog .bookpg-page .bookpg-words.bookpg-words-edit:hover{border-color:#c9bda8}.studio-dialog .bookpg-page .bookpg-words.bookpg-words-edit::placeholder{color:#9a9184}.studio-dialog .bookpg-page .bookpg-words.bookpg-words-edit:focus{z-index:3;border:1px solid var(--accent);background:#fffdf7;outline:none;width:auto;min-height:60%;padding:6px 7px;font-size:12px;position:absolute;inset:auto 4% 4%;overflow:auto;box-shadow:0 6px 18px #00000059}.studio-dialog .bookpg-insert,.studio-dialog .bookpg-remove{border:1px solid var(--line-strong);background:var(--surface);width:24px;height:24px;color:var(--ink);opacity:.6;cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:opacity .12s,color .12s;display:grid}.studio-dialog .bookpg-insert{z-index:4;position:absolute;top:38%}.studio-dialog .bookpg-insert.after{right:-17px}.studio-dialog .bookpg-insert.before{left:-17px}.studio-dialog .bookpg-remove{z-index:2;width:22px;height:22px;position:absolute;top:4px;right:4px}.studio-dialog .bookpg-insert:hover,.studio-dialog .bookpg-insert:focus-visible,.studio-dialog .bookpg-page:hover .bookpg-insert,.studio-dialog .bookpg-page:hover .bookpg-remove,.studio-dialog .bookpg-remove:focus-visible{opacity:1}.studio-dialog .bookpg-insert:hover{border-color:var(--accent);color:var(--accent)}.studio-dialog .bookpg-remove:hover{border-color:var(--bad);color:var(--bad)}.studio-dialog .bookpg-insert:disabled,.studio-dialog .bookpg-remove:disabled{opacity:.3;cursor:default}.studio-dialog .bookpg-preview.sorting .bookpg-insert,.studio-dialog .bookpg-preview.sorting .bookpg-remove{visibility:hidden}.studio-dialog .bookpg-add .bookpg-sheet{border:1px dashed var(--line-strong);box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;font-size:12px}.studio-dialog .bookpg-add .bookpg-sheet:hover,.studio-dialog .bookpg-preview.sorting .bookpg-add .bookpg-sheet{border-color:var(--accent);color:var(--accent)}.studio-dialog .bookpg-add.drop-target .bookpg-sheet{background:var(--accent-soft)}.studio-dialog .bookpg-shape-mark{background:var(--warn);color:#1d1a16;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:4px;left:4px}.studio-dialog .bookpg-page .bookpg-shape{color:var(--warn);text-align:center;font-size:10.5px;line-height:1.3}.app-root .shape-hint{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:8px 0 0;font-size:12.5px;display:flex}
:root:has(.app-root){--outline-width:clamp(264px, 22vw, 320px)}.app-root .character-library.worlds-library{grid-template-columns:var(--outline-width) minmax(0, 1fr);transition:grid-template-columns .22s}.app-root .character-library.worlds-library.outline-closed{grid-template-columns:0 minmax(0,1fr)}.app-root .character-library.worlds-library>.worlds-panel{min-width:0;height:calc(100dvh - 56px - var(--banner,0px));background:var(--surface);box-shadow:inset -1px 0 0 var(--line);visibility:visible;flex-direction:column;align-self:start;margin:0;padding:0;display:flex;position:sticky;top:56px;overflow:hidden}.app-root .worlds-panel>*{width:var(--outline-width);flex-shrink:0}.app-root .character-library.worlds-library.outline-closed>.worlds-panel{visibility:hidden;transition:visibility 0s linear .22s}.app-root .worlds-panel-head{flex-direction:column;gap:10px;padding:12px 14px 10px;display:flex}.app-root .worlds-panel-head>.primary{justify-content:center}.app-root .outline-toggle{color:var(--muted);align-self:flex-start;gap:7px}.app-root .worlds-outline-scroll{scrollbar-width:thin;flex:auto;min-height:0;padding:2px 8px 24px;overflow-y:auto}.app-root .outline-bar{align-items:center;gap:12px;min-width:0;margin-bottom:14px;display:flex}.app-root .outline-bar .outline-toggle{flex-shrink:0}.app-root .outline-path{min-width:0;color:var(--muted);font-size:var(--control-font);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-root .worlds-outline{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.app-root .worlds-outline .outline-row{min-height:var(--list-row-h);padding:2px 2px 2px calc(var(--depth,0) * 18px);border-radius:var(--control-radius);-webkit-user-select:none;user-select:none;align-items:center;gap:1px;display:flex;position:relative}.app-root .worlds-outline .outline-row:hover{background:var(--surface-2)}.app-root .worlds-outline .outline-row:has(.outline-pick[aria-current]){background:var(--surface-3)}.app-root .worlds-outline .outline-grip{width:16px;height:var(--control-h-sm);color:var(--faint);cursor:grab;flex-shrink:0;place-items:center;display:grid}.app-root .worlds-outline .outline-row:hover .outline-grip{color:var(--muted)}.app-root .worlds-outline .outline-fold{width:24px;height:var(--control-h-sm);border-radius:var(--control-radius-sm);min-height:0;color:var(--muted);background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:grid}.app-root .worlds-outline button.outline-fold:hover{background:var(--surface-3);color:var(--ink)}.app-root .worlds-outline .outline-fold svg{transition:transform .15s}.app-root .worlds-outline .outline-fold[aria-expanded=true] svg{transform:rotate(90deg)}.app-root .worlds-outline .outline-pick{min-width:0;min-height:var(--control-h);border-radius:var(--control-radius-sm);color:var(--ink);text-align:left;background:0 0;border:0;flex:auto;justify-content:flex-start;align-items:center;gap:9px;padding:4px 6px;display:flex}.app-root .worlds-outline .outline-pick img,.app-root .worlds-outline .outline-pick .image-placeholder,.app-root .worlds-outline .outline-icon{width:28px;height:var(--control-h-sm);border-radius:var(--control-radius-sm);object-fit:cover;background:var(--surface-2);color:var(--muted);flex-shrink:0;place-items:center;display:grid}.app-root .worlds-outline .tree-world .outline-icon{background:var(--accent-soft);color:var(--accent)}.app-root .worlds-outline .outline-text{flex-direction:column;min-width:0;display:flex}.app-root .worlds-outline .outline-text strong{font:600 13.5px/1.25 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-root .worlds-outline .tree-world .outline-text strong{font-size:14px}.app-root .worlds-outline .tree-time .outline-text strong{font-variant-numeric:tabular-nums}.app-root .worlds-outline .outline-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11.5px;overflow:hidden}.app-root .worlds-outline .outline-move{width:30px;height:var(--control-h-sm);border-radius:var(--control-radius-sm);min-height:0;color:var(--faint);opacity:.6;background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:grid}.app-root .worlds-outline .outline-row:hover .outline-move,.app-root .worlds-outline .outline-move:focus-visible,.app-root .worlds-outline .outline-move[data-state=open]{color:var(--muted);opacity:1}.app-root .worlds-outline .outline-row:has(.outline-pick[aria-current]) .outline-move{color:var(--muted);opacity:1}.app-root .worlds-outline .outline-move:hover,.app-root .worlds-outline .outline-move[data-state=open]{background:var(--surface-3);color:var(--ink)}.app-root .worlds-outline .outline-label{padding:10px 8px 2px calc(46px + var(--depth,0) * 18px);color:var(--faint);font-size:var(--control-font-sm);letter-spacing:.07em;text-transform:uppercase;font-weight:600}.app-root .worlds-outline.is-dragging,.app-root .worlds-outline.is-dragging *{cursor:grabbing}.app-root .worlds-outline.is-dragging .outline-row:hover{background:0 0}.app-root .worlds-outline .outline-row.dragging{opacity:.4}.app-root .worlds-outline .outline-row.drop-into,.app-root .worlds-outline.is-dragging .outline-row.drop-into:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.app-root .worlds-outline .outline-row.line-top:before,.app-root .worlds-outline .outline-row.line-bottom:after{content:"";z-index:2;left:calc(42px + var(--line-depth,0) * 18px);background:var(--accent);pointer-events:none;border-radius:2px;height:3px;position:absolute;right:4px}.app-root .worlds-outline .outline-row.line-top:before{top:-2px}.app-root .worlds-outline .outline-row.line-bottom:after{bottom:-2px}.outline-ghost{z-index:80;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-3);max-width:260px;color:var(--ink);font:600 13px/1.25 var(--font-sans);pointer-events:none;flex-direction:column;gap:2px;padding:7px 11px;display:flex;position:fixed;box-shadow:0 10px 28px #00000059}.outline-ghost small{color:var(--accent);font-size:11.5px;font-weight:500}.menu.outline-menu{min-width:220px;max-width:300px}.menu.outline-menu .menu-item:disabled{cursor:default;opacity:.4}.menu.outline-menu .menu-item:disabled:hover{background:0 0}.menu.outline-menu .outline-menu-list{max-height:min(320px,60vh);overflow-y:auto}@media (prefers-reduced-motion:reduce){.app-root .character-library.worlds-library,.app-root .worlds-outline .outline-fold svg{transition:none}}@media (max-width:900px){.app-root .character-library.worlds-library,.app-root .character-library.worlds-library.outline-closed{grid-template-columns:minmax(0,1fr);transition:none}.app-root .character-library.worlds-library>.worlds-panel{height:auto;max-height:70dvh;box-shadow:inset 0 -1px 0 var(--line);position:static}.app-root .worlds-panel>*{width:auto}.app-root .character-library.worlds-library.outline-closed>.worlds-panel{display:none}}
.app-root .heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-root .delete-button:hover:not(:disabled){color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, var(--line-strong))}.app-root .recently-deleted{max-width:1180px}.app-root .deleted-head{margin-bottom:18px}.app-root .deleted-head h2{font-family:var(--font-sans);margin:0 0 4px;font-size:24px}.app-root .deleted-head p{max-width:68ch;margin:0;line-height:1.5}.app-root .deleted-empty{margin-top:24px}.app-root .deleted-group h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:22px 0 10px;font-size:12px;font-weight:600}.app-root .deleted-list,.app-root .deleted-pictures{margin:0;padding:0;list-style:none}.app-root .deleted-list{gap:8px;display:grid}.app-root .deleted-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.app-root .deleted-image,.app-root .deleted-icon{object-fit:cover;border-radius:10px;width:44px;height:44px}.app-root .deleted-icon{background:var(--surface-3);color:var(--muted);place-items:center;display:grid}.app-root .deleted-text{gap:2px;min-width:0;display:grid}.app-root .deleted-text strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.app-root .deleted-text small{color:var(--faint);font-size:12.5px}.app-root .deleted-pictures{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.app-root .deleted-picture{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);gap:8px;padding:8px;display:grid}.app-root .deleted-thumb{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--surface-3);display:block;overflow:hidden}.app-root .deleted-thumb.portrait{aspect-ratio:3/4}.app-root .deleted-thumb.landscape{aspect-ratio:4/3}.app-root .deleted-thumb>*{object-fit:cover;opacity:.85;width:100%;height:100%}.app-root .deleted-picture button{justify-self:start}.app-root .deleted-foot{align-items:center;gap:6px;margin-top:24px;display:flex}@media (max-width:640px){.app-root .deleted-pictures{grid-template-columns:repeat(2,minmax(0,1fr))}}
.voice-meter{align-items:center;gap:2px;height:14px;display:inline-flex}.voice-meter i{transform-origin:50%;background:currentColor;border-radius:2px;width:3px;height:14px;transition:transform 60ms linear;display:block}@media (prefers-reduced-motion:reduce){.voice-meter i{transition:none}}.voice-blocked{color:var(--bad)}.return-trip{align-items:center;gap:2px;margin-left:12px;display:inline-flex}.return-trip .quiet{border-color:var(--accent);gap:6px}
.app-root .shape-outline{flex-shrink:0;display:block;overflow:visible}.app-root .shape-outline .page{fill:currentColor;fill-opacity:.16;stroke:currentColor;stroke-opacity:.55;stroke-width:1px;stroke-dasharray:2 1.5}.app-root .shape-outline .picture{fill:none;stroke:currentColor;stroke-width:1.5px}.app-root .shape-book{color:var(--accent);flex-shrink:0}.app-root .ratio-tile.has-page{position:relative}.app-root .ratio-tile.has-page .shape-book{position:absolute;top:5px;right:5px}.app-root .frame-draft .segmented button.shape-choice{align-items:center;gap:6px;display:inline-flex}.app-root .shape-hint .shape-match{align-items:center;gap:5px;display:inline-flex}
.mask-stage canvas.change-veil{pointer-events:none;opacity:0;transition:opacity .28s}.mask-stage canvas.change-veil.on{opacity:.5}.mask-stage canvas.markup-marks{cursor:crosshair}@media (prefers-reduced-motion:reduce){.mask-stage canvas.change-veil{transition:none}}.veil-swatch{border:1px solid var(--line-strong);background:radial-gradient(circle,#0000 0 3.5px,#00000080 4.5px),#efe6d2;border-radius:3px;flex:none;width:18px;height:14px}
.studio-dialog .phone-capture-body{align-items:start}.phone-square{justify-items:center;gap:8px;max-width:220px;display:grid}.phone-typed{color:var(--muted);text-align:center;gap:2px;margin:0;font-size:13px;display:grid}.phone-typed strong{color:var(--ink);letter-spacing:.02em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:15px}.phone-live{gap:14px;min-width:0;display:grid}.phone-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.phone-steps li{border-radius:var(--radius-sm,8px);color:var(--faint,var(--muted));align-items:center;gap:10px;padding:6px 8px;font-weight:600;transition:color .3s,background .3s;display:flex}.phone-step-icon{border:2px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;transition:background .3s,border-color .3s,color .3s;display:grid}.phone-steps li.lit{color:var(--ink)}.phone-steps li.lit .phone-step-icon{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.phone-steps li.now{background:var(--accent-soft,var(--surface-2))}.phone-steps li.now .phone-step-icon{animation:1.6s ease-in-out infinite phone-step-glow}@keyframes phone-step-glow{0%,to{box-shadow:0 0 0 0 var(--accent-soft,transparent)}50%{box-shadow:0 0 0 6px var(--accent-soft,transparent)}}.phone-arrived{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.phone-arrived li{width:64px;height:64px;animation:.35s ease-out phone-arrive;position:relative}.phone-arrived img{border:1px solid var(--line-strong);border-radius:var(--radius-sm,8px);object-fit:cover;background:#fff;width:100%;height:100%;display:block}.phone-arrived-check{border:2px solid var(--surface);background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:-5px;right:-5px}@keyframes phone-arrive{0%{opacity:0;transform:scale(.8)}}.phone-send{--accent:#e9b44c;--accent-ink:#1b1406;--accent-soft:#e9b44c38;--ok:#2e8b57;--bad:#b3261e;--line-strong:#c9c4b6}.phone-take:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:3px}.phone-progress{gap:8px;font-size:17px;font-weight:600;display:grid}.phone-progress progress{width:100%;height:12px;accent-color:var(--accent)}.phone-done{justify-items:center;gap:10px;display:grid}.phone-done[hidden]{display:none}.phone-done-photo{display:block;position:relative}.phone-done-photo img{border:1px solid var(--line-strong);object-fit:contain;background:#fff;border-radius:14px;max-width:min(260px,70vw);max-height:260px;display:block}.phone-done-check{border:4px solid var(--paper,#fff);background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:60px;height:60px;animation:.35s ease-out phone-arrive;display:grid;position:absolute;bottom:-14px;right:-14px}.phone-ended{color:var(--ink);justify-items:center;gap:12px;padding-top:40px;display:grid}@media (prefers-reduced-motion:reduce){.phone-steps li.now .phone-step-icon,.phone-arrived li,.phone-done-check{animation:none}}
.app-root .book-boards{margin:4px 0 18px}.app-root .book-boards h3{color:var(--muted);align-items:center;gap:6px;margin:0 0 10px;font-size:13px;font-weight:600;display:flex}.app-root .book-boards ul{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.app-root .book-board{border:1px solid var(--line);background:var(--surface-2);width:132px;color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;gap:4px;padding:6px;display:grid}.app-root .book-board:hover{border-color:var(--accent)}.app-root .book-board-sheet{aspect-ratio:4/3;border-radius:8px;grid-template-columns:1fr 1fr;gap:3px;display:grid;overflow:hidden}.app-root .book-board-sheet img,.app-root .book-board-sheet i{object-fit:cover;background:color-mix(in srgb, var(--line) 60%, transparent);width:100%;height:100%;display:block}.app-root .book-board.new .book-board-sheet{border:1px dashed var(--line);color:var(--muted);grid-template-columns:1fr;place-items:center;display:grid}.app-root .book-board strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.app-root .book-board small{color:var(--muted);align-items:center;gap:5px;font-size:11.5px;display:flex}
.app-root .book-rules-intro{max-width:62ch;margin:0 0 14px}.app-root .book-rules-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;display:grid}.app-root .book-rule-list{align-content:start;gap:8px;min-width:0;display:grid}.app-root .book-rule-list h4{color:var(--ink);margin:0;font-size:15px}.app-root .book-rule-list>.subtle{margin:0;font-size:12px}.app-root .book-rule-list ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.app-root .book-rule-list li{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;align-items:flex-start;gap:6px;padding:6px 4px 6px 10px;display:flex}.app-root .book-rule-list li>span{overflow-wrap:anywhere;flex:1;min-width:0;padding-top:3px;font-size:13px;line-height:1.4}.app-root .book-rule-list li .icon-button{flex-shrink:0}.app-root .book-rule-list.never li{border-left:3px solid var(--warn)}.app-root .book-rule-list.always li{border-left:3px solid var(--line-strong)}.app-root .book-rule-empty{color:var(--faint);margin:0;font-size:13px}.app-root .book-rule-list .voice{justify-self:start}@media (max-width:760px){.app-root .book-rules-lists{grid-template-columns:minmax(0,1fr)}}.app-root .prompt-dock .rules-chip .rules-chip-book{text-overflow:ellipsis;max-width:12em;overflow:hidden}.menu.rules-menu{width:min(380px,100vw - 20px)}.menu.rules-menu .menu-note{max-width:none}.menu.rules-menu .rules-menu-list{color:var(--ink);overflow-wrap:anywhere;gap:3px;margin:0 0 4px;padding:0 10px 0 28px;font-size:13px;line-height:1.4;display:grid}
.refresh-cast{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);gap:8px;padding:9px 11px;display:grid}.refresh-cast-note{align-items:center;gap:9px;min-width:0;display:flex}.refresh-cast-faces{flex:none;display:flex}.refresh-cast-faces>*{border:2px solid var(--surface-2);background:var(--surface);border-radius:50%;width:28px;height:28px;overflow:hidden}.refresh-cast-faces>*+*{margin-left:-8px}.refresh-cast-faces img{object-fit:cover;object-position:top;width:28px;height:28px;display:block}.refresh-cast p{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.4}.refresh-cast-actions{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.refresh-cast-actions .quiet{white-space:normal;text-align:left;gap:6px;max-width:100%}.refresh-cast-actions .text-button{color:var(--muted);font-size:var(--control-font);margin:0}.refresh-cast .refresh-cast-on-way{color:var(--muted);font-size:13px}
.edit-readback-slot{gap:6px;margin-top:-4px;display:grid}.edit-readback-slot .readback-ask{justify-self:start;gap:6px;min-height:30px;padding:4px 10px;font-size:12.5px}.edit-readback{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);gap:4px;padding:8px 10px;transition:opacity .2s;display:grid}.edit-readback.stale{opacity:.55}.edit-readback p{color:var(--ink);margin:0;font-size:12.5px;line-height:1.4}.edit-readback p>span{color:var(--muted);font-weight:600}.edit-readback .readback-heads-up{border-top:1px solid var(--line);gap:4px;margin-top:2px;padding-top:5px;display:grid}.edit-readback .readback-heads-up p>span{color:var(--warn)}.edit-readback .readback-heads-up .quiet{min-height:var(--control-h-sm);justify-self:start;gap:6px;padding:0 10px}.edit-readback-slot .readback-loading{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.edit-readback-slot .readback-loading span{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite readback-pulse}@keyframes readback-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.edit-readback{transition:none}.edit-readback-slot .readback-loading span{opacity:.6;animation:none}}
.newer-studio{z-index:60;border:1px solid var(--line);background:var(--surface);max-width:calc(100vw - 40px);color:var(--ink);box-shadow:var(--shadow-pop);font:14px/1.4 var(--font-sans);border-radius:10px;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:fixed;bottom:20px;right:20px}.newer-studio-refresh{min-height:var(--control-h-sm);padding:0 var(--control-pad-x);border-radius:var(--control-radius);background:var(--accent);color:var(--accent-ink);font:600 var(--control-font) / 1 var(--font-sans);cursor:pointer;border:0;align-items:center;gap:7px;display:inline-flex}.newer-studio-later{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px;display:inline-flex}.newer-studio-refresh:hover{background:var(--accent-hover)}.newer-studio-later:hover{color:var(--ink)}.newer-studio.above-dock{bottom:104px}@media (max-width:620px){.newer-studio{bottom:76px}.newer-studio.above-dock{bottom:168px}}
.app-root .subject-draw{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);gap:10px;margin:4px 0 18px;padding:14px 16px;display:grid}.app-root .subject-draw-words{font:600 15px/1.3 var(--font-sans);gap:6px;margin:0;display:grid}.app-root .subject-draw-words textarea{resize:vertical;font-weight:400}.app-root .subject-draw-row{align-items:center;gap:10px;display:flex}.app-root .subject-draw-row .primary{margin-left:auto}.app-root .subject-draw-count{border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px;display:inline-flex}.app-root .subject-draw-count button{border-radius:var(--control-radius-sm);min-width:34px;color:var(--muted);font:500 13px/1 var(--font-sans);background:0 0;border:0;padding:6px 10px}.app-root .subject-draw-count button.on{background:var(--surface-3);color:var(--ink)}.app-root .subject-draw-results{flex-wrap:wrap;gap:10px;display:flex}.app-root .subject-draw-tile{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:150px;padding:0;overflow:hidden}.app-root .subject-draw-tile img{width:100%;height:auto;display:block}.app-root .subject-details>summary{cursor:pointer;font:500 14px/1.4 var(--font-sans);margin-bottom:4px}.app-root .subject-details>summary span{color:var(--muted);margin-left:10px;font-size:12px;font-weight:400}.app-root .subject-details[open]>summary{margin-bottom:14px}
.character-fields .sheet-fill-button{place-self:flex-start start}.studio-dialog.sheet-fill{width:min(640px,100vw - 32px)}.sheet-fill label{gap:6px;display:grid}.sheet-fill textarea{max-height:22vh}.sheet-fill-or{color:var(--muted,#6b6259);margin:6px 0 0}.sheet-fill .sheet-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.sheet-fill-preview{gap:8px;margin-top:12px;display:grid}.sheet-fill-preview section{border:1px solid var(--line,#e3dbd0);border-radius:8px;padding:8px 10px}.sheet-fill-preview h3{margin:0 0 4px;font-size:.85rem}.sheet-fill-preview section p{white-space:pre-line;max-height:9vh;margin:0;font-size:.85rem;overflow:auto}.sheet-fill .confirm-actions .subtle{margin-right:auto}
.app-root .storyboard-button,.studio-dialog .storyboard-button{min-height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid var(--accent);border-radius:var(--control-radius);background:var(--accent-soft);color:var(--accent);font:600 var(--control-font) / 1 var(--font-sans);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;display:inline-flex}.app-root .storyboard-button.on,.studio-dialog .storyboard-button.on{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink)}.app-root .candidate .tile-storyboard{z-index:2;min-height:var(--control-h-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0b0cb8;border-color:#0000;padding:0 8px;position:absolute;bottom:8px;left:8px}.app-root .candidate .tile-storyboard.on{color:#fff}.storyboard-button.review-storyboard{align-self:flex-start;margin-top:-4px}
.app-root .reference-thumb .reference-number{z-index:2;background:var(--ink);min-width:24px;height:24px;color:var(--surface);font:700 13px/1 var(--font-sans);pointer-events:none;border-radius:12px;place-items:center;padding:0 6px;display:grid;position:absolute;top:6px;left:6px;box-shadow:0 1px 3px #00000040}.app-root .reference-say{margin:0 0 10px}
.nav-flyout{z-index:60;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:248px;max-height:calc(100dvh - 16px);color:var(--ink);box-shadow:var(--shadow-pop);font-family:var(--font-sans);flex-direction:column;padding:8px;display:flex;position:fixed}.nav-flyout-title{color:var(--muted);margin:2px 8px 6px;font-size:12px;font-weight:600}.nav-flyout ul{min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.nav-flyout li button,.nav-flyout .nav-flyout-add{width:100%;min-height:var(--list-row-h);border-radius:var(--radius-sm);color:var(--ink);font:inherit;font-size:var(--control-font);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px 8px;display:flex}.nav-flyout li button:hover,.nav-flyout li button:focus-visible,.nav-flyout .nav-flyout-add:hover,.nav-flyout .nav-flyout-add:focus-visible{background:var(--surface-2)}.nav-flyout-thumb{background:var(--surface-3);width:32px;height:32px;color:var(--muted);border-radius:7px;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid;overflow:hidden}.nav-flyout-thumb img,.nav-flyout-thumb .image-placeholder{object-fit:cover;width:32px;height:32px;min-height:0;font-size:0;display:block}.nav-flyout-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-flyout-empty{color:var(--muted);margin:4px 8px 8px;font-size:13px}.nav-flyout .nav-flyout-add{border-top:1px solid var(--line);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--accent);flex:none;margin-top:4px}@media (max-width:620px){.nav-flyout{display:none}}
.app-root .look-tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.app-root .look-tile{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);color:var(--ink);font:600 var(--control-font) / 1.2 var(--font-sans);text-align:center;cursor:pointer;justify-items:center;gap:4px;padding:8px 6px;display:grid}.app-root .look-tile small{color:var(--muted);font-size:11.5px;font-weight:400}.app-root .look-tile.on{border-color:var(--accent);background:var(--accent-soft)}.app-root .look-tile:disabled{opacity:.5;cursor:default}.app-root .look-swatch{border:1px solid var(--line);border-radius:5px;width:100%;height:34px;display:block}.app-root .look-swatch.book{background:radial-gradient(circle at 30% 40%,#8c6e508c,#0000 45%),radial-gradient(circle at 70% 60%,#786e8c73,#0000 40%),radial-gradient(circle at 55% 30%,#b4828259,#0000 35%),#efe6d2}.app-root .look-swatch.sketch{background:repeating-linear-gradient(125deg,#0000 0 3px,#2828288c 3px 4px,#0000 4px 7px),radial-gradient(circle,#9696964d,#0000 70%),#f6f6f4}.app-root .look-why{color:var(--muted);margin:8px 0 0;font-size:12px}
.app-root .star-tile{border-radius:var(--radius-sm);background:var(--surface-2);position:relative;overflow:hidden}.app-root .star-tile-open{cursor:zoom-in;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;display:block}.app-root .star-tile-open img,.app-root .star-tile-open .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;display:block}.app-root .star-tile-star{color:#fff;opacity:0;background:#0a0b0c9e;border:0;border-radius:8px;place-items:center;width:32px;height:32px;min-height:0;padding:0;transition:opacity .15s;display:grid;position:absolute;top:6px;right:6px}.app-root .star-tile:hover .star-tile-star,.app-root .star-tile:focus-within .star-tile-star,.app-root .star-tile-star.on{opacity:1}.app-root .star-tile-star.on{color:var(--accent)}.app-root .star-tile-board{color:#fff;font:600 12px/1.4 var(--font-sans);background:#0a0b0cb8;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;display:inline-flex;position:absolute;bottom:6px;left:6px}.app-root .subject-starred h3{align-items:center;gap:7px;display:inline-flex}.app-root .subject-starred-icon{color:var(--accent)}.app-root .subject-starred-count{background:var(--surface-2);color:var(--muted);font:500 12px/1.5 var(--font-sans);border-radius:999px;padding:1px 8px}.app-root .subject-starred-grid{flex-wrap:wrap;gap:10px;display:flex}.app-root .subject-starred-grid .star-tile{aspect-ratio:2/3;height:168px}.app-root .subject-starred-grid .star-tile.landscape{aspect-ratio:3/2}.app-root .subject-starred-grid .star-tile.square{aspect-ratio:1}.app-root .subject-starred-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:10px;margin:0;padding:14px 16px;display:flex}@media (hover:none){.app-root .star-tile-star{opacity:1;width:40px;height:40px}}.app-root .scene-paper .subject-starred{margin:0 0 18px;padding:14px 16px}
.app-root .run-versions{min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);align-items:center;gap:2px;padding:2px;display:inline-flex}.app-root .run-versions label{font:600 var(--control-font) / 1 var(--font-sans);color:var(--ink);align-items:center;gap:6px;margin:0;display:inline-flex}.app-root .run-versions select{width:auto;min-width:0;max-width:190px;min-height:calc(var(--control-h) - 6px);border-radius:calc(var(--control-radius) - 2px);font:400 var(--control-font) / 1.2 var(--font-sans);padding:0 8px}.app-root .run-versions .icon-button{width:calc(var(--control-h) - 6px);height:calc(var(--control-h) - 6px);border-radius:calc(var(--control-radius) - 2px)}.app-root .run-versions .icon-button:disabled{opacity:.35;cursor:default}
.app-root .ask-how-to{border:1px solid var(--accent);background:var(--surface);border-radius:14px;gap:8px;margin-top:14px;padding:14px 16px;display:grid}.app-root .ask-how-to label{align-items:center;gap:8px;font-weight:600;display:flex}.app-root .ask-how-to label svg{color:var(--accent);flex:none}.app-root .ask-how-to-row{gap:8px;display:flex}.app-root .ask-how-to-row input{flex:1;min-width:0}.app-root .ask-how-to-row .primary{flex:none}.guide-card .guide-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.guide-card .guide-actions .quiet{gap:6px}
.app-root .frame-blank-tag{z-index:1;border:1px dashed var(--line-strong);background:var(--surface);color:var(--muted);font:600 11.5px/1.2 var(--font-sans);border-radius:999px;padding:3px 8px;position:absolute;top:12px;left:46px}.frame-draft-words{color:var(--ink);font:500 14px/1.45 var(--font-sans);margin:0}.app-root .candidate .tile-storyboard.frame-button{bottom:44px}.app-root .frame-note{border:1px solid var(--accent);background:var(--accent-soft);color:var(--ink);font:500 13px/1.4 var(--font-sans);border-radius:10px;align-items:center;gap:10px;margin:0 0 10px;padding:8px 12px;display:flex}.app-root .frame-note span{flex:1;min-width:0}.app-root .frame-note svg{color:var(--accent);flex:none}.app-root .book-read{margin:0 0 14px}.app-root .book-read-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.studio-dialog.sendto-dialog{width:min(520px,100vw - 32px)}.sendto-dialog .sendto-picture{align-items:center;gap:12px;margin:0 0 14px;display:flex}.sendto-dialog .sendto-picture img,.sendto-dialog .sendto-picture .image-placeholder{object-fit:cover;border-radius:8px;flex:none;width:64px;height:64px}.sendto-dialog .sendto-picture span{gap:2px;min-width:0;display:grid}.sendto-dialog .sendto-picture small,.sendto-dialog .sendto-now{color:var(--muted);font:400 12.5px/1.4 var(--font-sans)}.sendto-dialog .sendto-part{border:1px solid var(--line);border-radius:10px;gap:10px;margin:0 0 12px;padding:12px;display:grid}.sendto-dialog .sendto-check{font-weight:600}.sendto-dialog .sendto-fields{gap:10px;display:grid}.sendto-dialog .sendto-now{margin:0}.sendto-dialog .sendto-note{color:var(--ink);font:500 13px/1.4 var(--font-sans);margin:0 0 10px}.review-send-to{align-self:flex-start}
.app-root .reference-thumb .picture-borrowed{border:1px solid var(--warn);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--ink);gap:4px;margin:0;padding:8px 10px;font-size:12px;line-height:1.4;display:grid}.app-root .reference-thumb .picture-borrowed .text-button{min-height:28px;font-size:var(--control-font);justify-self:start;font-weight:600}.app-root .draw-needs{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--info-soft);color:var(--ink);align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.app-root .draw-needs svg{color:var(--info);flex:none;margin-top:2px}.studio-dialog .upload-chip{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;justify-self:start;max-width:100%;padding:2px 9px;font-size:11.5px;font-weight:600;overflow:hidden}.studio-dialog .upload-chip.filed{background:var(--ok-soft);color:var(--ok)}.studio-dialog .upload-chip.loose{background:var(--surface-3);color:var(--muted)}.studio-dialog .upload-auto-note{color:var(--muted);margin:0;font-size:13px}.app-root .last-scene-bar{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;padding:6px 10px;font-size:12.5px;display:flex}.app-root .last-scene-bar span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-root .last-scene-bar button{flex:none}.app-root .prompt-dock .dock-chip.cast-chip{color:var(--ink)}.app-root .prompt-dock .dock-chip.cast-chip svg{opacity:.7}.app-root .prompt-dock .dock-chip.cast-chip:hover svg{opacity:1}.app-root .prompt-dock .dock-chip.cast-chip.kept{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.app-root .prompt-dock .dock-chip.still-in{color:var(--accent);border-color:#0000;padding-inline:2px 0}
.app-root .character-library.focus-page{grid-template-columns:minmax(0,1fr)}.app-root .character-library.focus-page>.subject-main:empty{display:none}.app-root .character-library.focus-page>:not(.cast-list),.app-root .character-library.worlds-library>.subject-main,.app-root .character-library.worlds-library>.pick-page{width:100%;max-width:1120px;margin-inline:auto}.app-root .character-library.focus-page>.focus-bar{padding:20px 24px 0}.app-root .focus-bar{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.app-root .focus-bar .focus-all{color:var(--muted);flex-shrink:0;gap:7px;padding:0 12px}.app-root .focus-switch{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);min-width:0;max-width:100%;min-height:46px;color:var(--ink);font-family:var(--font-sans);cursor:pointer;align-items:center;gap:10px;padding:4px 12px 4px 4px;font-size:18px;font-weight:600;display:inline-flex}.app-root .focus-switch:hover,.app-root .focus-switch[data-state=open]{background:var(--surface-2)}.app-root .focus-switch>svg{color:var(--muted);flex-shrink:0}.app-root .focus-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-root .focus-extra{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.pick-face{background:var(--surface-3);width:36px;height:36px;color:var(--muted);font-family:var(--font-sans);border-radius:8px;flex:none;place-items:center;font-size:14px;font-weight:600;line-height:1;display:grid;overflow:hidden}.pick-face img,.pick-face .image-placeholder{object-fit:cover;width:100%;height:100%;min-height:0;font-size:0;display:block}.app-root .pick-page{flex-direction:column;gap:16px;min-width:0;display:flex}.app-root .pick-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app-root .pick-toolbar:empty{display:none}.app-root .pick-search{flex:220px;max-width:360px}.app-root .pick-search input{width:100%}.app-root .pick-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.app-root .pick-actions .picker-add input{width:min(260px,50vw)}.app-root .pick-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.app-root .pick-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;height:100%;min-height:0;color:var(--ink);font-family:var(--font-sans);text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:0;padding:0;display:flex;overflow:hidden}.app-root .pick-card:hover{border-color:var(--line-strong);background:var(--surface-2)}.app-root .pick-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root .pick-card .pick-face{aspect-ratio:1;border-radius:0;width:100%;height:auto;font-size:44px;font-weight:500}.app-root .books-library .pick-card .pick-face{aspect-ratio:3/2}.app-root .pick-text{flex-direction:column;gap:2px;min-width:0;padding:10px 12px 12px;display:flex}.app-root .pick-text strong{overflow-wrap:anywhere;font-size:15px;line-height:1.3}.app-root .pick-text small{color:var(--muted);font-size:12.5px;line-height:1.35}.menu.focus-menu{width:min(300px,100vw - 24px);font-family:var(--font-sans);gap:6px}.focus-menu .search-field{flex-shrink:0}.focus-menu .search-field input{width:100%;min-height:0;height:var(--control-h);color:var(--ink);font-size:var(--control-font);background:0 0;border:0}.focus-menu-list{flex:auto;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.focus-menu .menu-item{min-height:40px;font-size:var(--control-font);text-align:left;gap:10px;padding:4px 8px}.focus-menu .menu-item[aria-current]{background:var(--surface-2);font-weight:600}.focus-menu .pick-face{border-radius:7px;width:30px;height:30px;font-size:12px}.focus-menu-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.focus-menu .focus-none{color:var(--muted);margin:4px 10px;font-size:13px}.focus-menu .focus-add{border-top:1px solid var(--line);border-radius:0 0 6px 6px;flex-shrink:0}:root[data-text-size=large]{--text-scale:1.125}:root[data-text-size=larger]{--text-scale:1.25}@media (min-width:621px){:root[data-text-size] .app-root .app-shell{grid-template-columns:calc(76px * var(--text-scale,1)) minmax(0, 1fr)}}.account-menu .text-size-choice{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:6px;margin:4px 0;padding:8px 10px 10px;display:flex}.account-menu .text-size-label{color:var(--muted);font-size:12px;font-weight:600}.account-menu .text-size-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.account-menu .text-size-option{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--ink);font-family:var(--font-sans);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;font-size:12px;display:flex}.account-menu .text-size-option:hover{background:var(--surface-2)}.account-menu .text-size-option[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface));font-weight:600}.account-menu .text-size-option>span{font-weight:600;line-height:1}.account-menu .text-size-option.size-standard>span{font-size:13px}.account-menu .text-size-option.size-large>span{font-size:16px}.account-menu .text-size-option.size-larger>span{font-size:19px}@media (max-width:900px){.app-root .character-library.focus-page>.focus-bar{padding:14px 12px 0}.app-root .pick-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.app-root .pick-actions{margin-left:0}}.app-root .character-library.focus-page>.pick-page,.app-root .character-library.worlds-library>.pick-page{max-width:1480px}@media (min-width:901px){.app-root .pick-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}.app-root .pick-card .pick-face:not(:has(img,.image-placeholder)){background:linear-gradient(160deg, var(--surface-2), var(--surface));color:color-mix(in srgb, var(--muted) 70%, transparent);font-size:34px;font-weight:400}
.app-root .object-library .cast-initial svg,.app-root .object-editor .hero-initial svg,.app-root .scene-objects-panel .cast-initial svg,.cast-picker-popover .cast-initial.picker-thumb svg{color:var(--muted)}.app-root .scene-objects-panel .scene-cast-card+.add-scene-character{margin-top:4px}@media (max-width:620px){.app-root .sidebar nav button{min-width:0;font-size:var(--nav-label-font);padding-inline:0}.app-root .sidebar nav button>span:not(.count){text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}
.app-root .reference-thumb .picture-note{width:100%;color:var(--muted);text-align:left;gap:2px;margin:6px 0 0;font-size:11.5px;font-weight:600;display:grid}.app-root .reference-thumb .picture-note input{width:100%;min-width:0;min-height:var(--control-h-sm);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);color:var(--ink);font:400 12px/1.3 var(--font-sans);padding:3px 7px}.app-root .reference-thumb .picture-note input::placeholder{color:var(--muted);opacity:.8}.app-root .character-editor .reference-thumb .picture-note{margin:0}.made-from{gap:6px;min-width:0;display:grid}.made-from-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;font-weight:600}.made-from ol{scrollbar-width:thin;gap:8px;margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.made-from button{width:64px;color:var(--ink);cursor:zoom-in;text-align:center;background:0 0;border:0;align-content:start;gap:2px;padding:0;display:grid}.made-from button img,.made-from button .image-placeholder{object-fit:cover;border:1px solid var(--line-strong);background:var(--surface-2);border-radius:6px;width:64px;height:76px}.made-from button:hover img,.made-from button:focus-visible img{border-color:var(--accent)}.made-from .made-from-start img{border-style:dashed}.made-from small{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.made-from small.made-from-note{color:var(--muted);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.25;display:-webkit-box}.made-from.compact{align-items:center;gap:10px;margin:-6px 0 12px;display:flex}.made-from.compact ol{gap:6px;padding:0}.made-from.compact button{width:48px}.made-from.compact button img,.made-from.compact button .image-placeholder{width:48px;height:40px}.made-from.compact small{color:var(--muted);font-size:10.5px}.made-from-used{margin:10px 0 0;font-size:14px}.studio-dialog:has(.made-from-used) .reference-large img{max-height:calc(100dvh - 200px)}
.put-here{border:0;min-width:0;margin:0;padding:0}.put-here legend{color:var(--ink);margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.put-here-faces{scrollbar-width:thin;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.put-here-face{border:1px solid var(--line,#d9d2c3);width:64px;min-height:0;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;flex:0 0 64px;align-items:center;gap:3px;padding:4px;font-size:11px;line-height:1.2;display:flex}.put-here-face .put-here-pic{object-fit:cover;border-radius:6px;width:48px;max-width:none;height:48px;min-height:0;display:block}.put-here-face .put-here-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.put-here-face:hover{border-color:var(--forest)}.put-here-face.on{border-color:var(--forest);box-shadow:0 0 0 2px var(--forest);font-weight:600}.put-here .field-hint{margin:4px 0 0}.remember-line{flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;display:flex}
