.studio-dialog .chooser-restyle{border:1px solid var(--line);background:var(--surface);min-height:26px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;bottom:38px;left:6px}.studio-dialog .chooser-restyle:hover{border-color:var(--accent)}.studio-dialog .chooser-restyle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.studio-dialog .restyle-dialog .look-tiles{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.studio-dialog .restyle-dialog .look-tile{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:600 12.5px/1.2 var(--font-sans);text-align:center;cursor:pointer;border-radius:8px;justify-items:center;gap:4px;padding:8px 6px;display:grid}.studio-dialog .restyle-dialog .look-tile small{color:var(--muted);font-size:11.5px;font-weight:400}.studio-dialog .restyle-dialog .look-tile.on{border-color:var(--accent);background:var(--accent-soft)}.studio-dialog .restyle-dialog .look-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.studio-dialog .restyle-dialog .look-swatch{border:1px solid var(--line);border-radius:5px;width:100%;height:34px;display:block}.studio-dialog .restyle-dialog .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,.studio-dialog .restyle-dialog .look-swatch.sketch{background:linear-gradient(170deg,#0000 0 46%,#1c1c1c 46% 49%,#0000 49%),linear-gradient(20deg,#0000 0 62%,#1c1c1c 62% 64%,#0000 64%),repeating-linear-gradient(125deg,#0000 0 6px,#1c1c1cb3 6px 7px) 100%/30% 100% no-repeat,#fbfbf9}
.app-root .header-actions .find-button{gap:6px}[data-radix-popper-content-wrapper]>.menu.find-panel{width:min(460px,100vw - 20px);min-width:0;max-height:min(var(--radix-popover-content-available-height,80dvh), 80dvh);flex-direction:column;padding:0;display:flex;overflow:hidden}.find-panel .find-field{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.find-panel .find-field:focus-within{box-shadow:inset 0 -2px 0 var(--accent)}.find-panel .find-field input{min-width:0;box-shadow:none;color:var(--ink);font-size:var(--control-font);background:0 0;border:0;border-radius:0;flex:1;margin:0;padding:4px 0}.find-panel .find-field input:focus,.find-panel .find-field input:focus-visible{outline:none}.find-panel .find-results{overscroll-behavior:contain;flex:auto;min-height:0;padding:4px 6px 6px;overflow-y:auto}.find-panel .find-heading{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin:10px 8px 4px;font-size:11px;font-weight:600}.find-panel .find-hit{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:7px;gap:1px;padding:7px 10px;display:grid}.find-panel .find-hit strong,.find-panel .find-hit span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.find-panel .find-hit strong{font-size:13.5px;font-weight:600}.find-panel .find-hit span{color:var(--muted);font-size:12px}.find-panel .find-hit:hover,.find-panel .find-hit[aria-selected=true]{background:var(--surface-3);box-shadow:inset 2px 0 0 var(--accent)}.find-panel .find-more,.find-panel .find-empty{color:var(--muted);margin:4px 10px 8px;font-size:12.5px}.find-panel .find-foot{border-top:1px solid var(--line);min-height:30px;color:var(--faint);flex:none;margin:0;padding:7px 12px;font-size:12px}@media (max-height:700px){.find-panel .find-results{max-height:46dvh}}.since-toast{z-index:60;border:1px solid var(--line-strong);background:var(--surface-2);max-width:min(520px,100vw - 104px);color:var(--ink);font:13px/1.35 var(--font-sans);border-radius:10px;align-items:center;gap:10px;padding:8px 8px 8px 14px;animation:.22s ease-out since-toast-in;display:flex;position:fixed;bottom:18px;left:84px;box-shadow:0 10px 28px #00000047}.since-toast>svg{color:var(--accent);flex:none}.since-toast p{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.since-toast-open{min-height:var(--control-h-sm);border-radius:var(--control-radius);color:var(--accent);font:600 var(--control-font) / 1 var(--font-sans);cursor:pointer;background:0 0;border:0;flex:none;padding:0 10px}.since-toast-open:hover{background:var(--surface-3,#ffffff0f)}.since-toast-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:6px;display:inline-flex}.since-toast-close:hover{color:var(--ink)}@keyframes since-toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.since-toast{animation:none}}@media (max-width:620px){.since-toast{max-width:calc(100vw - 24px);bottom:76px;left:12px}}.app-root .whats-new-group{margin-top:26px}.app-root .whats-new-group-title{color:var(--ink);font:600 18px/1.3 var(--font-sans);letter-spacing:0;text-transform:none;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 4px;display:flex}.app-root .whats-new-group-title>span{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:600}.app-root .whats-new-group-title .quiet{gap:6px}.app-root .whats-new-month{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:10px}.app-root .whats-new-month>summary{color:var(--ink);cursor:pointer;align-items:center;gap:10px;padding:11px 16px;font-size:15px;font-weight:600;display:flex}.app-root .whats-new-month>summary>span{color:var(--muted);font-size:12.5px;font-weight:500}.app-root .whats-new-month[open]>summary{border-bottom:1px solid var(--line)}.app-root .whats-new-month>.whats-new-day{padding:0 16px 16px}.app-root .optional-tag{border:1px solid var(--line-strong);color:var(--muted);vertical-align:1px;border-radius:999px;margin-left:6px;padding:0 8px;font-size:11px;font-weight:500;line-height:18px;display:inline-block}.app-root .story-notes summary .optional-tag{margin-left:8px;font-size:11px}.app-root .optional-line{color:var(--muted);margin-top:3px}
.studio-dialog.import-characters{width:min(760px,100vw - 24px);max-height:calc(100dvh - 24px)}.studio-dialog.import-characters[open]{flex-direction:column;display:flex;overflow:hidden}.import-characters>*{flex:none}.import-characters>.import-list{flex:auto;min-height:0;overflow-y:auto}.import-characters .import-choose-file{margin:10px 0 14px}.import-characters .import-paste{gap:6px;display:grid}.import-characters .import-paste textarea{max-height:22vh}.import-characters .import-progress{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;display:flex}.import-characters .import-progress p{margin:0}.import-characters .import-summary{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.import-characters .import-summary p{margin:0}.import-characters .import-all{white-space:nowrap;gap:12px;display:flex}.import-characters .import-list{gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.import-characters .import-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px;display:grid}.import-characters .import-row.on{border-color:var(--accent)}.import-characters .import-choose{place-items:start center;padding-top:6px;display:grid}.import-characters .import-choose input{width:18px;height:18px}.import-characters .import-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.import-characters .import-name{flex:180px;min-width:0;font-weight:600}.import-characters .import-mode{flex:220px;min-width:0}.import-characters .import-tag{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px}.import-characters .import-tag.done{color:var(--accent)}.import-characters .import-tag.failed,.import-characters .import-problem{color:#8f3527}.import-characters .import-look,.import-characters .import-personality,.import-characters .import-problem{white-space:pre-line;margin:6px 0 0;font-size:13px}.import-characters .import-look{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.import-characters .import-personality{color:var(--muted)}.import-characters .import-pictures{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.import-characters .import-pictures li{flex:220px;align-items:center;gap:8px;min-width:0;display:flex}.import-characters .import-pictures label{min-width:0;color:var(--muted);flex:1;gap:2px;font-size:12px;display:grid}.import-characters .import-pictures input{min-width:0}.import-characters .import-thumb{background:var(--surface-2);border-radius:8px;flex:none;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.import-characters .import-thumb img{object-fit:cover;width:100%;height:100%}.import-characters .import-actions{border-top:1px solid var(--line);flex-wrap:wrap;padding-top:10px}.import-status{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;font-size:14px;display:flex}.nav-flyout .nav-flyout-add.nav-flyout-more{border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--ink);border-top:0;margin-top:0}@media (max-width:620px){.import-characters .import-summary{flex-wrap:wrap}}
.app-root .character-library .subject-main{gap:20px;max-width:1120px}.app-root .character-editor.subject-sheet{min-width:0;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;gap:16px;padding:0;display:grid}.app-root .character-editor.subject-sheet>form.scene-paper{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.app-root .character-editor.subject-sheet .form-fields{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.app-root .character-editor.subject-sheet .form-fields>*{margin-top:0;margin-bottom:0}.app-root .character-editor.subject-sheet .character-fields{gap:16px;min-width:0;display:grid}:is(.app-root .character-editor.subject-sheet,.app-root .focus-bar,.app-root .subject-main>.character-sheets) button.quiet:hover:not(:disabled){background:var(--surface-3)}:is(.app-root .character-editor.subject-sheet,.app-root .focus-bar,.app-root .subject-main>.character-sheets) button svg{width:var(--control-icon);height:var(--control-icon);flex:none}:is(.app-root .character-editor.subject-sheet,.app-root .subject-main>.character-sheets) .text-button{min-height:0;color:var(--muted);align-items:center;gap:4px;font-weight:500;text-decoration:none;display:inline-flex}:is(.app-root .character-editor.subject-sheet,.app-root .subject-main>.character-sheets) .text-button:hover:not(:disabled){color:var(--ink);text-decoration:underline}.app-root .character-editor.subject-sheet input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.app-root .character-editor.subject-sheet select,.app-root .character-editor.subject-sheet .select-trigger,.app-root .subject-main>.character-sheets input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]){height:var(--control-h);background:var(--surface);line-height:1.2}.app-root .character-editor.subject-sheet textarea,.app-root .subject-main>.character-sheets textarea{min-height:calc(var(--control-h) * 2);background:var(--surface);line-height:1.5}.app-root .subject-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;display:flex}.app-root .subject-head-title{flex:360px;min-width:0}.app-root .subject-head-end{align-items:center;gap:var(--control-gap);min-height:var(--control-h);flex-wrap:wrap;margin-left:auto;display:flex}.app-root .subject-status,.app-root .subject-missing{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;line-height:1.3;display:inline-flex}.app-root .subject-status.saved svg{color:var(--ok)}.app-root .subject-status.needs,.app-root .subject-missing{color:var(--warn)}.app-root .subject-missing svg,.app-root .subject-status svg{width:var(--control-icon);height:var(--control-icon);flex:none}.app-root .focus-bar{gap:var(--control-gap)}.app-root .focus-bar .focus-switch{height:var(--control-h);min-height:var(--control-h);padding:0 var(--control-pad-x) 0 5px;border-radius:var(--control-radius);font-size:var(--control-font);gap:8px;font-weight:600}.app-root .focus-bar .focus-switch .pick-face{border-radius:6px;width:26px;height:26px;font-size:12px}.app-root .focus-bar .focus-switch>svg{width:var(--control-icon);height:var(--control-icon)}.app-root .focus-bar .focus-name{max-width:36ch}.app-root .focus-bar .focus-crumb{max-width:22ch;height:var(--control-h);border-radius:var(--control-radius);color:var(--muted);font-size:var(--control-font);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:2px;padding:0 2px;font-weight:500;display:inline-flex;overflow:hidden}.app-root .focus-bar .focus-crumb:hover{color:var(--ink);text-decoration:underline}.app-root .character-editor.subject-sheet .subject-draw{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);gap:14px;margin:0;padding:16px;display:grid}.app-root .character-editor.subject-sheet .subject-draw-words{color:var(--ink);font:600 14px/1.3 var(--font-sans);gap:6px;margin:0;display:grid}.app-root .character-editor.subject-sheet .subject-draw-words textarea{resize:vertical;font-weight:400}.app-root .character-editor.subject-sheet .subject-refs>h2{color:var(--ink);font:600 14px/1.3 var(--font-sans);margin:0}.app-root .character-editor.subject-sheet .subject-draw-row{align-items:center;gap:var(--control-gap);flex-wrap:wrap;display:flex}.app-root .character-editor.subject-sheet .subject-draw-row .primary{margin-left:auto}.app-root .character-editor.subject-sheet .voice-button{height:var(--control-h);padding:0 var(--control-pad-x);border-radius:var(--control-radius);font-size:var(--control-font)}.app-root .character-editor.subject-sheet .voice-button:not(.listening){background:var(--surface-2)}.app-root .character-editor.subject-sheet .voice-button:hover:not(:disabled):not(.listening){border-color:var(--line-strong);background:var(--surface-3)}.app-root .character-editor.subject-sheet .voice-button svg{width:var(--control-icon);height:var(--control-icon)}.app-root .character-editor.subject-sheet .subject-draw-count{height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);align-items:center;gap:2px;padding:2px;display:inline-flex}.app-root .character-editor.subject-sheet .subject-draw-count button{min-width:36px;height:calc(var(--control-h) - 6px);border-radius:calc(var(--control-radius) - 2px);color:var(--muted);font-size:var(--control-font);background:0 0;border:0;padding:0 10px;font-weight:500;line-height:1}.app-root .character-editor.subject-sheet .subject-draw-count button.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--ink)}.app-root .character-editor.subject-sheet .reference-picker.compact{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.app-root .ref-strip{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.app-root .ref-strip.dragging{outline:2px dashed var(--ink);outline-offset:6px;border-radius:var(--control-radius)}.app-root .ref-item{gap:6px;width:112px;display:grid}.app-root .ref-frame{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);width:112px;height:112px;position:relative;overflow:hidden}.app-root .ref-item.main .ref-frame{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.app-root .ref-frame .reference-zoom{border:0;border-radius:0;width:100%;height:100%;padding:0;display:block}.app-root .ref-frame .reference-zoom img,.app-root .ref-frame .reference-zoom .image-placeholder{object-fit:cover;object-position:top;border:0;border-radius:0;width:100%;height:100%;display:block}.app-root .ref-number{z-index:2;background:var(--ink);min-width:22px;height:22px;color:var(--surface);font:700 12px/1 var(--font-sans);pointer-events:none;border-radius:11px;place-items:center;padding:0 6px;display:grid;position:absolute;top:4px;left:4px}.app-root .ref-frame .ref-chip{z-index:2;border-radius:var(--control-radius);color:#fff;cursor:pointer;background:#0a0b0c9e;border:0;place-items:center;width:28px;height:28px;min-height:0;padding:0;display:grid;position:absolute}.app-root .ref-frame .ref-chip:hover:not(:disabled){background:#0a0b0cd1}.app-root .ref-frame .ref-remove{top:4px;right:4px}.app-root .ref-frame .ref-more{bottom:4px;right:4px}.app-root .ref-tags{z-index:2;pointer-events:none;flex-direction:column;align-items:flex-start;gap:3px;max-width:calc(100% - 40px);display:flex;position:absolute;bottom:4px;left:4px}.app-root .ref-tag{background:var(--ink);color:var(--surface);font:600 11.5px/1.3 var(--font-sans);border-radius:6px;padding:2px 7px}.app-root .character-editor.subject-sheet .ref-note,.app-root .character-editor.subject-sheet input.ref-note:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]){width:100%;min-width:0;height:var(--control-h-sm);min-height:var(--control-h-sm);padding:0 10px}.ref-menu .ref-blank{width:14px;height:14px;display:inline-block}.app-root .ref-add{border:1.5px dashed var(--line-strong);border-radius:var(--control-radius);width:112px;height:112px;color:var(--muted);grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.app-root .ref-add.dragging{border-style:solid;border-color:var(--ink);background:var(--surface-2)}.app-root .ref-add-main{color:var(--ink);font-size:var(--control-font);cursor:pointer;align-content:center;place-items:center;gap:2px;margin:0;font-weight:500;display:grid;position:relative}.app-root .ref-add-main:hover,.app-root .ref-add-main:focus-within{background:var(--surface-2)}.app-root .ref-add-main:has(:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.app-root .ref-add.busy .ref-add-main{cursor:progress}.app-root .ref-hint{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.app-root .ref-borrowed{border:1px solid var(--warn);border-radius:var(--control-radius);background:var(--warn-soft);color:var(--ink);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.4;display:flex}.app-root .subject-shots{gap:12px;min-width:0;display:grid}.app-root .subject-shots header{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-root .subject-shots h3{color:var(--ink);font:600 14px/1.3 var(--font-sans);align-items:center;gap:8px;margin:0;display:inline-flex}.app-root .subject-shots-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-shots-grid{flex-wrap:wrap;gap:10px;display:flex}.app-root .subject-shots-grid .star-tile{aspect-ratio:2/3;height:168px}.app-root .subject-shots-grid .star-tile.landscape{aspect-ratio:3/2}.app-root .subject-shots-grid .star-tile.square{aspect-ratio:1}.app-root .subject-shots-grid .star-tile-star.on{color:#fff}.app-root .subject-shots-empty{color:var(--muted);margin:0;font-size:13px}.app-root .character-editor.subject-sheet .subject-details{border-top:1px solid var(--line);padding-top:14px}.app-root .character-editor.subject-sheet .subject-uploads{padding-top:14px}.app-root .subject-main>.character-sheets{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;margin:0;padding:20px 0 0}.app-root .subject-main>.character-sheets>button{justify-self:start}.app-root .subject-main>.character-sheets h2{font:600 14px/1.3 var(--font-sans)}.menu .menu-rule{border:0;border-top:1px solid var(--line);height:0;margin:4px 0}@media (max-width:760px){.app-root .character-editor.subject-sheet .subject-draw{padding:12px}.app-root .character-editor.subject-sheet .subject-draw-row .primary{margin-left:0}}.app-root .subject-head-title .subject-name-entry{min-width:0;max-width:360px;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(--ink);font:600 15px/1 var(--font-sans);flex:220px}.app-root .subject-head-title .subject-name-entry:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app-root .subject-missing{color:var(--muted)}.app-root .character-editor.subject-sheet .base-figure{background:0 0;border:0;padding:0}.app-root .character-editor.subject-sheet .base-figure .check-label{font-size:var(--control-font);align-items:center;margin-top:4px}.app-root .character-editor.subject-sheet .base-figure .check-label input{margin-top:0}.app-root .character-editor.subject-sheet .story-notes{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;margin:4px 0 0;padding:14px 0 0}.app-root .subject-status.needs{color:var(--muted)}.app-root .subject-head-title:has(.subject-name-entry){align-items:center;gap:var(--control-gap);flex-wrap:wrap;display:flex}.app-root .subject-head-title:has(.subject-name-entry)>.focus-bar{flex:none}.app-root .ref-drop{border:1.5px dashed var(--line-strong);border-radius:var(--control-radius);width:100%;color:var(--muted);text-align:center;justify-items:center;gap:6px;padding:22px 16px 18px;transition:border-color .12s,background .12s;display:grid}.app-root .ref-drop.dragging{border-style:solid;border-color:var(--ink);background:var(--surface-2)}.app-root .ref-drop.busy{cursor:progress}.app-root .ref-drop>svg{color:var(--muted)}.app-root .ref-drop-title{color:var(--ink);font:500 14px/1.35 var(--font-sans);margin:2px 0 0}.app-root .ref-drop-sub{margin:0;font-size:12.5px;line-height:1.4}.app-root .ref-drop-actions{justify-content:center;gap:var(--control-gap);flex-wrap:wrap;margin-top:8px;display:flex}.app-root .ref-drop-button{height:var(--control-h-sm);padding:0 var(--control-pad-x);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);color:var(--ink);font:500 var(--control-font) / 1 var(--font-sans);cursor:pointer;align-items:center;gap:6px;margin:0;display:inline-flex;position:relative}.app-root .ref-drop-button:hover{background:var(--surface-2)}.app-root .ref-drop-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root .ref-drop-button:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.app-root .ref-drop .ref-drop-actions label.ref-drop-button{flex-direction:row;grid-template-columns:none;margin:0;font-weight:500;display:inline-flex}
:root{--control-h-xs:24px;--control-h-sm:30px;--control-h:36px;--control-h-lg:44px;--control-radius-sm:6px;--control-radius:8px;--control-pad-x:12px;--control-font-sm:12px;--control-font:13.5px;--control-font-touch:16px;--control-icon:16px;--control-gap:8px;--menu-row-h:32px;--list-row-h:40px;--nav-item-h:48px;--nav-label-font:11px}@media (max-width:620px){:root{--nav-label-font:10px}}@media (pointer:coarse){:root{--control-h:40px;--control-h-sm:34px;--menu-row-h:40px}}:is(.menu,.cast-picker-popover,.privacy-popover,.export-dialog) :is(.primary,.quiet,.outline){min-height:var(--control-h);padding:0 var(--control-pad-x);border-radius:var(--control-radius);font-size:var(--control-font);justify-content:center;align-items:center;gap:6px;line-height:1.2;display:inline-flex}:is(.menu,.cast-picker-popover,.privacy-popover,.export-dialog) .icon-button{width:var(--control-h);height:var(--control-h);border-radius:var(--control-radius);min-height:0;padding:0}:is(.app-root,.studio-dialog,.export-dialog,.menu,.cast-picker-popover) :is(.primary,.quiet,.outline,.text-button,.icon-button:not(.remove,.chooser-remove)) svg,:is(.menu,.select-content) :is(.menu-item,.select-item) svg{width:var(--control-icon);height:var(--control-icon);flex:none}:is(.app-root,.studio-dialog,.export-dialog) textarea{padding:8px var(--control-pad-x);line-height:1.5}.select-item{min-height:var(--menu-row-h);align-items:center;gap:8px;padding:4px 10px;display:flex}.app-root .header-actions>*,.app-root .header-actions .undo-buttons{flex:none}.app-root .header-actions .undo-buttons{gap:0}.app-root .renderer-status svg{width:var(--control-icon);height:var(--control-icon)}@media (max-width:620px){.app-root .header-actions .outline{min-width:var(--control-h);padding:0}}.app-root .candidate .tile-action{height:var(--control-h-sm);border-radius:var(--control-radius);font-size:var(--control-font);padding:0 9px;line-height:1}.app-root .candidate .tile-star,.app-root .candidate .tile-icon{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--control-radius)}.app-root .candidate .tile-action svg,.app-root .candidate .tile-icon svg,.app-root .candidate .tile-star svg{width:var(--control-icon);height:var(--control-icon)}.app-root .run-controls{gap:var(--control-gap)}.app-root .dock-chip svg{width:var(--control-icon);height:var(--control-icon);flex:none}.app-root .prompt-dock .dock-row{gap:var(--control-gap)}.app-root .library-bar,.app-root .bulk-actions,.app-root .library-bulk{align-items:center}.app-root .library-bar{gap:var(--control-gap)}.app-root .library-bulk{gap:var(--control-gap) 14px;border-radius:var(--control-radius)}.app-root .bulk-actions{gap:var(--control-gap)}.app-root .facet{align-items:center;display:flex}.confirm-actions{align-items:center;gap:var(--control-gap)}.confirm-actions>:is(.primary,.quiet,.outline){min-height:var(--control-h)}.app-root .sidebar nav svg{width:20px;height:20px}.voice-button.dock-chip{min-height:var(--control-h-sm);height:var(--control-h-sm)}
.opening-mark{color:var(--muted);text-align:center;justify-items:center;gap:14px;display:grid}.opening-mark svg{border-radius:11px;animation:2.4s ease-in-out infinite opening-breathe}.opening-mark p{color:var(--ink);font:500 15px/1.35 var(--font-sans);margin:0}.opening-cover{z-index:70;background:var(--paper);place-items:center;display:grid;position:fixed;inset:0}.opening-page{place-items:center;min-height:min(60vh,520px);display:grid}.opening-page .opening-mark p{color:var(--muted);font-size:13.5px}.share-page>.opening-mark{align-content:center;min-height:70vh}@keyframes opening-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.82;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.opening-mark svg{animation:none}}
.app-root .board-head{gap:12px;margin-bottom:20px}.app-root .board-meta{gap:var(--control-gap) 14px}.app-root .board-empty{text-align:center;justify-items:center;gap:12px;width:100%;max-width:560px;margin:clamp(12px,7vh,64px) auto 0;display:grid}.app-root .board-empty h2{font:600 22px/1.25 var(--font-sans);letter-spacing:0;color:var(--ink);margin:0}.app-root .board-empty-lead{font-size:var(--control-font);color:var(--muted);margin:0}.app-root .board-empty-add{gap:var(--control-gap);width:100%;margin-top:6px;display:flex}.app-root .board-empty-add input{flex:auto;min-width:0}.app-root .board-empty-add .primary{flex:none}.app-root .board-empty-status{justify-content:center;align-items:center;gap:var(--control-gap);min-height:var(--control-h-sm);display:flex}.app-root .board-empty-note{color:var(--muted);margin:0;font-size:12.5px}.app-root .board-empty-status .quiet{min-height:var(--control-h-sm)}.app-root .board-empty-or{width:100%;color:var(--faint);align-items:center;gap:12px;margin:0;font-size:12.5px;display:flex}.app-root .board-empty-or:before,.app-root .board-empty-or:after{content:"";background:var(--line);flex:1;height:1px}.app-root .board-empty-ways{gap:var(--control-gap);width:100%;display:flex}.app-root .board-empty-ways>button{flex:1 1 0;min-width:0}@media (max-width:520px){.app-root .board-empty-add,.app-root .board-empty-ways{flex-direction:column}.app-root .board-empty-add .primary{width:100%}}.app-root .frame-picture{border-radius:var(--control-radius)}.app-root .frame-number{min-width:var(--control-h-sm);height:var(--control-h-sm);font:600 var(--control-font) / 1 var(--font-sans)}.app-root .frame-grip,.app-root .frame-more{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--control-radius)}.app-root .frame-grip{right:calc(10px + var(--control-h-sm) + 6px)}.app-root .frame-more svg,.app-root .frame-grip svg{width:var(--control-icon);height:var(--control-icon)}.app-root .frame-waiting-actions .quiet,.app-root .frame-waiting-actions .primary{min-height:var(--control-h-sm)}.app-root .frame-caption{border-radius:var(--control-radius);font:400 var(--control-font) / 1.45 var(--font-sans);padding:6px 8px}.app-root .board-add form{gap:var(--control-gap);border-radius:var(--control-radius);grid-template-rows:auto minmax(0,1fr) auto;padding:14px}.app-root .board-add textarea{height:100%;min-height:0;font:400 var(--control-font) / 1.45 var(--font-sans)}.app-root .board-add-actions{grid-template-columns:1fr 1fr;gap:6px;width:100%;margin-top:0;display:grid}.app-root .board-add-actions>button{min-width:0;min-height:var(--control-h-sm);white-space:nowrap;padding:0 8px}@media (max-width:760px){.app-root .board-add-actions{grid-template-columns:1fr}}.studio-dialog.starred-picker .chooser-pick img{object-fit:contain}
.app-root .lib-bar{padding:10px 0;container-type:inline-size}.app-root .lib-row{align-items:center;gap:var(--control-gap);flex-wrap:wrap;display:flex}.app-root .lib-row>*{flex:none}.app-root .lib-search{align-items:center;gap:var(--control-gap);min-width:110px;max-width:420px;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(--muted);flex:240px;display:flex;position:relative}.app-root .lib-search:focus-within{border-color:var(--accent);outline:2px solid var(--accent-soft)}.app-root .lib-search svg{width:var(--control-icon);height:var(--control-icon);flex:none}.app-root .lib-search input,.app-root .lib-search input:focus{min-width:0;height:100%;min-height:0;box-shadow:none;color:var(--ink);font:var(--control-font) / 1.3 var(--font-sans);background:0 0;border:0;outline:0;flex:1;padding:0}.app-root .lib-search input::-webkit-search-cancel-button{display:none}.app-root .lib-views{width:auto;display:inline-flex}.app-root .lib-views button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.app-root .lib-views .research-shelf-button:hover{color:var(--ink)}.app-root .lib-row .count{margin:0;position:static;inset:auto}.app-root .lib-views .research-shelf-button .count{background:var(--surface-3);min-width:18px;height:18px;color:var(--muted);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.app-root .lib-row .lib-size{width:var(--control-h);justify-content:center;padding:0}.app-root .lib-row .select-trigger{width:auto;min-width:0}.app-root .lib-row .quiet{white-space:nowrap}.app-root .lib-row .facets-toggle[aria-pressed=true]{background:var(--surface-3);color:var(--ink)}@container (max-width:700px){.lib-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@container (max-width:600px){.lib-search{flex-basis:100%;order:-1;max-width:none}}@media (max-width:900px){.app-root .lib-size{display:none}}.app-root .library-facets:not(.sheet) .facets-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.app-root .library-facets .facets-head h2{font:600 14px/1.3 var(--font-sans);color:var(--ink);margin:0}.app-root .library-facets .facets-head .icon-button{width:var(--control-h-sm);height:var(--control-h-sm);min-height:0;padding:0}.app-root .lib-count-line{color:var(--muted);text-align:left;margin:0 0 10px;font-size:12.5px;line-height:1.4}.app-root .lib-count-line .text-button{font-size:inherit}.app-root .lib-more{align-items:center;gap:var(--control-gap);color:var(--muted);flex-direction:column;margin-top:24px;display:flex;position:relative}.app-root .lib-end{pointer-events:none;height:1px;position:absolute;inset:-200px 0 auto}.app-root .lib-more-note{align-items:center;gap:var(--control-gap);font-size:var(--control-font);margin:0;display:flex}.app-root .lib-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;display:flex}.app-root .lib-empty h2{color:var(--ink);font:600 16px/1.3 var(--font-sans);margin:0}.app-root .lib-empty p{margin:0}.app-root .library-title{-webkit-line-clamp:2;overflow-wrap:anywhere}.app-root .library-meta{color:var(--muted)}.app-root .library-image :is(.library-state,.library-count,.library-basis){-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:22px;color:var(--ink);font:600 11px/1 var(--font-sans);background:#0a0b0cb8;border-radius:999px;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.app-root .library-image .library-basis{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 52px);position:absolute;top:8px;left:8px;overflow:hidden}.app-root .library-grid.selecting .library-basis{max-width:calc(100% - 80px);left:36px}.app-root .library-image .library-count{bottom:8px;right:8px}.app-root .library-image .library-count svg{flex:none;width:12px;height:12px}.app-root .library-image .library-state.approved{color:var(--ok)}.app-root .library-image .library-state.changes{color:var(--warn)}@media (max-width:760px){.app-root .library-image :is(.library-state,.library-count,.library-basis){height:20px;padding:0 6px;font-size:10px}}
.app-root .ref-add{grid-template-rows:minmax(0,1fr)}.app-root .ref-add button.ref-add-main{width:100%;height:100%;min-height:0;color:var(--ink);font-size:var(--control-font);cursor:pointer;background:0 0;border:0;border-radius:0;align-content:center;place-items:center;gap:2px;padding:0;font-weight:500;display:grid}.app-root .ref-add button.ref-add-main:hover:not(:disabled),.app-root .ref-add button.ref-add-main[aria-expanded=true]{background:var(--surface-2)}.app-root .ref-add button.ref-add-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app-root .ref-add.busy button.ref-add-main{cursor:progress}.app-root .ref-note-field{gap:2px;margin:0;display:grid}.app-root .ref-note-label{color:var(--muted);font-size:var(--control-font-sm);font-weight:500;line-height:1.2}.app-root .subject-draw-ask{color:var(--muted);font-size:var(--control-font);font-weight:400}@media (max-width:620px){.app-root .topbar>h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-root .topbar>.header-actions{margin-left:auto}}.app-root .ref-add{position:relative}.app-root .frame-needs-words{color:var(--muted);font-size:var(--control-font-sm)}.app-root .pick-actions .outline-toggle{color:var(--ink)}.app-root .draw-needs:has(button){align-items:center;gap:var(--control-gap);flex-wrap:wrap;display:flex}.app-root .draw-needs>span{flex:260px}
.studio-dialog.refine-host[open]{flex-direction:column;max-height:calc(100dvh - 24px);display:flex;overflow:hidden}.studio-dialog.refine-wide.refine-host{max-height:calc(100dvh - 16px);padding:16px}.studio-dialog.refine-host .dialog-heading{flex:none;margin-bottom:10px}.studio-dialog.refine-host .refine-dialog{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.studio-dialog.refine-host .refine-body{flex-direction:column;flex:auto;gap:14px;min-height:0;display:flex;overflow-y:auto}.studio-dialog.refine-host .refine-side>.subtle{margin:0}.studio-dialog.refine-host .refine-foot{border-top:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;gap:8px;padding-top:10px;display:flex}.studio-dialog.refine-host .refine-foot .field-error{margin:0}.studio-dialog.refine-host .refine-canvas{min-width:0}.studio-dialog.refine-host .refine-canvas :is(.markup-painter,.mask-painter){gap:8px}.studio-dialog.refine-host .refine-canvas .field-hint{margin:0}@media (min-width:761px){.studio-dialog.refine-host .refine-dialog.split{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:stretch;gap:10px 20px;display:grid}.studio-dialog.refine-host .refine-dialog.split .refine-body{display:contents}.studio-dialog.refine-host .refine-dialog.split .refine-canvas{--stage-height:min(calc(100dvh - 190px), 860px);grid-area:1/1/span 2;align-self:start}.studio-dialog.refine-host .refine-dialog.split .refine-side{grid-area:1/2;min-height:0;padding-right:4px;overflow-y:auto}.studio-dialog.refine-host .refine-dialog.split .refine-foot{grid-area:2/2}}@media (max-width:760px){.studio-dialog.refine-host .refine-dialog.split .refine-canvas{--stage-height:50dvh}.studio-dialog.refine-host .refine-side{flex:none}}.studio-dialog .refine-words-tools{align-items:center;gap:var(--control-gap);flex-wrap:wrap;display:flex}.studio-dialog .refine-words-tools .voice{flex-wrap:nowrap}.studio-dialog .preserve-toggle.check-label{cursor:pointer;align-items:flex-start;gap:10px;width:100%;display:flex}.studio-dialog .preserve-toggle input{margin-top:3px}.studio-dialog .preserve-toggle strong{color:var(--ink);font-size:var(--control-font);font-weight:600;display:block}.studio-dialog .preserve-toggle small{color:var(--muted);font-size:var(--control-font-sm);align-items:center;gap:8px;margin-top:2px;line-height:1.4;display:flex}.app-root .run-title-row{align-items:center;gap:var(--control-gap);min-width:0;display:flex}.app-root .run-title-row h3{flex:0 auto;min-width:0}.app-root .run-title-row .run-more{width:var(--control-h-sm);height:var(--control-h-sm);flex:none;min-height:0;padding:0}.prompt-dock .dock-chips>.voice{flex:none}.prompt-dock .dock-chips.compact{gap:var(--control-gap);flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none}.menu.dock-more-menu{width:min(360px,100vw - 20px);max-height:min(420px,60vh);overflow-y:auto}.menu.dock-more-menu .dock-more-recent{white-space:normal;text-align:left;flex-shrink:0;height:auto;min-height:0;padding-top:8px;padding-bottom:8px}.menu.dock-more-menu .recent-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.menu.dock-more-menu .menu-note{border-top:1px solid var(--line);margin:4px 0 0;padding:8px 10px 4px}@media (max-width:760px){.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}.menu .menu-item.touch-only{display:flex}}.app-root .first-run .first-run-next{color:var(--muted);font-size:var(--control-font);margin:0}.restyle-dialog .refine-side>.confirm-actions{z-index:2;background:var(--surface);margin-bottom:-4px;padding:10px 0 6px;position:sticky;bottom:-1px;box-shadow:0 -10px 14px -10px #00000059}@media (max-width:760px){.studio-dialog.refine-host .refine-dialog.split .refine-canvas{--stage-height:34dvh}}
.app-root .ref-strip.has-items{flex-wrap:nowrap;min-width:0}.app-root .ref-strip.has-items>.ref-add{flex:none}.app-root .ref-items{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:auto;gap:12px;min-width:0;padding-bottom:6px;display:flex;overflow-x:auto}.app-root .ref-items>.ref-item{flex:none}.app-root .subject-top{grid-template-columns:minmax(180px,26%) minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.app-root .subject-top-work{min-width:0}.app-root .subject-main{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);cursor:zoom-in;width:100%;padding:0;display:block;overflow:hidden}.app-root .subject-main-label{border-top:1px solid var(--line);color:var(--muted);font-size:var(--control-font-sm);text-align:left;padding:6px 10px;display:block}.app-root .subject-main:hover{border-color:var(--muted)}.app-root .subject-main img,.app-root .subject-main .image-placeholder{object-fit:contain;width:100%;height:auto;max-height:calc(100dvh - 220px);display:block}@media (max-width:900px){.app-root .subject-top{grid-template-columns:minmax(0,1fr)}.app-root .subject-main{order:2}.app-root .subject-main img,.app-root .subject-main .image-placeholder{max-height:34vh}}
.version-words{color:var(--muted);font-size:var(--control-font-sm);overflow-wrap:anywhere;margin:0;line-height:1.45}.version-words span{color:var(--faint);margin-right:4px;font-weight:600}.mask-tools .mask-delete{margin-left:auto}
.app-root .scene-head{gap:8px;min-width:0;margin-bottom:12px;display:grid}.app-root .scene-head-row{align-items:center;gap:10px;min-width:0;display:flex}.app-root .scene-head-row .segmented{flex:none}.app-root .scene-uses{min-width:0;color:var(--muted);font-size:var(--control-font-sm);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;overflow:hidden}.app-root .scene-title-input{flex:auto;min-width:0}.app-root .scenes-landing{gap:12px;padding-bottom:160px;display:grid}.app-root .scenes-landing h2{margin:0;font-size:16px;font-weight:600}.app-root .scenes-landing-empty{color:var(--muted)}.studio-dialog.add-scene{flex-direction:column;width:min(720px,100vw - 32px);max-height:calc(100dvh - 32px);display:flex}.add-scene-filters{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 12px;display:grid}.add-scene-place{gap:4px;min-width:0;display:grid}.add-scene-search{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--faint);grid-column:1/-1;align-items:center;gap:8px;padding:0 10px;display:flex}.add-scene-search input{min-width:0;box-shadow:none;background:0 0;border:0;flex:1}.add-scene-status{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.add-scene-fav.on{color:var(--accent)}.add-scene-heading{color:var(--faint);font-size:var(--control-font-sm);letter-spacing:.06em;text-transform:uppercase;margin:16px 0 6px;font-weight:600}.add-scene-list{border-top:1px solid var(--line);flex:auto;min-height:120px;margin:0;padding:0;list-style:none;overflow-y:auto}.add-scene-list li{border-bottom:1px solid var(--line)}.add-scene-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:8px 4px;display:grid}.add-scene-row:hover,.add-scene-row.on{background:var(--surface-2)}.add-scene-thumb{aspect-ratio:1;background:var(--surface-3);border-radius:6px;width:48px;overflow:hidden}.add-scene-thumb img{object-fit:cover;width:100%;height:100%}.add-scene-words{gap:2px;min-width:0;display:grid}.add-scene-words small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.add-scene-check{aspect-ratio:1;border:1.5px solid var(--line-strong);border-radius:5px;place-items:center;width:20px;display:grid}.add-scene-row.on .add-scene-check{border-color:var(--accent);background:var(--accent);color:var(--paper)}.add-scene-none{color:var(--muted);margin:12px 0}.add-scene .dialog-actions{justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.app-root .scene-head-row .segmented{width:auto}.app-root .name-picker{min-width:140px;max-width:220px}.app-root .name-picker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.name-menu{width:260px;padding:6px}.name-search{border:1px solid var(--line-strong);border-radius:var(--control-radius);color:var(--faint);align-items:center;gap:6px;margin-bottom:6px;padding:0 8px;display:flex}.name-search input{min-width:0;box-shadow:none;background:0 0;border:0;flex:1}.name-list{max-height:min(320px,50dvh);overflow-y:auto}.name-list .menu-gap{width:14px;display:inline-block}.name-none{color:var(--muted);margin:6px 8px}@media (min-width:901px){.app-root .sidebar nav button.group-start{margin-top:13px;position:relative}.app-root .sidebar nav button.group-start:before{content:"";background:var(--line);height:1px;position:absolute;top:-8px;left:14px;right:14px}}@media (max-width:600px){.app-root .scene-head-row{flex-wrap:wrap}.app-root .scene-uses{white-space:normal;flex-basis:100%}}.app-root .scene-head-row .segmented,.add-scene-status .segmented{grid-template-columns:none;grid-auto-columns:auto;grid-auto-flow:column;width:max-content;max-width:100%}
.app-root .board-tools{align-items:center;gap:var(--control-gap);flex-wrap:wrap;margin:0 0 16px;display:flex}.app-root .board-search{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);min-width:0;max-width:420px;color:var(--faint);flex:220px;align-items:center;gap:8px;padding:0 10px;display:flex}.app-root .board-search input{min-width:0;box-shadow:none;background:0 0;border:0;flex:1}.app-root .board-no-match{color:var(--muted)}.app-root .board-frame{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;padding:10px}.app-root .board-frame .frame-top{align-items:center;gap:4px;display:flex}.app-root .frame-label{font-weight:600;font-size:var(--control-font);flex:1}.app-root .board-frame .frame-top .frame-grip,.app-root .board-frame .frame-top .frame-more{opacity:1;color:var(--muted);background:0 0;position:static}.app-root .board-frame .frame-top .frame-more:hover{background:var(--surface-2);color:var(--ink)}.app-root .board-frame .frame-picture{box-shadow:none}.app-root .board-frame .frame-image{cursor:pointer}.app-root .board-frame .frame-waiting{background:var(--surface-2);color:var(--muted);font-size:var(--control-font-sm);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.app-root .frame-words{gap:4px;min-width:0;display:grid}.app-root .frame-title{font-size:var(--control-font);margin:0;font-weight:600;line-height:1.35}.app-root .frame-description{color:var(--muted);font-size:var(--control-font-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.app-root .frame-notes{border-top:1px solid var(--line);padding-top:6px}.app-root .frame-notes summary{color:var(--muted);font-size:var(--control-font-sm);cursor:pointer}.app-root .frame-notes textarea{resize:vertical;width:100%;margin-top:6px}.app-root .book-organizer{grid-template-columns:minmax(200px,250px) minmax(0,1fr);align-items:start;gap:20px;margin:8px 0 20px;display:grid}@media (max-width:760px){.app-root .book-organizer{grid-template-columns:minmax(0,1fr)}}.app-root .book-chapters,.app-root .book-chapter-work{gap:8px;min-width:0;display:grid}.app-root .book-chapters h3,.app-root .book-chapter-work h3{font-size:var(--control-font);margin:0;font-weight:600}.app-root .book-chapters ol,.app-root .book-scenes{gap:4px;margin:0;padding:0;list-style:none;display:grid}.app-root .book-chapter{min-height:var(--list-row-h);border-radius:var(--control-radius);border:1px solid #0000;align-items:center;gap:6px;padding:0 4px;display:flex}.app-root .book-chapter.on{background:var(--surface-2);border-color:var(--line-strong)}.app-root .book-chapter.drop-target,.app-root .book-unassigned.drop-target,.app-root .book-scene.drop-target{outline:2px dashed var(--accent);outline-offset:2px}.app-root .chapter-grip{color:var(--faint);cursor:grab;place-items:center;display:grid}.app-root .book-chapter .chapter-number{color:var(--muted);font-variant-numeric:tabular-nums}.app-root .book-chapter .chapter-title{min-width:0;color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:0 4px;overflow:hidden}.app-root .book-chapter .chapter-title-input{flex:1;min-width:0}.app-root .chapter-count{color:var(--faint);font-size:var(--control-font-sm)}.app-root .book-chapter .chapter-remove{opacity:0}.app-root .book-chapter:hover .chapter-remove,.app-root .book-chapter:focus-within .chapter-remove{opacity:1}.app-root .book-unassigned{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);height:auto;color:var(--ink);text-align:left;gap:2px;padding:10px 12px;display:grid}.app-root .book-unassigned.on{background:var(--surface-2)}.app-root .book-unassigned small{color:var(--muted)}.app-root .book-add-chapter{gap:6px;display:flex}.app-root .book-add-chapter input{flex:1;min-width:0}.app-root .book-chapter-work header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.app-root .book-scene{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);grid-template-columns:auto 44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:6px 8px;display:grid}.app-root .book-scene.dragging{opacity:.4}.app-root .book-scene-thumb{aspect-ratio:1;background:var(--surface-2);width:44px;color:var(--faint);border-radius:6px;place-items:center;display:grid;overflow:hidden}.app-root .book-scene-thumb img{object-fit:cover;width:100%;height:100%}.app-root .book-scene-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.app-root .book-scenes-empty{color:var(--muted);margin:4px 0}.app-root .book-add-scene{justify-self:start}
.app-root .chapter-words{border-top:1px solid var(--line);gap:8px;margin-top:16px;padding-top:12px;display:grid}.app-root .chapter-words header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.app-root .chapter-words h4{font-size:var(--control-font);margin:0;font-weight:600}.app-root .chapter-words-page{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);min-height:160px;max-height:55dvh;color:var(--ink);outline:none;padding:12px 14px;line-height:1.6;overflow-y:auto}.app-root .chapter-words-page:focus{border-color:var(--accent)}.app-root .chapter-words-page:empty:before{content:attr(data-placeholder);color:var(--faint)}.app-root .chapter-words-page p{margin:0 0 .8em}.app-root .chapter-words-page .ms-picture{border:1px dashed var(--line-strong);border-radius:var(--control-radius);color:var(--muted);font-size:var(--control-font-sm);-webkit-user-select:none;user-select:none;margin:.6em 0;padding:8px 10px}.app-root .chapter-words-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.studio-dialog.read-through{width:min(860px,100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}.reader-book{font-family:var(--font-display,Georgia, serif);padding:8px 24px 40px;line-height:1.65}.reader-title{text-align:center;margin:8px 0 24px;font-size:2em}.reader-chapter h2{font-family:var(--font-display,Georgia, serif);text-align:center;gap:2px;margin:36px 0 16px;font-weight:500;display:grid}.reader-chapter h2 span{color:var(--muted);font-size:.8em}.reader-p{text-indent:1.5em;margin:0 0 .9em}.reader-figure{text-align:center;max-width:520px;margin:20px auto}.reader-figure img{max-width:100%;height:auto}.reader-figure figcaption,.reader-empty{color:var(--muted);font-size:.9em}
.app-root .deleted-row .danger-text,.app-root .deleted-picture .danger-text{color:var(--bad)}.app-root .deleted-row .danger-text:hover,.app-root .deleted-picture .danger-text:hover{background:var(--bad-soft)}.app-root .deleted-row{grid-template-columns:44px minmax(0,1fr) auto auto}.app-root .deleted-row .danger-text,.app-root .deleted-picture .danger-text{white-space:nowrap}
.app-root .generate-layout.scene-open{grid-template-columns:minmax(0,1fr)}.app-root .generate-stage.scene-page{gap:16px;padding-bottom:24px;display:grid}.app-root .scene-page .scene-pictures-title{font-size:var(--control-font);align-items:center;gap:8px;margin:4px 0 0;font-weight:600;display:flex}.app-root .scene-page .scene-details .generate-rail{width:auto;max-width:720px;margin-top:8px;position:static}.app-root .scene-draw-problem{margin:0}
.app-root .editor-footer{z-index:2;border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:16px;margin:24px -20px -20px;padding:14px 20px;display:flex;position:sticky;bottom:0}.app-root .editor-footer-status{color:var(--faint);font-size:13px}.app-root .editor-footer.dirty .editor-footer-status{color:var(--warn)}.app-root .editor-footer-saved{color:var(--ok);align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.app-root label,.studio-dialog label,.export-dialog label{color:var(--muted)}.app-root .primary:disabled,.studio-dialog .primary:disabled,.export-dialog .primary:disabled{opacity:1;background:var(--surface-3);border-color:var(--line-strong);color:var(--faint)}.app-root .quiet:disabled,.app-root .icon-button:disabled,.studio-dialog .quiet:disabled,.export-dialog .quiet:disabled{opacity:.4}.app-root .quiet.pressed{background:var(--surface-3);border-color:var(--line-strong);color:var(--ink)}.app-root :focus-visible,.studio-dialog :focus-visible,.export-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:2px}:is(:root:has(.app-root) *,.studio-dialog,.export-dialog){scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.app-root details>summary,.studio-dialog details>summary,.export-dialog details>summary{cursor:pointer;list-style:none}.app-root details>summary::-webkit-details-marker{display:none}.studio-dialog details>summary::-webkit-details-marker{display:none}.export-dialog details>summary::-webkit-details-marker{display:none}.app-root details:not(.panel-section)>summary:before,.studio-dialog details>summary:before,.export-dialog details>summary:before{content:"";vertical-align:middle;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin:0 10px 2px 2px;transition:transform .15s;display:inline-block;transform:rotate(-45deg)}.app-root details[open]:not(.panel-section)>summary:before,.studio-dialog details[open]>summary:before,.export-dialog details[open]>summary:before{transform:rotate(45deg)}.studio-dialog{width:min(560px,100vw - 30px)}.export-dialog{width:min(600px,100vw - 30px);padding:22px}.studio-dialog .dialog-heading,.export-dialog .dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.studio-dialog .dialog-heading h2,.export-dialog .dialog-heading h2{font:600 16px/1.3 var(--font-sans);color:var(--ink);margin:0}.export-dialog .export-panel>.subtle,.export-dialog .export-panel p{font-size:13px}.export-dialog .review-actions{margin-bottom:12px}.export-dialog .export-group h3,.studio-dialog h3,.app-root .history-version h3{font:600 14px/1.35 var(--font-sans)}.app-root .share-preview-note p,.studio-dialog .share-preview-note p{margin:0 0 8px}.app-root .spinner,.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.app-root .image-placeholder.loading{color:#0000;background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%);background-size:300% 100%;animation:1.4s ease-in-out infinite shimmer;display:block}.app-root .image-placeholder.failed{color:var(--faint);background:var(--surface-2);place-items:center;font-size:11px;display:grid}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.app-root .image-placeholder.loading,.spinner{animation:none}}.app-root .prompt-dock{grid-template-columns:minmax(0,1fr)}.app-root .dock-row,.app-root .dock-chips{min-width:0}.app-root .candidate{container-type:inline-size}@container (max-width:250px){.app-root .candidate .tile-label{display:none}.app-root .candidate .tile-action{padding:0 7px}}:is(.app-root .candidate:has([data-state=open]) .tile-bar,.app-root .candidate:has([data-state=open]) .tile-star){opacity:1;transform:none}.candidate.approved{box-shadow:none}.app-root .chip:first-letter,.app-root .house-style strong:first-letter{text-transform:uppercase}.app-root .field-error{color:var(--bad)}.app-root .review-topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.app-root .review-topbar .review-close{justify-self:end}.app-root .review-tools{align-items:center;gap:6px;display:flex}.app-root .review-tools .zoom-toggle{min-width:78px}.app-root .tool-divider{background:var(--line-strong);width:1px;height:20px;margin:0 4px}.app-root .review-grid-item,.app-root .filmstrip-item{border-color:var(--line);background:#111214}.app-root .filmstrip-title{display:none}.app-root .zoom-stage.fit .zoom-target{cursor:zoom-in}.app-root .zoom-stage.zoomed .zoom-target{cursor:zoom-out}.app-root .review-panel .review-actions.primary-row{grid-template-columns:1fr 1fr var(--control-h) var(--control-h)}.app-root .review-notes{color:var(--muted)}.app-root .scene-name .rename{opacity:.7;background:0 0;border:0;width:28px;height:28px}.app-root .scene-name .rename:hover{background:var(--surface-2);opacity:1}.app-root .scene-name-form input{min-height:0;height:var(--control-h-sm);padding:2px 8px}.app-root .shortcut-list{grid-template-columns:1fr 1fr;gap:6px 14px;margin:10px 0 0;display:grid}.app-root .shortcut-list div{align-items:center;gap:8px;display:flex}.app-root .shortcut-list dt,.app-root .shortcut-list dd{color:var(--muted);margin:0;font-size:12.5px}.app-root kbd{border:1px solid var(--line-strong);background:var(--surface-2);min-width:24px;height:22px;color:var(--ink);font:600 11px/1 var(--font-sans);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 6px;display:inline-grid}.app-root .library-mode,.app-root .segmented.library-mode{flex:none;width:max-content}.app-root .facet.on.fallback{color:var(--ink);background:0 0;font-weight:600}.app-root .library-tile:hover .library-image{outline-color:var(--line-strong)}.app-root .library-tile.picked .library-image,.app-root .library-tile:focus-visible .library-image{outline-color:var(--accent)}.app-root .pick-mark{background:#00000059;border:1.5px solid #ffffffbf;box-shadow:0 1px 4px #0006}.app-root .pick-mark.on{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.app-root .empty-state .quiet{margin-top:6px}.app-root .scene-paper fieldset>h2{font:600 16px/1.3 var(--font-sans);margin-top:16px}.app-root .subject-main>.scene-paper,.app-root .subject-main>form,.app-root .subject-main>.subject-pictures{width:100%;max-width:none}.app-root .chapter-state{color:var(--muted)}.app-root .chapter-state.done{color:var(--ok)}.app-root .strip-caption{align-items:center;width:100%;max-width:none}.app-root .strip-scene{max-width:264px}.app-root .strip-title{flex:1;min-width:0}.app-root .strip-move{opacity:1;flex:none;gap:2px;display:none;position:static}.app-root .strip-move .icon-button{width:26px;height:var(--control-h-xs);background:var(--surface-2);border-color:var(--line-strong)}.app-root .strip-scene .strip-thumb+.strip-caption{max-width:none}.app-root .strip-scene:has(.strip-thumb.portrait){width:118px}.app-root .strip-scene:has(.strip-thumb.square){width:176px}.app-root .strip-scene:has(.strip-thumb.landscape){width:264px}.app-root .strip-scene:is(:hover,:focus-within) .strip-move{display:flex}.app-root .strip-scene:has(.strip-thumb.portrait):is(:hover,:focus-within) .strip-title{display:none}.app-root .rail-sheet{background:#0009}.app-root .rail-sheet-heading{background:var(--surface)}@media (max-width:760px){.app-root .editor-footer{bottom:calc(62px + env(safe-area-inset-bottom))}.app-root .review-tools .tool-label{display:none}.app-root .review-tools .zoom-toggle{min-width:0}.app-root .review-topbar{grid-template-columns:minmax(0,1fr) auto auto;padding-right:14px}.app-root .review-topbar .review-close{position:static}.app-root .library-tile{flex-basis:calc(44vw * var(--shape) * 1.5)}.app-root .library-bar{gap:8px}.app-root .library-search{flex-basis:100%;order:-1;max-width:none}.app-root .library-summary{display:none}.app-root .library-fav{width:28px;height:28px}.app-root .library-facets.sheet{z-index:30;max-height:78dvh;padding:0 16px calc(24px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-pop);border-radius:16px 16px 0 0;display:block;position:fixed;inset:auto 0 0;overflow-y:auto}.app-root .library-facets.sheet .facet-group+.facet-group{margin-top:14px}.app-root .facets-sheet-head{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin:0 -16px 10px;padding:12px 16px;display:flex;position:sticky;top:0}.app-root .facets-sheet-head h2{font:600 16px/1.3 var(--font-sans);margin:0}.app-root .facet{min-height:40px}.app-root .renderer-status .renderer-label{display:none}.app-root .renderer-status{padding:0 10px}.app-root .strip-move{display:flex}.app-root .strip-scene:has(.strip-thumb.portrait) .strip-title{display:none}.app-root .strip-move .icon-button{width:34px;height:var(--control-h)}.app-root .shortcut-list{grid-template-columns:1fr}}@media (hover:none){.app-root .strip-move{display:flex}}@media (max-width:760px){.prompt-dock .chip-label{display:none}.prompt-dock .dock-chips{-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.app-root .prompt-dock textarea{max-height:96px}}@media (max-width:620px){.app-root .sidebar nav button{min-width:0;font-size:var(--nav-label-font);padding-inline:2px}.app-root .sidebar nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}.app-root .library-bar .segmented.library-mode{grid-template-columns:none;width:auto;max-width:100%;display:inline-flex}@media (max-width:620px){.app-root .sidebar nav{gap:0}.app-root .sidebar nav button{font-size:var(--nav-label-font);letter-spacing:-.01em}}.app-root .filmstrip-item.current,.app-root .review-grid-item.current{border-color:var(--accent)}:root:has(.preview-banner){--banner:28px}.app-root .sidebar{max-height:calc(100dvh - var(--banner,0px))}.app-root .reference-thumb .icon-button.remove{width:24px;height:var(--control-h-xs);border-radius:var(--control-radius-sm);background:#0a0b0cb8;border:0;min-height:0}@container (max-width:250px){.app-root .candidate .tile-spacer,.app-root .candidate .tile-bar .tile-icon:not(.tile-more){display:none}.app-root .candidate .tile-bar .tile-more{margin-left:auto}}.app-root .library-bar{flex-wrap:nowrap}.app-root .library-search{flex:200px;min-width:160px}.app-root .library-bar .select-trigger{margin-left:0}@media (max-width:1100px){.app-root .library-bar{flex-wrap:wrap}}.app-root .subject-main{max-width:960px}.app-root .subject-main>*{max-width:none}.cast-picker-popover{width:min(280px,100vw - 24px)}.cast-picker-popover .cast-picker-options label{align-items:center;gap:10px;display:flex}.cast-picker-popover .picker-thumb{object-fit:cover;border-radius:7px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.cast-picker-popover>.primary,.cast-picker-popover>button:last-child{margin-left:auto;display:flex}.cast-picker-popover input[type=radio]{width:16px;height:16px;accent-color:var(--accent)}.app-root .review-tools .zoom-toggle{width:84px;min-width:84px}@media (max-width:760px){.app-root .review-topbar{grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px}.app-root .review-position span{display:none}.app-root .review-tools{justify-self:center}.app-root .review-tools .zoom-toggle{width:var(--control-h);min-width:var(--control-h)}}.app-root .rail-sheet{z-index:40}.app-root .rail-sheet .generate-rail,.app-root .rail-sheet .rail-sheet-panel>aside{background:0 0;border:0;padding:0}@media (max-width:760px){.app-root .library-facets.sheet{box-shadow:0 0 0 100vmax #0009}.app-root .renderer-status{display:none}.app-root .scene-paper textarea{field-sizing:content;min-height:88px}}@media (max-width:1024px){.prompt-dock .dock-chips{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.prompt-dock .dock-chip{flex:none}}@media (max-width:760px),(hover:none){.app-root .strip-caption{flex-wrap:wrap}.app-root .strip-scene:has(.strip-thumb.portrait) .strip-title{display:block}.app-root .strip-scene:has(.strip-thumb.portrait):is(:hover,:focus-within) .strip-title{display:block}.app-root .strip-move{flex-basis:100%;justify-content:flex-start;display:flex}}.app-root .book-editor h3,.app-root .book-pictures h3{font:600 16px/1.3 var(--font-sans)}.export-dialog .export-body{min-height:0}.export-dialog .backup-advanced>summary{margin-bottom:8px}.app-root .scene-name-form input{height:var(--control-h-sm);font:600 17px/1.3 var(--font-sans)}.menu .menu-key{border:1px solid var(--line-strong);min-width:20px;height:20px;font:600 10.5px/1 var(--font-sans);color:var(--muted);border-radius:4px;place-items:center;margin-left:auto;padding:0 5px;display:inline-grid}html:has(.app-root){scrollbar-color:var(--line-strong) var(--paper)}@media (max-width:760px){.app-root .review-modes{flex-wrap:nowrap;gap:2px}.app-root .review-tools{gap:2px}.app-root .review-tools .quiet{width:var(--control-h);min-width:var(--control-h);padding:0}.app-root .review-tools .tool-divider{margin:0 2px}.app-root .review-position .quiet{width:var(--control-h);padding:0}}.cast-picker-popover .primary{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink)}.cast-picker-popover .search-field input{min-height:0;height:var(--control-h);font-size:var(--control-font)}.cast-picker-popover .search-field{border-radius:var(--control-radius)}.app-root .library-bar .text-button{white-space:nowrap}.app-root .library-search{min-width:200px}.app-root .segmented.library-mode{overflow:hidden}.app-root .facets-toggle .count{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.sheet-backdrop{display:none}@media (max-width:760px){.app-root .sheet-backdrop{z-index:29;background:#0009;border:0;padding:0;display:block;position:fixed;inset:0}.app-root .library-facets.sheet{box-shadow:var(--shadow-pop)}.app-root .facets-sheet-head{gap:10px}.app-root .facets-sheet-head h2{flex:1}}.app-root .candidate .tile-bar{column-gap:6px}.app-root .generate-side{max-height:calc(100dvh - 92px - var(--banner,0px))}.app-root .position-short{display:none}@media (max-width:760px){.app-root .review-position span.position-short{color:var(--muted);font-size:12px;display:inline}.app-root .review-position span.position-long{display:none}.app-root .review-position>span{display:inline}.app-root .review-tools{gap:4px}.app-root .review-tools .quiet,.app-root .review-position .quiet,.app-root .review-topbar .review-close{width:var(--control-h);min-width:var(--control-h);height:var(--control-h)}}.menu .menu-item:focus-visible{background:var(--surface-3);outline:none}.menu .menu-item:focus:not(:focus-visible){outline:none}.app-root .review-panel .scene-name-form input[aria-label]{height:var(--control-h-sm);font:600 17px/1.3 var(--font-sans)}@media (pointer:coarse){.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}.menu .touch-only{display:flex}}.rail-mark{background:0 0;border-radius:9px;overflow:hidden}.rail-mark svg{display:block}.app-root .sidebar-bottom{padding-bottom:4px}.app-root .account-button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;display:grid}.app-root .account-button:hover,.app-root .account-button[data-state=open]{background:var(--surface-2);border-color:var(--line-strong)}.app-root .avatar,.account-menu .avatar{width:32px;height:32px;color:var(--accent);font:600 12px/1 var(--font-sans);letter-spacing:.02em;background:linear-gradient(145deg,#3a2f1a,#1f1a10);border:1px solid #e9b44c73;border-radius:50%;place-items:center;display:grid}.account-menu .avatar.large{width:38px;height:38px;font-size:13px}.menu.account-menu{min-width:240px;padding:6px}.account-menu .account-who{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:4px;padding:8px 8px 12px;display:flex}.account-menu .account-who strong{font:600 13.5px/1.3 var(--font-sans);color:var(--ink);display:block}.account-menu .account-who small{color:var(--faint);font-size:12px;display:block}.menu a.menu-item{color:var(--ink);text-decoration:none}.app-root .mobile-account .account-button{width:var(--control-h);height:var(--control-h);border-radius:var(--control-radius)}.app-root .candidate.pending{border:1px solid var(--line);color:#5b4630;background:radial-gradient(at 50% 40%,#ffffff59,#0000 70%),linear-gradient(160deg,#efe6d3,#e4d8bf);border-radius:12px;animation:none;display:block;position:relative;overflow:hidden}.app-root .candidate.pending.idle{filter:grayscale(.6)brightness(.6)}.app-root .candidate.pending:not(.rendering) .pending-sketch path,.app-root .candidate.pending:not(.rendering) .pending-wash{animation-play-state:paused}.app-root .pending-sketch{width:80%;height:66%;position:absolute;inset:12% 10% 22%;overflow:visible}.app-root .pending-sketch path{fill:none;stroke:#5a4128;stroke-width:1.1px;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120px;opacity:.8;animation:4.8s ease-in-out infinite pen-draw}.app-root .pending-wash{fill:#8c6c4624;transform-origin:52px 54px;animation:4.8s ease-in-out infinite wash-bloom}@keyframes pen-draw{0%{stroke-dashoffset:180px;opacity:0}10%{opacity:.85}55%{stroke-dashoffset:0;opacity:.85}85%{stroke-dashoffset:0;opacity:.5}to{stroke-dashoffset:0;opacity:0}}@keyframes wash-bloom{0%,to{opacity:.4;transform:scale(.7)}50%{opacity:1;transform:scale(1.05)}}.app-root .pending-label{flex-direction:column;gap:3px;display:flex;position:absolute;bottom:14px;left:12px;right:12px}.app-root .pending-label strong{font:italic 500 15px/1.2 var(--font-sans);color:#3d2c1a}.app-root .pending-label small{font:500 11.5px/1.2 var(--font-sans);letter-spacing:.02em;color:#7a6246}.app-root .pending-progress{background:#5a412824;height:3px;position:absolute;bottom:0;left:0;right:0}.app-root .pending-progress span{background:linear-gradient(90deg, #b8322a, var(--accent));transform-origin:0;height:100%;transition:transform 1s linear;display:block}.app-root .candidate .candidate-image img{animation:.9s ease-out backwards develop}@keyframes develop{0%{opacity:0;filter:blur(10px)sepia(.5);transform:scale(1.02)}to{opacity:1;filter:none;transform:none}}@media (prefers-reduced-motion:reduce){.app-root .pending-sketch path,.app-root .pending-wash,.app-root .candidate .candidate-image img{animation:none}.app-root .pending-sketch path{stroke-dashoffset:0}}.app-root .candidate.pending.rendering{color:#5b4630;background:radial-gradient(at 50% 40%,#ffffff59,#0000 70%),linear-gradient(160deg,#efe6d3,#e4d8bf);animation:none}.app-root .pending-sketch path{stroke-dasharray:180;stroke-dashoffset:180px;stroke-linejoin:round}:root:has(.app-root){--side-panel:clamp(280px, 24vw, 340px)}.app-root .generate-layout,.app-root .character-library,.app-root .library{grid-template-columns:var(--side-panel) minmax(0, 1fr);min-height:calc(100dvh - 56px - var(--banner,0px));align-items:start;gap:0;margin:-18px -24px -24px;display:grid}.app-root .library.facets-closed{grid-template-columns:minmax(0,1fr)}.app-root .generate-side,.app-root .character-library>.cast-list,.app-root .library-facets{height:calc(100dvh - 56px - var(--banner,0px));border-right:1px solid var(--line);background:var(--surface);scrollbar-width:thin;align-self:start;max-height:none;padding:16px;position:sticky;top:56px;overflow-y:auto}.app-root .generate-side .generate-rail{background:0 0;border:0;border-radius:0;padding:0}.app-root .generate-stage,.app-root .character-library>:not(.cast-list){min-width:0;margin:0;padding:24px}.app-root .library-main{padding:0 24px 40px}.app-root .character-library>.cast-list nav{max-height:none;overflow:visible}@media (max-width:900px){.app-root .generate-layout,.app-root .character-library,.app-root .library{grid-template-columns:minmax(0,1fr);margin:-14px -12px 0}.app-root .character-library>.cast-list{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.app-root .generate-stage,.app-root .character-library>:not(.cast-list){padding:14px 12px 90px}.app-root .library-main{padding:0 12px 90px}}.app-root .library-head{margin:0 -24px 12px;padding:0 24px}@media (max-width:900px){.app-root .library-head{margin:0 -12px 10px;padding:0 12px}}.app-root .kind-switch button{white-space:nowrap;text-overflow:ellipsis;padding:0 6px;overflow:hidden}.app-root .strip-scene.dragging{z-index:20;opacity:.92;pointer-events:none;position:relative}.app-root .strip-scene.dragging .strip-thumb{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 24px 50px #0009}.app-root .strip-scene.drop-target .strip-thumb{outline:2px dashed var(--accent);outline-offset:3px;transition:transform .12s;transform:scale(.96)}.app-root .strip-scene{cursor:grab;-webkit-user-select:none;user-select:none}.app-root .strip-scene img{-webkit-user-drag:none}.app-root .chapter-pictures.drop-here{outline:2px dashed var(--accent);outline-offset:6px;background:var(--accent-soft);border-radius:10px}.app-root .worlds-add{grid-template-columns:1fr 1fr;gap:6px;margin-top:-4px;display:grid}.app-root .worlds-add .quiet{justify-content:center;gap:6px}.app-root .worlds-library>.cast-list nav small:before{display:none}.app-root .worlds-tree button{position:relative}.app-root .worlds-library>.cast-list .worlds-tree .cast-initial{color:var(--muted);place-items:center;display:grid}.app-root .worlds-library>.cast-list .worlds-tree .tree-world .cast-initial{color:var(--accent);background:var(--accent-soft)}.app-root .worlds-library>.cast-list .worlds-tree button[style] img,.app-root .worlds-library>.cast-list .worlds-tree button[style] .cast-initial{border-radius:8px;width:32px;height:32px}.app-root .worlds-tree .tree-time strong{font-variant-numeric:tabular-nums}.app-root .worlds-empty .worlds-empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.app-root .world-path{font:600 11px/1.3 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 -6px}.app-root .world-kind{width:max-content;min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);white-space:nowrap;place-self:start;gap:2px;padding:2px;display:inline-flex}.app-root .world-kind 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;align-items:center;gap:6px;display:inline-flex}.app-root .world-kind button.on{background:var(--surface-3);color:var(--ink)}.app-root .worlds-inside{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.app-root .worlds-inside .quiet{gap:6px}.app-root .where-when{border:0;border-top:1px solid var(--line);gap:8px;min-width:0;margin:4px 0 0;padding:12px 0 0;display:grid}.app-root .where-when-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.app-root .where-when-head .text-button{font-size:var(--control-font);align-items:center;gap:5px;display:inline-flex}.app-root .where-when .subtle{margin:0;font-size:12px}.app-root .where-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.app-root .where-chips li{border:1px solid var(--line-strong);background:var(--surface-2);max-width:100%;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.app-root .where-chips li svg{color:var(--accent);flex:none}.app-root .where-when.editing legend{color:var(--ink);padding:0;font-size:13px;font-weight:600}.where-tree{border:1px solid var(--line);background:var(--paper);border-radius:10px;gap:2px;max-height:260px;margin:0;padding:4px;list-style:none;display:grid;overflow-y:auto}.where-tree label{color:var(--ink);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:500;display:flex}.where-tree label:hover{background:var(--surface-2)}.where-tree input{width:15px;height:15px;min-height:0;accent-color:var(--accent);flex:none;margin:0;padding:0}.where-tree svg{color:var(--muted)}.where-actions{gap:8px;display:flex}.where-actions button{gap:6px}@media (max-width:700px){.app-root .worlds-tree button[style]{padding-left:8px!important}}.app-root .renderer-status.offline .renderer-dot{background:var(--muted);box-shadow:0 0 0 3px #ffffff0f}.menu.where-menu{gap:10px;width:min(320px,100vw - 20px);padding:12px;display:grid}.menu.where-menu .menu-note{margin:0}.menu.where-menu .where-actions{flex-wrap:wrap}.app-root .prompt-dock{gap:6px;padding:10px 10px 10px 14px}.app-root .prompt-dock textarea{min-height:24px}.app-root .prompt-dock:not(:focus-within) textarea{max-height:4.6em;overflow:hidden}@media (max-height:760px){.app-root .prompt-dock{bottom:10px}.app-root .prompt-dock textarea{max-height:30vh}}.select-text{gap:1px;min-width:0;display:grid}.select-hint{color:var(--faint);font-size:11.5px}.app-root .place-more{min-width:0;color:var(--muted);font-size:12px}.app-root .place-more summary{cursor:pointer;color:var(--muted);font-weight:600}.app-root .place-more p{margin:4px 0 0}.studio-dialog.refine-wide{width:min(1180px,100vw - 24px);max-height:calc(100dvh - 24px)}.refine-dialog.split{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:20px;display:grid}.refine-dialog .refine-side{flex-direction:column;gap:14px;min-width:0;display:flex}.refine-dialog.split .refine-canvas{--stage-height:calc(100dvh - 225px);min-width:0}.refine-dialog .mask-stage{max-height:none;margin:0 auto}.refine-dialog.split .confirm-actions{flex-wrap:wrap}@media (max-width:760px){.refine-dialog.split{grid-template-columns:minmax(0,1fr)}.refine-dialog.split .refine-canvas{--stage-height:55dvh}}.app-root .facet-group>summary{color:var(--faint);border-radius:6px;align-items:center;padding-left:6px;display:flex}.app-root .facet-group>summary h3{margin:0}.app-root .facet-group[open]>summary{margin-bottom:6px}.app-root .boards-home-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.app-root .boards-home-head p{margin:0}.app-root .boards-home-head .primary{gap:8px}@media (max-height:760px){.app-root .board-head{gap:8px;margin-bottom:16px}}.app-root .generate-rail .kind-switch{grid-template-columns:auto auto}.app-root .generate-rail .kind-switch button{text-overflow:clip;min-width:0;padding:0 8px;overflow:visible}.app-root .book-editor .section-heading>span:first-child{gap:2px;display:grid}.app-root .book-details{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.app-root .book-details>summary{color:var(--ink);font-size:14px;font-weight:600}.app-root .book-details>summary span{color:var(--faint);margin-left:8px;font-weight:500}.app-root .book-details[open]>summary{margin-bottom:14px}.expand-controls{grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.expand-preview{outline:1px solid var(--line-strong);background:repeating-linear-gradient(-45deg,#1b14061a 0 2px,#0000 2px 9px),#efe6d3;border-radius:8px;width:100%;max-height:300px;position:relative;overflow:hidden}.expand-picture{box-shadow:0 0 0 1.5px var(--accent);position:absolute}.expand-picture img,.expand-picture .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%}.expand-options{gap:14px;display:grid}.expand-options .segmented{min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.expand-options .segmented button,.refine-dialog .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}.expand-options .segmented button.on,.refine-dialog .segmented button.on{background:var(--surface-3);color:var(--ink)}.refine-dialog .picker-label{justify-items:start;gap:8px;display:grid}@media (max-width:620px){.expand-controls{grid-template-columns:minmax(0,1fr)}}.app-root .reference-strength{color:var(--muted);gap:6px;margin-top:10px;font-size:12px;display:grid}.app-root .reference-strength .segmented{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.menu.recent-menu{width:min(460px,100vw - 20px);max-height:min(420px,60vh);overflow-y:auto}.menu.recent-menu .menu-item{white-space:normal;text-align:left;flex-shrink:0;height:auto;min-height:0;padding-top:8px;padding-bottom:8px}.menu.recent-menu .recent-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.app-root .prompt-builder .chip-row{grid-template-columns:minmax(0,1fr);gap:6px}.app-root .prompt-builder .chip-row-label{padding-top:0}.app-root .prompt-builder .chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.app-root .prompt-builder .effect-tile{min-height:0;color:var(--muted);border-radius:9px;justify-items:center;gap:4px;padding:8px 4px 6px;display:grid}.app-root .prompt-builder .effect-tile span{text-align:center;color:var(--ink);font-size:11px;line-height:1.2}.app-root .prompt-builder .effect-tile.on{color:var(--accent)}.app-root .review-stage-area img,.app-root .candidate-image img,.app-root .library-tile img,.app-root .draft-pick img,.app-root .board-frame img{background:repeating-conic-gradient(#efe6d3 0 25%, #e6dcc6 0 50%) 0 0 / 16px 16px}.refine-dialog .segmented{min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);justify-self:start;gap:2px;padding:2px;display:inline-flex}.app-root .rail-intro{color:var(--muted);margin:2px 0 6px;font-size:12px;line-height:1.5}.app-root .rail-group{font:600 10.5px/1.2 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:14px 0 0}.app-root .rail-group+.panel-section{border-top:0}.app-root .panel-title{align-items:center;gap:8px;display:inline-flex}.app-root .panel-badge{color:var(--accent);background:#e9b44c29;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.app-root .rail-why{color:var(--muted);margin:0 0 10px;font-size:12px;line-height:1.45}.app-root .scene-cast-card{border-radius:12px;gap:10px;margin-bottom:10px;padding:14px 14px 12px;display:grid}.app-root .scene-cast-identity{gap:12px;margin-bottom:0}.app-root .scene-cast-identity>.reference-zoom,.app-root .scene-cast-identity>.cast-initial{border-radius:8px;flex:none;width:46px;height:54px;overflow:hidden}.app-root .scene-cast-identity>.reference-zoom img,.app-root .scene-cast-identity>.reference-zoom .image-placeholder{object-fit:cover;object-position:top;border:0;border-radius:0;width:100%;height:100%}.app-root .scene-cast-identity>.cast-initial{background:var(--surface-3);font:500 20px/1 var(--font-sans);color:var(--accent);place-items:center;display:grid}.app-root .scene-cast-card .cast-role{border-top:1px solid var(--line);padding-top:10px}.app-root .scene-cast-card .cast-role>summary{padding:0}.app-root .scene-cast-identity .icon-button{width:28px;height:var(--control-h-sm);color:var(--muted);background:0 0;border-color:#0000;flex:none;margin-left:-6px;padding:0}.app-root .scene-cast-identity .icon-button:hover{color:var(--ink);background:var(--surface-3)}.app-root .cast-role>summary{color:var(--muted);padding:4px 0;font-size:12px}.app-root .cast-role>summary:before{content:"+";width:auto;height:auto;color:var(--accent);border:0;margin:0 6px 0 0;font-weight:700;display:inline;transform:none}.app-root .cast-role[open]>summary:before{content:"−";transform:none}.app-root .scene-cast-panel .no-cast{margin-top:4px;font-size:12px}.cast-picker-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.app-root .generate-rail .ratio-tiles+.segmented{margin-top:10px}.app-root .generate-rail .ratio-tile{padding:8px 4px 6px}.app-root .reference-picker .upload-zone{transition:border-color .15s,background .15s}.app-root .reference-picker .upload-zone.empty{aspect-ratio:auto;text-align:left;flex-direction:row;grid-column:1/-1;justify-content:flex-start;align-items:center;gap:14px;width:100%;min-height:92px;padding:18px 20px;display:flex}.app-root .reference-picker .upload-zone.empty svg{color:var(--accent);flex:none}.app-root .reference-picker .upload-zone strong{color:var(--ink);font-size:13.5px;font-weight:600;display:block}.app-root .reference-picker .upload-zone small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.app-root .reference-picker .upload-zone.dragging{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.app-root .reference-picker .upload-zone:not(.empty){gap:8px;min-height:44px}.frame-draft.quick-add{width:min(460px,100vw)}.frame-draft.quick-add .frame-draft-head strong{margin:0}.frame-draft.quick-add input:not([type=checkbox]):not([type=file]){width:100%;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:500 var(--control-font) / 1 var(--font-sans)}.frame-draft.quick-add input:focus{border-color:var(--accent);outline:none}.frame-draft.quick-add .check-label{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.app-root .picker-actions .text-button{align-items:center;gap:4px;display:inline-flex}.app-root .character-sheets{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:12px;margin-top:18px;padding:18px 20px;display:grid}.app-root .character-sheets header{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-root .character-sheets h2{font:600 16px/1.3 var(--font-sans);margin:0}.app-root .character-sheets header .quiet{gap:6px}.app-root .sheet-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.app-root .sheet-tile{gap:6px;margin:0;display:grid}.app-root .sheet-image{aspect-ratio:2/3;background:var(--surface-2);cursor:zoom-in;border:0;border-radius:10px;padding:0;overflow:hidden}.app-root .sheet-image img,.app-root .sheet-image .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%}.app-root .sheet-grid .candidate.pending{aspect-ratio:2/3}.app-root .sheet-portrait{border:1px solid var(--line-strong);color:var(--ink);font:500 12px/1 var(--font-sans);cursor:pointer;background:0 0;border-radius:999px;justify-self:start;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.app-root .sheet-portrait.on{background:var(--accent-soft);color:var(--accent);cursor:default;border-color:#0000}.app-root .rail-more{border-top:1px solid var(--line);margin-top:6px}.app-root .rail-more>summary{color:var(--muted);align-items:center;gap:8px;padding:12px 0;font-size:12.5px;font-weight:600;display:flex}.app-root .panel-badge.quiet{background:var(--surface-3);color:var(--muted)}.app-root .scene-cast-identity strong{line-height:1.25}.app-root .scene-cast-identity .add-portrait{margin-top:3px;padding:0;font-size:12px;display:block}.app-root .rail-more>summary{cursor:pointer;align-items:center;gap:8px;padding:11px 0;list-style:none;display:flex}.app-root details.rail-more:not(.panel-section)>summary:before{display:none}.app-root .rail-more>summary .panel-chevron{margin-left:auto}.app-root .rail-more>summary .panel-summary+.panel-chevron{margin-left:0}.app-root .rail-more>summary .panel-title{color:var(--muted)}.app-root .rail-more[open]>summary .panel-chevron{transform:rotate(180deg)}.app-root .rail-more>.panel-section:first-of-type{border-top:0}.app-root .generate-rail .reference-picker .upload-zone:not(.empty){min-height:38px;padding:8px 12px}.app-root .generate-rail .reference-picker .upload-zone:not(.empty) strong{font-size:13px}.app-root .generate-rail .reference-picker .upload-zone.empty{min-height:72px;padding:14px 16px}.refine-dialog.split .refine-picture{place-items:center;display:grid}.refine-dialog.split .refine-picture img,.refine-dialog.split .refine-picture .image-placeholder{max-width:100%;max-height:var(--stage-height);object-fit:contain;border-radius:8px;width:auto;height:auto}.refine-dialog.split .refine-picture .image-placeholder{aspect-ratio:2/3;width:100%;max-height:var(--stage-height)}.print-sheet{display:none}@media print{body>:not(.print-sheet){display:none!important}:root,body{background:#fff!important}.print-sheet{color:#000;font-family:Georgia,serif;display:block}.print-sheet h1{margin:0 0 12pt;font-size:16pt;font-weight:500}.print-sheet figure{break-after:page;text-align:center;margin:0}.print-sheet figure:last-child{break-after:auto}.print-sheet img{object-fit:contain;max-width:100%;max-height:88vh}.print-sheet figcaption{margin-top:8pt;font-size:10pt;font-style:italic}}.studio-dialog.picture-chooser,.studio-dialog.research-shelf{width:min(760px,100vw - 24px);max-height:calc(100dvh - 24px)}.chooser-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:min(52vh,460px);margin:14px 0;display:grid;overflow-y:auto}.chooser-pick{background:var(--surface-2);aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:10px;padding:0;position:relative;overflow:hidden}.chooser-pick.on{border-color:var(--accent)}.chooser-pick img,.chooser-pick .image-placeholder,.chooser-image img,.chooser-image .image-placeholder{object-fit:cover;border:0;border-radius:0;width:100%;height:100%}.chooser-image{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.chooser-mark{color:#1b1406;background:#00000059;border:1.5px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:6px;left:6px}.chooser-pick.on .chooser-mark{border-color:var(--accent);background:var(--accent)}.chooser-remove{width:26px;height:26px;position:absolute;top:6px;right:6px}.app-root .reference-picker .shelf-link,.shelf-link{justify-self:start;margin-top:6px;font-size:12px}.research-shelf .shelf-add{margin-top:4px}.app-root .worlds-tree button[data-sort-id]{cursor:grab}.app-root .worlds-tree button.dragging{z-index:3;opacity:.85;background:var(--surface-3);cursor:grabbing;position:relative;box-shadow:0 10px 24px #0006}.app-root .worlds-tree button.drop-target{box-shadow:inset 0 2px 0 var(--accent)}.app-root .undo-buttons{gap:2px;display:inline-flex}.app-root .undo-buttons .icon-button{color:var(--muted);background:0 0;border-color:#0000}.app-root .undo-buttons .icon-button:not(:disabled):hover{background:var(--surface-2);color:var(--ink)}.app-root .undo-buttons .icon-button:disabled{opacity:.35}.app-root .review-panel .back-to-original{justify-self:start;margin:-6px 0 4px;font-size:12.5px}.colour-choice{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.swatch{cursor:pointer;border:2px solid #ffffff26;border-radius:50%;width:22px;height:22px;padding:0;position:relative}.swatch.on{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.swatch.wheel{background:conic-gradient(#e74c3c,#f1c40f,#2ecc71,#3498db,#9b59b6,#e74c3c);overflow:hidden}.swatch.wheel input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.combine-step{gap:10px;display:grid}.combine-title{color:var(--ink);margin:0;font-weight:600}.combine-canvas{width:auto;max-width:100%;max-height:var(--stage-height,60dvh);cursor:crosshair;border-radius:8px;justify-self:center}.combine-stage{border-radius:8px;justify-self:center;width:fit-content;max-width:100%;position:relative;overflow:hidden}.combine-stage>img{max-width:100%;max-height:calc(var(--stage-height,60dvh) - 50px);display:block}.combine-piece{cursor:grab;height:auto;filter:drop-shadow(0 0 .5px var(--accent)) drop-shadow(0 0 1px var(--accent));position:absolute}.combine-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.combine-tools .quiet{gap:6px}.frame-draft.assistant-panel{width:min(480px,100vw)}.frame-draft.assistant-panel .frame-draft-head strong{align-items:center;gap:8px;margin:0;display:inline-flex}.frame-draft.assistant-panel .frame-draft-head strong svg{color:var(--accent)}.assistant-body{align-content:start}.assistant-starts{gap:8px;display:grid}.assistant-starts .quiet{justify-content:flex-start;gap:8px}.assistant-message{border-radius:12px;gap:6px;max-width:92%;padding:10px 12px;font-size:14px;line-height:1.5;display:grid}.assistant-message p{white-space:pre-wrap;margin:0}.assistant-message.user{background:var(--accent-soft);color:var(--ink);justify-self:end}.assistant-message.assistant{background:var(--surface-2);color:var(--ink);justify-self:start}.assistant-message.thinking{color:var(--muted);font-style:italic}.assistant-message .text-button{font-size:var(--control-font);justify-self:start;align-items:center;gap:5px;display:inline-flex}.assistant-compose{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:12px 16px 16px;display:flex}.assistant-compose textarea{resize:none;padding:8px var(--control-pad-x);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-2);color:var(--ink);font:400 14px/1.5 var(--font-sans);flex:1}.assistant-compose .primary{width:var(--control-h);height:var(--control-h);justify-content:center;padding:0}.assistant-head-actions{align-items:center;gap:10px;display:inline-flex}.app-root .account-button{position:relative}.app-root .account-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:6px;right:6px}.account-menu .menu-count{background:var(--accent-soft);min-width:20px;color:var(--accent);text-align:center;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.app-root .whats-new{max-width:1180px}.app-root .whats-new-head h2{font-family:var(--font-sans);margin:0 0 4px;font-size:24px}.app-root .whats-new-head{margin-bottom:18px}.app-root .whats-new-day h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:22px 0 10px;font-size:12px;font-weight:600}.app-root .whats-new-day ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.app-root .whats-new-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:16px 18px;display:grid}.app-root .whats-new-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.app-root .whats-new-card h4{color:var(--ink);align-items:center;gap:8px;margin:0 0 4px;font-size:15px;display:flex}.app-root .whats-new-card p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.5}.app-root .whats-new-card .whats-new-where{color:var(--faint);margin-top:6px;font-size:12.5px}.app-root .whats-new-badge{background:var(--accent);color:var(--accent-ink);letter-spacing:.03em;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.app-root .whats-new-card .quiet{white-space:nowrap;align-self:center;gap:6px}@media (max-width:640px){.app-root .whats-new-card{grid-template-columns:auto 1fr}.app-root .whats-new-card .quiet{grid-column:2;justify-self:start}}.drop-anywhere{z-index:60;border:1px dashed var(--accent);background:var(--surface-3);color:var(--ink);box-shadow:var(--shadow-pop);pointer-events:none;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-size:13.5px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.drop-anywhere svg{color:var(--accent)}.drop-toast{z-index:70;width:min(520px,100vw - 32px);position:fixed;top:70px;left:50%;transform:translate(-50%)}.app-root .reference-thumb .picture-role{border:1px solid var(--line-strong);background:var(--surface-2);width:100%;min-height:28px;color:var(--ink);border-radius:8px;justify-self:stretch;padding:2px 6px;font-size:11.5px}.app-root .character-editor .base-figure{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);gap:6px;padding:12px 14px;display:grid}.app-root .character-editor .base-figure .picker-label{margin-top:4px}.voice{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.voice-button{min-height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid var(--line-strong);border-radius:var(--control-radius);color:var(--ink);font-size:var(--control-font);cursor:pointer;background:0 0;align-items:center;gap:6px;display:inline-flex}.voice-button:hover:not(:disabled){border-color:var(--accent)}.voice-button.listening{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 16%, transparent);color:var(--ink);animation:1.4s ease-in-out infinite voice-pulse}.voice-button.listening svg{color:var(--bad);fill:var(--bad)}.voice-button .spin{animation:.9s linear infinite spin}.voice-error{color:var(--bad);font-size:12.5px}@keyframes voice-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--bad) 22%, transparent)}}@media (prefers-reduced-motion:reduce){.voice-button.listening{animation:none}}.assistant-compose .voice{align-self:end}.assistant-compose .voice-button span{display:none}.assistant-compose .voice-button{width:var(--control-h);height:var(--control-h);justify-content:center;padding:0}.combine-stage .combine-gap{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.combine-stage .combine-gap polygon{fill:color-mix(in srgb, var(--paper) 80%, transparent);stroke:#e9b44c;stroke-width:3px;stroke-dasharray:12 8;vector-effect:non-scaling-stroke}.markup-painter{gap:10px;min-width:0;display:grid}.markup-painter .segmented button{align-items:center;gap:6px;display:inline-flex}.version-strip{gap:6px;min-width:0;display:grid}.version-strip-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;font-weight:600}.version-strip ol{scrollbar-width:thin;gap:8px;margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.version-strip button{width:58px;color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:0;gap:4px;padding:0;display:grid}.version-strip button img,.version-strip button .image-placeholder{object-fit:cover;border:1px solid var(--line-strong);border-radius:6px;width:58px;height:72px}.version-strip button:hover img{border-color:var(--accent)}.version-strip button.current{color:var(--ink);cursor:default}.version-strip button.current img{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.version-strip small{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.camera-controls{gap:12px;display:grid}.camera-orbit{align-items:center;gap:14px;display:flex}.camera-orbit svg{flex:none;width:132px;height:132px}.camera-orbit .orbit-ring{fill:none;stroke:var(--line-strong);stroke-dasharray:3 4}.camera-orbit .orbit-figure{fill:var(--surface-3);stroke:var(--muted)}.camera-orbit .orbit-facing{fill:none;stroke:var(--muted);stroke-width:2px}.camera-orbit .orbit-spot{cursor:pointer;outline:none}.camera-orbit .orbit-spot circle{fill:var(--surface-2);stroke:var(--line-strong);stroke-width:2px}.camera-orbit .orbit-spot:hover circle,.camera-orbit .orbit-spot:focus-visible circle{stroke:var(--accent)}.camera-orbit .orbit-spot.on circle{fill:var(--accent);stroke:var(--accent)}.camera-orbit .orbit-spot line{stroke:var(--accent);stroke-width:2px;stroke-dasharray:3 3}.camera-now{color:var(--ink);font-size:13.5px;font-weight:600}.camera-choice{flex-wrap:wrap}.sketch-pad .sketch-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.sketch-pad .segmented button{align-items:center;gap:6px;display:inline-flex}.sketch-pad .sketch-trace{cursor:pointer;align-items:center;gap:6px;display:inline-flex;position:relative}.sketch-pad .sketch-trace input{opacity:0;cursor:pointer;position:absolute;inset:0}.sketch-canvas{border:1px solid var(--line-strong);cursor:crosshair;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 310px);margin:0 auto;display:block}.board-tray{z-index:65;border:1px solid var(--line-strong);background:var(--surface-3);width:min(880px,100vw - 32px);box-shadow:var(--shadow-pop);border-radius:14px;gap:8px;padding:12px 14px;animation:.16s ease-out tray-up;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.board-tray-title{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.board-tray-list{scrollbar-width:thin;gap:8px;display:flex;overflow-x:auto}.board-tray-board{border:1px dashed var(--line-strong);background:var(--surface-2);border-radius:10px;flex:none;gap:2px;min-width:140px;max-width:220px;padding:12px 14px;display:grid}.board-tray-board strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.board-tray-board small{color:var(--muted);font-size:12px}.board-tray-board.new{color:var(--accent);align-items:center;gap:8px;display:flex}.board-tray-board.over{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}@keyframes tray-up{0%{opacity:0;transform:translate(-50%,12px)}}@media (prefers-reduced-motion:reduce){.board-tray{animation:none}}.change-check{gap:6px;display:grid}.change-check>.quiet{justify-self:start;gap:6px}.change-check.result{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.change-check.result strong{color:var(--ink);align-items:center;gap:7px;font-size:13.5px;display:flex}.change-check.yes strong svg{color:var(--ok)}.change-check.partly strong svg{color:var(--warn)}.change-check.no strong svg{color:var(--bad)}.change-check p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.change-check .change-try{color:var(--ink)}.change-check .change-try span{color:var(--accent);font-weight:600}.change-check.result .quiet{justify-self:start;gap:6px}.menu .menu-label{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;padding:8px 10px 3px;font-size:10.5px;font-weight:600}.menu [role=group]+[role=group] .menu-label,.menu .menu-item+[role=group] .menu-label{border-top:1px solid var(--line);margin-top:4px}.change-check .change-actions{flex-wrap:wrap;gap:6px;display:flex}.menu[data-radix-popper-content-wrapper],[data-radix-popper-content-wrapper]>.menu{max-height:min(var(--radix-popover-content-available-height,80dvh), 80dvh);overscroll-behavior:contain;overflow-y:auto}.app-root .whats-new-start ul{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.app-root .whats-new-card.compact{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));align-items:center}.app-root .whats-new-card.compact .whats-new-where{margin-top:2px}@media (min-width:1280px){.app-root .whats-new-day:not(.whats-new-start) ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.spotlight{z-index:2;border-radius:10px;animation:1.1s ease-in-out 3 spotlight;position:relative}@keyframes spotlight{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 3px var(--accent), 0 0 0 9px color-mix(in srgb, var(--accent) 25%, transparent)}}@media (prefers-reduced-motion:reduce){.spotlight{box-shadow:0 0 0 3px var(--accent);animation:none}}.research-shelf-button{gap:6px}.research-shelf-button .count{background:var(--accent-soft);min-width:18px;color:var(--accent);border-radius:999px;padding:0 6px;font-size:11px;font-weight:700}.assistant-offer{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.assistant-offer .quiet{gap:6px}.assistant-offer-gone{margin-top:6px;font-size:12.5px}.assistant-offer .primary{gap:6px}.assistant-working{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;margin:0;padding:8px 16px;font-size:12.5px;display:flex}.assistant-working img{object-fit:cover;border-radius:6px;flex:none;width:34px;height:34px}.assistant-working strong{color:var(--ink);font-weight:600}.assistant-area{justify-self:start;width:160px;margin:4px 0 0;position:relative}.assistant-area img{border-radius:8px;width:100%;height:auto;display:block}.assistant-area-box{pointer-events:none;background:#ff2bd624;border:2px solid #ff2bd6;border-radius:8px;position:absolute}.assistant-area figcaption{margin-top:4px;font-size:11.5px}.assistant-versions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.assistant-versions>p{grid-column:1/-1;margin:0}.assistant-versions figure{margin:0;position:relative}.assistant-version{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.assistant-version img{width:100%;height:auto;display:block}.assistant-versions figure.on .assistant-version{border-color:var(--accent)}.assistant-versions .icon-button{background:var(--surface);position:absolute;top:6px;right:6px}.ask-about-picture{justify-self:start;gap:6px}.phone-send{max-width:440px;color:var(--ink);font-family:var(--font-sans);text-align:center;gap:18px;margin:0 auto;padding:36px 20px;display:grid}.phone-send h1{font-family:var(--font-display);margin:0;font-size:26px}.phone-send p{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.phone-take{background:var(--accent);color:var(--accent-ink);border-radius:18px;justify-items:center;gap:10px;padding:34px 20px;font-size:20px;font-weight:700;display:grid;position:relative}.phone-take.busy{opacity:.7}.phone-take input{opacity:0;position:absolute;inset:0}.phone-sent{justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex;color:var(--ok)!important}.phone-error{color:var(--bad)!important}.phone-capture-body{grid-template-columns:auto 1fr;align-items:center;gap:20px;display:grid}.phone-qr{color:#222;background:#fff;border-radius:12px;place-items:center;width:200px;height:200px;padding:10px;display:grid}.phone-qr svg{width:100%;height:100%}.phone-capture-body ol{margin:0 0 10px;padding-left:20px;line-height:1.6}.picker-links{flex-wrap:wrap;grid-column:1/-1;justify-self:stretch;gap:4px 14px;width:100%;display:flex}.sketch-pad .sketch-phone{gap:6px;margin-bottom:8px}@media (max-width:560px){.phone-capture-body{grid-template-columns:1fr;justify-items:center}}.likeness-result{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);gap:8px;margin:0;padding:10px 12px;list-style:none;display:grid}.likeness-result li{gap:3px;display:grid}.likeness-result strong{color:var(--ink);align-items:center;gap:7px;font-size:13.5px;display:flex}.likeness-result .yes svg{color:var(--ok)}.likeness-result .partly svg{color:var(--warn)}.likeness-result .no svg{color:var(--bad)}.likeness-result p{color:var(--muted);margin:0;font-size:13px}.likeness-result .quiet{justify-self:start;gap:6px}.bookpg-pages{width:min(1100px,100vw - 32px)}.bookpg-options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:12px;display:grid}.bookpg-checks{gap:4px;display:grid}.bookpg-soft{border:1px solid color-mix(in srgb, var(--warn) 60%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--warn) 10%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.bookpg-soft .quiet{gap:6px}.bookpg-preview{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:14px 6px;min-height:160px;max-height:calc(100dvh - 380px);margin:12px 0;padding:4px;list-style:none;display:grid;overflow-y:auto}.bookpg-page{justify-items:center;gap:3px;display:grid}.bookpg-page small{color:var(--faint);font-size:11px}.bookpg-sheet{width:100%;aspect-ratio:var(--page-ratio,1);color:#2a2724;background:#fbf7ee;border-radius:3px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #00000059}.bookpg-page.left .bookpg-sheet{border-radius:3px 0 0 3px}.bookpg-page.right .bookpg-sheet{border-radius:0 3px 3px 0}.bookpg-sheet img{object-fit:cover;width:100%;height:100%;display:block}.bookpg-page.picture.above .bookpg-sheet{gap:6%;padding:8%}.bookpg-page.picture.above .bookpg-sheet img{object-fit:contain;flex:1;min-height:0}.bookpg-words{text-align:center;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-family:Georgia,Times New Roman,serif;font-size:7px;line-height:1.35;display:-webkit-box;overflow:hidden}.bookpg-page.words .bookpg-sheet{justify-content:center;padding:12%}.bookpg-page.words .bookpg-words{-webkit-line-clamp:12}.bookpg-page.picture.band .bookpg-words{background:#fbf7eee6;padding:6% 10%;position:absolute;inset:auto 0 0}.bookpg-page.title .bookpg-sheet{text-align:center;justify-content:center;padding:12%}.bookpg-title{font-family:Georgia,Times New Roman,serif;font-size:12px}.app-root .worlds-library .character-editor>form{background:0 0;border:0;border-radius:0}.app-root .worlds-library .form-fields>:is(label,details,p,h2,.save-state){margin-top:0;margin-bottom:0}.app-root .worlds-library .form-fields>h2{margin-top:6px}.app-root .worlds-library .form-fields>h2+p.subtle{margin-top:-12px}.app-root .worlds-library .worlds-inside{margin:0;padding:2px 20px 18px}.app-root .picker-links>.shelf-link{width:auto;margin:0}.phone-take small{opacity:.8;font-size:13px;font-weight:500}.phone-take.choose{border:2px solid var(--accent);color:var(--ink);background:0 0}.app-root .sheet-wizard{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.app-root .sheet-stage{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);cursor:zoom-in;width:100%;padding:0;display:block;overflow:hidden}.app-root .sheet-stage img{object-fit:contain;width:100%;max-height:420px;display:block}.app-root .sheet-ask{align-content:start;gap:8px;display:grid}.app-root .sheet-ask h3{margin:0 0 4px;font-size:17px}.app-root .sheet-ask>button{justify-content:flex-start;gap:8px}.app-root .sheet-done{color:var(--ok);gap:8px;margin:0;display:flex}.app-root .sheet-tell{border:1px solid var(--line-strong);border-radius:var(--radius-sm);gap:8px;padding:12px;display:grid}.app-root .sheet-earlier summary{cursor:pointer;color:var(--muted)}@media (max-width:760px){.app-root .sheet-wizard{grid-template-columns:minmax(0,1fr)}}.chooser-redraw{border:1px solid var(--line);background:var(--surface);min-height:26px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;bottom:6px;left:6px}.chooser-redraw:hover{border-color:var(--accent)}.redraw-references{gap:6px;margin-top:8px;display:grid}.redraw-references .quiet{justify-content:flex-start;gap:6px}
