/* Isolated V3 candidate. Existing /editor and landing styles are unchanged. */
html:has(.studio-v3) { scrollbar-gutter:auto; }
.studio-v3 { background:#f1f2ee; --action:#465333; --ink:#293027; --line:#d6dcd1; }
.studio-v3 *, .studio-v3 *::before, .studio-v3 *::after { box-sizing:border-box; }
.studio-v3 [hidden] { display:none!important; }
.studio-v3 .site-header { height:52px; padding:10px 24px; border-bottom:1px solid var(--line); }
.studio-v3 .site-header .brand { font-size:16px; }
.studio-v3 .site-header .dev { font-size:12px; }
.studio-v3 main { max-width:none; padding:0; }
.studio-v3 #editor { display:flex; flex-direction:column; padding:0; height:calc(100dvh - 52px); gap:0; }
.v3-toolbar { display:flex; align-items:center; justify-content:space-between; min-height:76px; padding:12px 24px; background:#fff; border-bottom:1px solid var(--line); gap:20px; }
.v3-project { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:14px; align-items:center; min-width:0; }
.v3-eyebrow { grid-column:1/-1; font-size:12px; font-weight:600; letter-spacing:.12em; color:#64705d; }
.v3-project h1 { font-size:18px; font-weight:600; margin:4px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:340px; }
.v3-top-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.studio-v3 button,.studio-v3 .download { min-height:40px; padding:9px 14px; background:#fff; color:var(--ink); border:1px solid #a1ab97; border-radius:5px; font:500 12px var(--studio-font); box-shadow:none; }
.studio-v3 button:hover { background:#f0f3ea; border-color:var(--action); }
.studio-v3 button.primary { background:var(--action); border-color:var(--action); color:#fff; }
.studio-v3 button:disabled { opacity:.45; cursor:not-allowed; }
.studio-v3 :focus-visible { outline:3px solid #687b46; outline-offset:3px; }
.studio-v3 .editor-nav { position:static; display:flex; flex-direction:row; align-items:center; border-radius:0; padding:0 24px; gap:6px; border-bottom:1px solid var(--line); height:48px; min-height:48px; background:#fff; }
.studio-v3 .editor-nav a { min-height:36px; padding:9px 18px; font-size:12px; border-radius:4px; }
.studio-v3 .editor-nav #toggle-gallery { margin-left:auto; min-height:32px; padding:6px 12px; }
#toggle-gallery[aria-pressed=true] { background:var(--action); color:white; }
#open-inspector { display:none; }
.v3-workspace { flex:1; min-height:0; display:grid; grid-template-columns:232px minmax(0,1fr) 310px; grid-template-rows:minmax(220px,1fr) 210px; }
.v3-library { grid-column:1; grid-row:1/3; overflow:auto; background:#fff; border-right:1px solid var(--line); padding:18px 16px; min-width:0; }
.studio-v3 #photos { display:block!important; }
.v3-library .section-heading h2 { font-size:15px; margin:0 0 14px; }
.v3-library #dropzone { padding:12px 8px; }
.v3-library #dropzone p { display:none; }
.v3-library #dropzone .upload-limits p { display:block; }
.v3-library #dropzone .upload { margin:0 0 8px; }
.v3-library .quiet,.v3-library p { font-size:12px; line-height:1.55; }
.v3-library summary { font-size:12px; padding:11px 8px; }
.v3-library details { border:1px solid var(--line); border-radius:5px; margin:0 0 12px; background:#fff; }
.v3-library details[open]>:not(summary) { margin:10px; }
.v3-library-title { font-size:12px; margin:20px 0 12px; }
#v3-library-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#v3-library-grid .story-photo { min-height:0; padding:3px; }
#v3-library-grid .story-photo img { height:68px; }
.studio-v3 .studio-stage { position:static; grid-column:2; grid-row:1; display:flex; flex-direction:column; justify-content:flex-start; padding:18px 24px; min-height:0; min-width:0; overflow:auto; }
.studio-v3 #preview { display:flex!important; flex-direction:column; flex-shrink:0; width:100%; padding:0; margin:auto; max-width:1200px; min-height:0; }
.studio-v3 #preview .section-heading { margin:0 0 10px; }
.studio-v3 .player { border-radius:2px; aspect-ratio:16/9; max-height:calc(100dvh - 590px); min-height:110px; width:100%; background:#e3e6dd; display:flex; justify-content:center; }
.studio-v3 .player img,.studio-v3 .player video { width:100%; height:100%; object-fit:contain; }
.studio-v3 .preview-navigation { margin:10px 0 0; flex-wrap:nowrap; }
.studio-v3 .frame-controls button { min-height:36px; }
.studio-v3 .preview-hint { margin:8px 0 0; font-size:12px; text-align:center; }
.v3-canvas-tools { display:flex; justify-content:center; gap:6px; margin:12px 0 0; }
.v3-canvas-tools button { min-height:32px; padding:6px 10px; font-size:12px; }
.studio-v3 .studio-controls { position:static; overflow:auto; grid-column:3; grid-row:1/3; border-radius:0; border-left:1px solid var(--line); padding:0 18px 24px; height:auto; max-height:none; min-height:0; scrollbar-gutter:stable; }
.v3-inspector-bar { display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; background:#fff; padding:16px 0; margin:0 0 8px; border-bottom:1px solid var(--line); z-index:2; font-size:12px; text-transform:uppercase; letter-spacing:.09em; color:#65705d; }
#close-inspector { display:none; }
.studio-v3 #scene-inspector { display:block; }
.studio-v3 #scene-inspector h3 { font-size:16px; margin:8px 0 18px; }
body.studio-v3:not([data-step=photos]) #scene-inspector { display:none; }
.studio-v3 #scene-inspector:not(:has(.photo))::after { content:'Select a photograph or clip from your album to edit its caption, framing and timing. Use Style to edit the opening and closing.'; display:block; color:#596651; font-size:13px; line-height:1.7; }
.studio-v3 .studio-controls label { font-size:12px; margin:0 0 16px; display:block; }
.studio-v3 input:not([type=checkbox]):not([type=range]):not([type=file]),.studio-v3 select,.studio-v3 textarea { width:100%; min-height:42px; padding:10px 12px; border:1px solid #87937d; border-radius:4px; background-color:#fff; font:400 13px var(--studio-font); color:var(--ink); margin-top:6px; }
.studio-v3 select { padding-right:46px; background-image:url('/static/select-control.svg'); background-size:44px 100%; background-position:right center; }
.studio-v3 .studio-controls details { border:1px solid var(--line); background:#fafbf8; border-radius:5px; padding:0 12px; margin:16px 0 0; }
.studio-v3 .studio-controls summary { padding:14px 0; font-size:12px; font-weight:600; }
.studio-v3 .studio-controls details[open] { padding-bottom:14px; }
.studio-v3 .studio-controls p { font-size:12px; line-height:1.6; }
.studio-v3 .theme-choices { grid-template-columns:1fr 1fr; gap:8px; }
.studio-v3 .theme-choices button { padding:4px; text-align:left; }
.studio-v3 .theme-choices img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.studio-v3 .theme-choices strong { display:block; font-size:12px; padding:7px 3px; }
.studio-v3 .theme-choices button>span { display:none; }
.studio-v3 .theme-choices [aria-pressed=true] { border:2px solid var(--action); background:#eff3e8; }
.studio-v3 .theme-choices .selection-tag { font-size:12px; }
.studio-v3 .album-surface { grid-column:2; grid-row:2; border-radius:0; border-top:1px solid var(--line); padding:10px 16px; min-height:0; overflow:auto; }
.studio-v3 #storyboard-area { display:flex; flex-direction:column; }
.studio-v3 #storyboard-area h3,.studio-v3 .album-hint { display:none; }
.studio-v3 .storyboard-navigation { margin:0 0 8px; flex-wrap:nowrap; justify-content:space-between; }
.studio-v3 .storyboard-navigation label { order:0; width:auto; display:flex; align-items:center; gap:6px; font-size:12px; white-space:nowrap; }
.studio-v3 .storyboard-navigation select { min-height:32px; margin:0; padding-top:5px; padding-bottom:5px; width:120px; font-size:12px; }
.studio-v3 .storyboard-navigation button { flex:none; min-height:32px; padding:5px 10px; }
.studio-v3 #storyboard { display:flex; gap:10px; overflow:auto; max-height:none; padding:4px 4px 8px; scrollbar-gutter:auto; }
.studio-v3 .story-tile { flex:0 0 112px; }
.studio-v3 .story-photo { padding:3px; border:2px solid transparent; min-height:0; }
.studio-v3 .story-photo[aria-pressed=true] { border-color:var(--action); background:#edf2e5; }
.studio-v3 .story-photo img { height:60px; }
.studio-v3 .story-photo span { font-size:12px; padding:4px 0; }
.studio-v3 .story-select { display:inline-flex; font-size:12px; min-height:28px; }
.studio-v3 .story-tile>button:not(.story-photo) { min-height:28px; min-width:28px; padding:3px; }
.studio-v3 .storyboard-actions { position:relative; flex-wrap:wrap; margin:8px 0; }
.studio-v3 .storyboard-actions label { max-width:210px; }
.studio-v3.album-grid .studio-stage { display:none; }
.studio-v3.album-grid .album-surface { grid-row:1/3; }
.studio-v3.album-grid #storyboard { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); }
.studio-v3.album-grid .story-photo img { height:100px; }
.studio-v3 dialog { width:min(640px,calc(100vw - 24px)); max-height:85dvh; overflow:auto; border:1px solid var(--line); padding:24px; border-radius:8px; }
.studio-v3 dialog::backdrop { background:#222a20a8; }
.v3-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.v3-dialog-heading h2 { font-size:20px; margin:0; }
.studio-v3 #export { display:block!important; }
.studio-v3 #notice { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:20; width:min(600px,90vw); }
.studio-v3 footer { display:none; }
.studio-v3 .workspace-entry { max-width:650px; margin:10vh auto; padding:32px; }
@media(min-width:1600px) { .v3-workspace { grid-template-columns:260px minmax(0,1fr) 340px; grid-template-rows:minmax(240px,1fr) 224px; } .studio-v3 .player { max-height:calc(100dvh - 605px); } }
@media(max-width:1100px) and (min-width:901px) { .v3-workspace { grid-template-columns:190px minmax(0,1fr) 280px; } .studio-v3 .studio-stage { padding:16px 12px; } .v3-top-actions #new { display:none; } }
@media(max-width:900px) {
 .studio-v3 .site-header { height:44px; padding:8px 16px; }
 .studio-v3 .site-header .dev { display:none; }
 .studio-v3 #editor { height:calc(100dvh - 44px); padding-bottom:56px; }
 .v3-toolbar { min-height:80px; padding:10px 14px; gap:10px; align-items:start; }
 .v3-project h1 { font-size:15px; max-width:170px; }
 .v3-project { display:block; }
 .v3-eyebrow { font-size:12px; }
 .studio-v3 #save-status { font-size:12px; display:block; margin-top:4px; }
 .v3-top-actions { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
 .v3-top-actions #new { display:none; }
 .history-toolbar { grid-column:1/-1; justify-content:end; }
 .studio-v3 .history-toolbar button { min-height:26px; padding:3px 8px; font-size:12px; }
 .studio-v3 button { min-height:44px; }
 .studio-v3 .editor-nav { position:fixed; bottom:0; left:0; right:0; height:56px; padding:5px 8px; justify-content:space-around; z-index:8; gap:2px; border-top:1px solid var(--line); }
 .studio-v3 .editor-nav a { padding:12px 10px; font-size:12px; min-height:44px; }
 .studio-v3 .editor-nav #toggle-gallery { margin:0; padding:8px; font-size:12px; min-height:44px; }
 #open-inspector { display:block; min-height:44px; padding:8px; font-size:12px; }
 .v3-workspace { display:grid; grid-template-columns:1fr; grid-template-rows:minmax(220px,1fr) 220px; }
 .v3-library { display:none; }
 .studio-v3 .studio-stage { grid-column:1; grid-row:1; padding:16px; }
 .studio-v3 .player { max-height:calc(100dvh - 445px); min-height:100px; }
 .studio-v3 #preview .section-heading h2 { font-size:12px; }
 .studio-v3 #duration { font-size:12px; }
 .studio-v3 .preview-navigation { gap:6px; }
 .studio-v3 .frame-controls button { padding:6px; font-size:12px; }
 .studio-v3 #scene-selector { font-size:12px; }
 .studio-v3 .preview-hint { font-size:12px; }
 .v3-canvas-tools { margin-top:8px; }
 .studio-v3 .album-surface { grid-column:1; grid-row:2; padding:8px 12px; }
 .studio-v3 .studio-controls { display:none; }
 .studio-v3.sheet-open .studio-controls { display:block; position:fixed; inset:auto 0 56px; height:72dvh; max-height:72dvh; z-index:7; border:1px solid #b1baa6; border-radius:14px 14px 0 0; padding:0 20px 28px; box-shadow:0 -30px 70px #27312633; }
 .v3-inspector-bar { top:0; }
 #close-inspector { display:block; min-height:44px; }
 .studio-v3 .story-tile>button:not(.story-photo) { min-height:36px; min-width:30px; }
 .studio-v3 .story-select { min-height:36px; }
 .studio-v3 .theme-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .studio-v3.album-grid .album-surface { grid-column:1; grid-row:1/3; }
 .studio-v3 .workspace-entry { margin:3vh auto; padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .studio-v3 * { scroll-behavior:auto!important; transition:none!important; } }
.studio-v3 #editor { align-items:stretch; }
#v3-library-grid .story-photo { grid-column:auto; }
.v3-library-bar { display:none; }
.v3-album-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 6px; font-size:12px; }
.studio-v3 #manage-album { min-height:28px; padding:4px 8px; font-size:12px; }
#manage-album[aria-pressed=true] { background:var(--action); color:white; }
.studio-v3:not(.album-manage) .story-select,.studio-v3:not(.album-manage) .story-tile>button:not(.story-photo),.studio-v3:not(.album-manage) .storyboard-actions { display:none; }
.studio-v3 .storyboard-navigation:has(select>option:only-child) { display:none; }
@media(max-width:900px) {
 .studio-v3.library-open .v3-library { display:block; position:fixed; inset:auto 0 56px; height:78dvh; z-index:7; border:1px solid #aab69d; border-radius:14px 14px 0 0; box-shadow:0 -30px 70px #27312633; }
 .v3-library-bar { display:flex; align-items:center; justify-content:space-between; position:sticky; top:-18px; background:white; z-index:2; padding:10px 0; margin-bottom:12px; }
 #v3-library-grid { grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); }
 .studio-v3 .v3-album-heading { margin-bottom:4px; }
 .studio-v3 #manage-album { min-height:36px; }
}
.studio-v3 #preview { margin:0 auto; }
.studio-v3 .studio-stage { gap:10px; }
.studio-v3 .v3-canvas-tools { margin:0; }
@media(max-width:900px) {
 .studio-v3 .site-header { display:flex; }
 .studio-v3 .editor-nav { top:auto; }
 .studio-v3 #preview { margin:0; }
}
@media(min-width:901px) { .v3-top-actions #new { display:block; } }
@media(max-width:900px) { .studio-v3 .story-tile>button:not(.story-photo),.studio-v3 .story-select { min-height:44px; } }
.studio-v3 .inspector-back { display:none; }
@media(max-width:900px) { .studio-v3 #notice { bottom:68px; font-size:12px; padding:12px; } }
/* Shared spacing rhythm for the promoted workspace, including secondary panels. */
.studio-v3 { --space-xs:4px; --space-sm:8px; --space-md:12px; --space-lg:16px; --space-xl:24px; }
.studio-v3 :is(.studio-controls,.v3-library,#export) { overflow-wrap:anywhere; }
.studio-v3 :is(.studio-controls,.v3-library,#export) details {
 margin:var(--space-lg) 0 0; padding:0 var(--space-md); border:1px solid var(--line); border-radius:5px; background:#fafbf8;
}
.studio-v3 :is(.studio-controls,.v3-library,#export) details[open] { padding-bottom:var(--space-md); }
.studio-v3 :is(.studio-controls,.v3-library,#export) summary {
 margin:0 calc(-1 * var(--space-md)); padding:var(--space-md); min-height:44px; font-size:12px; font-weight:600; line-height:1.5;
}
.studio-v3 :is(.studio-controls,.v3-library,#export) details[open]>summary { border-bottom:1px solid var(--line); margin-bottom:var(--space-md); }
.studio-v3 .v3-library details[open]>:not(summary) { margin-inline:0; }
.studio-v3 :is(.studio-controls,.v3-library,#export) details[open]>:last-child { margin-bottom:0; }
.studio-v3 :is(.studio-controls,.v3-library,#export) label { margin-bottom:var(--space-lg); font-size:13px; min-width:0; }
.studio-v3 :is(.studio-controls,.v3-library,#export) p { margin:0 0 var(--space-md); font-size:12px; line-height:1.6; }
.studio-v3 :is(.studio-controls,.v3-library,#export) h3 { margin:var(--space-xl) 0 var(--space-md); }
.studio-v3 #scene-inspector h3 { margin:var(--space-sm) 0 var(--space-lg); }
.studio-v3 :is(.studio-controls,.v3-library,#export) .two { gap:var(--space-md); }
.studio-v3 :is(.studio-controls,.v3-library,#export) :is(input,select,textarea) { min-width:0; max-width:100%; }
.studio-v3 :is(.studio-controls,.v3-library,#export) label:has(>input[type=checkbox]) { display:flex; align-items:center; gap:var(--space-sm); }
.studio-v3 :is(.studio-controls,.v3-library,#export) input[type=checkbox] { flex:0 0 auto; margin:0; }
.studio-v3 :is(.studio-controls,.v3-library,#export) .actions,.studio-v3 #photo-list .tools { display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.studio-v3 .v3-library details>button,.studio-v3 #export details>button { display:block; width:100%; margin:0 0 var(--space-sm); }
.studio-v3 #music-list li { display:flex; flex-wrap:wrap; gap:var(--space-sm); padding:var(--space-md); margin:0 0 var(--space-lg); }
.studio-v3 #music-list li>:not(button) { flex:0 0 100%; min-width:0; max-width:100%; margin:0; }
.studio-v3 #music-list li>button { flex:1 1 auto; margin:0; }
.studio-v3 #music-list li>details { margin-top:var(--space-sm); }
.studio-v3 #music-list details+button { margin-top:0; }
.studio-v3 #music-list .track-heading { font-size:14px; line-height:1.5; }
.studio-v3 .library-track { padding:var(--space-md); }
.studio-v3 .library-track button { margin:var(--space-sm) 0 0; }
.studio-v3 .v3-inspector-bar { margin-bottom:var(--space-lg); }
.studio-v3 .v3-toolbar .v3-project h1 { margin-top:0; }
.studio-v3 #export>h3 { margin-top:0; font-size:17px; }
.studio-v3 #export>.actions { margin:var(--space-xl) 0; }
.studio-v3 dialog .v3-dialog-heading { gap:var(--space-lg); margin-bottom:var(--space-xl); }
.studio-v3 #export-dialog .v3-dialog-heading { position:sticky; top:-24px; background:#fff; padding:var(--space-md) 0; z-index:2; }
@media(max-width:900px) {
 .studio-v3 :is(.studio-controls,.v3-library,#export) :is(input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea) { font-size:16px; min-height:44px; }
 .studio-v3 .studio-controls { padding-inline:var(--space-lg); }
 .studio-v3 .history-toolbar button { min-height:32px; }
 .studio-v3 .editor-nav { padding-bottom:calc(5px + env(safe-area-inset-bottom)); height:calc(56px + env(safe-area-inset-bottom)); }
 .studio-v3 #editor { padding-bottom:calc(56px + env(safe-area-inset-bottom)); }
 .studio-v3.sheet-open .studio-controls,.studio-v3.library-open .v3-library { bottom:calc(56px + env(safe-area-inset-bottom)); }
 .studio-v3 #notice { bottom:calc(68px + env(safe-area-inset-bottom)); }
}
.studio-v3 .studio-controls .two:has(select) { grid-template-columns:minmax(0,1fr); }
@media(max-height:740px) { .studio-v3 .v3-workspace { grid-template-rows:minmax(0,1fr) 170px; } }
/* An ordering decision needs room to compare memories, rather than a thin sidebar. */
.studio-v3 #order-dialog { width:min(1000px,calc(100vw - 24px)); }
.studio-v3 #order-dialog #order-review { margin:0; padding:0; border:0; }
.studio-v3 #order-dialog .section-heading { align-items:center; gap:16px; }
.studio-v3 #order-dialog h3 { margin:0; font-size:18px; }
.studio-v3 #order-dialog p { font-size:13px; line-height:1.6; margin:12px 0; }
.studio-v3 #order-dialog label { display:block; font-size:13px; margin:12px 0; }
.studio-v3 #order-dialog label:has(>input[type=checkbox]) { display:flex; align-items:center; gap:8px; }
.studio-v3 #order-dialog input[type=checkbox] { flex:0 0 auto; }
.studio-v3 #order-dialog details { border:1px solid var(--line); padding:12px; margin:16px 0; border-radius:5px; }
.studio-v3 #order-dialog summary { font-size:13px; font-weight:600; min-height:32px; }
.studio-v3 #order-dialog .order-preview { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; padding:0; }
.studio-v3 #order-dialog .order-preview li { display:flex; align-items:start; gap:12px; border:1px solid var(--line); padding:12px; border-radius:5px; }
.studio-v3 #order-dialog .order-preview img { width:80px; height:96px; object-fit:contain; flex:0 0 auto; }
.studio-v3 #order-dialog .order-preview li>div { min-width:0; flex:1; }
.studio-v3 #order-dialog .order-preview strong { font-size:13px; }
.studio-v3 #order-dialog .order-preview input { width:100%; }
.studio-v3 #order-dialog #apply-order { width:100%; margin:16px 0 0; background:var(--action); color:white; }
@media(max-width:900px) { .studio-v3 #order-dialog :is(input:not([type=checkbox]),select) { font-size:16px; } }
/* Simplified panels: one primary action, details on demand. */
.studio-v3 button.text-button { text-align:left; min-height:32px; padding:4px 0; background:none; border:0; color:var(--action); text-decoration:underline; text-underline-offset:3px; }
.studio-v3 button.text-button:hover { background:none; color:var(--ink); }
.studio-v3 .photo-actions { flex-direction:column; align-items:stretch; }
.studio-v3 .photo-actions .text-button { align-self:flex-start; }
.studio-v3 .inline-confirm { border-left:3px solid var(--action); padding:4px 0 4px 10px; display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; }
.studio-v3 .inline-confirm p { flex:0 0 100%; margin:0 0 4px; }
.studio-v3 .inline-confirm p:empty { display:none; }
.studio-v3 #family-collection #create-collection { width:100%; }
.studio-v3 #family-collection > button.text-button { display:block; }
.studio-v3 #notice .notice-action { flex-shrink:0; font-weight:600; }
.studio-v3 .track-play { width:40px; min-width:40px; height:40px; padding:0; border-radius:50%; font-size:13px; line-height:1; }
.studio-v3 .track-play.playing { background:var(--action); color:#fff; border-color:var(--action); }
.studio-v3 .library-meta { display:flex; flex-direction:column; min-width:0; flex:1; }
.studio-v3 .library-meta strong,.studio-v3 #music-list .library-meta .track-heading { font-size:13px; font-weight:600; margin:0; overflow-wrap:anywhere; }
.studio-v3 .library-meta .quiet { font-size:12px; }
.studio-v3 .library-track { display:flex; align-items:center; gap:10px; padding:10px 0; }
.studio-v3 .library-track .library-add { margin:0; flex-shrink:0; }
.studio-v3 .library-track audio,.studio-v3 #music-list audio { display:none; }
.studio-v3 #music-list li { display:block; }
.studio-v3 #music-list .track-row { display:flex; align-items:center; gap:10px; }
.studio-v3 #music-list .track-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin:8px 0 0 50px; }
.studio-v3 #music-list .track-actions .icon-button { min-height:32px; min-width:32px; padding:0 8px; }
.studio-v3 #music-list .track-trim { margin:8px 0 0 50px; }
.studio-v3 #photo-list .story-details { margin:16px 0 0; }
.studio-v3 #photo-list .scene-danger { border-top:1px solid var(--line); padding-top:14px; align-items:center; justify-content:space-between; }
.studio-v3 #photo-list .scene-danger .replace-file { margin:0; }
.studio-v3 #photo-list .scene-danger .danger { color:#843a32; border-color:#c79a90; }
.studio-v3 #photo-list .replace-file { position:relative; display:inline-flex; align-items:center; min-height:40px; padding:9px 14px; border:1px solid #a1ab97; border-radius:5px; background:#fff; font-weight:500; cursor:pointer; flex:0 0 auto; }
.studio-v3 #photo-list .replace-file input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.studio-v3 #photo-list .replace-file:focus-within { outline:3px solid #687b46; outline-offset:3px; }
.studio-v3 #photo-list .story-details + button { margin-top:12px; }

/* ===== v2 redesign: stage + panel + filmstrip, landing-page visual language ===== */
.studio-v3 { --stage:#e9ebe2; --paper:#fbfaf6; --action:var(--studio-accent); --ink:var(--studio-ink); --muted:var(--studio-muted); --line:#e1e5dc; background:var(--paper); }
body.studio-v3:has(#editor:not([hidden])) { display:flex; flex-direction:column; height:100dvh; overflow:hidden; }
body.studio-v3:has(#editor:not([hidden])) > footer { display:none; }
body.studio-v3:has(#editor:not([hidden])) main { flex:1; min-height:0; }
.studio-v3 #editor { height:100%; }

/* One header: brand, project, history, one primary action */
.studio-v3 .site-header { height:auto; min-height:64px; display:flex; align-items:center; gap:28px; padding:10px 24px; background:#fff; border-bottom:1px solid var(--line); }
.studio-v3 .site-header .brand span { display:none; }
.studio-v3 .site-header .v3-toolbar { display:none; }
body.studio-v3:has(#editor:not([hidden])) .site-header .v3-toolbar { display:flex; flex:1; min-width:0; min-height:0; padding:0; border:0; background:none; }
.studio-v3 .v3-project { border-left:1px solid var(--line); padding-left:24px; }
.studio-v3 .v3-toolbar .v3-project h1 { font-size:17px; font-weight:500; letter-spacing:-.02em; }
.studio-v3 #save-status { color:var(--muted); font-size:12px; }
.studio-v3 .v3-top-actions { gap:10px; }
.studio-v3 .history-toolbar { display:flex; gap:2px; margin-right:6px; }
.studio-v3 .history-toolbar button,.studio-v3 button.ghost { border-color:transparent; background:none; color:var(--muted); }
.studio-v3 .history-toolbar button:hover:not(:disabled),.studio-v3 button.ghost:hover { background:var(--studio-tint); color:var(--ink); border-color:transparent; }
.studio-v3 button.secondary { border-color:var(--action); color:var(--action); }
.studio-v3 #open-export { padding-inline:22px; }

/* Workspace: large stage, tabbed panel on the right, filmstrip below */
@media(min-width:901px) {
 .studio-v3 .v3-workspace { grid-template-columns:minmax(0,1fr) 380px; grid-template-rows:auto minmax(0,1fr) auto; }
 .studio-v3 .v3-workspace > .editor-nav { grid-column:2; grid-row:1; }
 .studio-v3 .v3-workspace > .studio-stage { grid-column:1; grid-row:1/3; }
 .studio-v3 .v3-workspace > .studio-controls { grid-column:2; grid-row:2; }
 .studio-v3 .v3-workspace > .album-surface { grid-column:1/-1; grid-row:3; }
 .studio-v3 .v3-workspace > .v3-library { display:none; }
 .studio-v3 #edit-selected,.studio-v3 .v3-inspector-bar { display:none; }
 /* The filmstrip sits at the bottom, so notices drop in from the top of the stage. */
 .studio-v3 #notice { bottom:auto; top:84px; }
}
.studio-v3 .review-layer { display:contents; }

/* Stage: the film is the hero, shown like the landing-page showcase */
.studio-v3 .studio-stage { background:var(--stage); padding:20px 40px 18px; justify-content:center; }
.studio-v3 #preview { max-width:none; }
.studio-v3 #preview .section-heading { justify-content:flex-end; margin:0 0 12px; }
.studio-v3 #canvas-title { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.studio-v3 #duration { font-size:12px; color:var(--muted); }
.studio-v3 .player { background:none; aspect-ratio:16/9; width:auto; max-width:100%; height:min(calc(100dvh - 482px), calc((100vw - 460px) * 9 / 16)); max-height:none; min-height:160px; margin:0 auto; }
.studio-v3 .player img,.studio-v3 .player video { box-shadow:0 18px 44px rgb(32 39 24 / .2); border-radius:2px; background:#fff; }
.studio-v3 .preview-navigation { justify-content:center; gap:12px; margin-top:18px; }
.studio-v3 .frame-controls { gap:4px; }
.studio-v3 .frame-controls button { border-color:transparent; background:none; color:var(--muted); }
.studio-v3 .frame-controls button:hover { background:#fff8; color:var(--ink); }
.studio-v3 #selected-label { font-size:14px; font-weight:500; min-width:110px; text-align:center; }
.studio-v3 .preview-navigation label { width:200px; flex:none; }
.studio-v3 #scene-selector { margin:0; min-height:36px; padding-block:6px; font-size:12px; background-color:#fff; border-color:#c9cfbf; }
.studio-v3 .preview-hint { color:var(--muted); margin-top:10px; }
.studio-v3 .v3-canvas-tools { gap:4px; margin-top:4px; }
.studio-v3 .v3-canvas-tools button { border-color:transparent; background:none; color:var(--action); text-decoration:underline; text-underline-offset:3px; }

/* Panel tabs */
.studio-v3 .v3-workspace > .editor-nav { height:auto; min-height:0; padding:0 24px; gap:22px; background:#fff; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.studio-v3 .editor-nav a { padding:18px 0 14px; border-radius:0; font-size:13px; color:var(--muted); background:none; border-bottom:2px solid transparent; text-decoration:none; }
.studio-v3 .editor-nav a[aria-current=page] { color:var(--ink); background:none; border-bottom-color:var(--action); font-weight:600; }

/* Panel: fewer boxes, more space, larger headings */
.studio-v3 .studio-controls { background:#fff; border-left:1px solid var(--line); padding:8px 28px 32px; }
.studio-v3 #scene-inspector h3,.studio-v3 #personalize>h2,.studio-v3 #music-panel>h2,.studio-v3 #family-panel>h2 { font-size:22px; font-weight:500; letter-spacing:-.03em; margin:18px 0 18px; }
.studio-v3 .studio-controls details,.studio-v3 #photo-list .story-details { border:0; border-top:1px solid var(--line); border-radius:0; background:none; padding:0; margin:20px 0 0; }
.studio-v3 .studio-controls details[open] { padding-bottom:4px; }
.studio-v3 .studio-controls summary { margin:0; padding:14px 0; min-height:0; font-size:13px; font-weight:600; }
.studio-v3 .studio-controls details[open]>summary { border-bottom:0; margin-bottom:4px; }
.studio-v3 #photo-list>.photo>details:first-of-type { border-top:0; margin-top:4px; }
.studio-v3 .studio-controls label { font-weight:500; }
.studio-v3 .studio-controls input:not([type=checkbox]):not([type=range]):not([type=file]),.studio-v3 .studio-controls select,.studio-v3 .studio-controls textarea { border-color:#c9cfbf; background-color:var(--paper); }
.studio-v3 #photo-list .scene-danger { border-top:1px solid var(--line); margin-top:24px; }
.studio-v3 #music-list li { background:var(--paper); border-radius:8px; }
body.studio-v3:not([data-step=family-panel]) #family-panel { display:none; }
.studio-v3 #family-collection { border:0!important; margin:0!important; }
.studio-v3 #family-collection>summary { display:none; }

/* Filmstrip: the only list of memories */
.studio-v3 .v3-workspace > .album-surface { background:#fff; border-top:1px solid var(--line); padding:12px 24px 14px; height:206px; display:flex; flex-direction:column; overflow:visible; position:relative; z-index:4; }
.studio-v3.album-grid .v3-workspace > .album-surface { grid-row:1/-1; height:auto; }
.studio-v3 #storyboard-area { flex:1; min-height:0; overflow:auto; }
.studio-v3 #photos.strip-head { display:flex!important; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 10px; }
.studio-v3 .strip-head h2 { font-size:15px; font-weight:600; margin:0 8px 0 0; }
.studio-v3 #count { font-weight:400; color:var(--muted); margin-left:4px; }
.studio-v3 .strip-spacer { flex:1; }
.studio-v3 .strip-head #upload-status { font-size:12px; color:var(--muted); margin:0; }
.studio-v3 .strip-head #upload-progress { width:120px; }
.studio-v3 .strip-head button,.studio-v3 .strip-head summary { min-height:34px; padding:6px 12px; font-size:12px; }
.studio-v3 .album-surface.dragging { outline:2px dashed var(--action); outline-offset:-6px; }
.studio-v3 details.menu { position:relative; }
.studio-v3 details.menu>summary { list-style:none; display:inline-flex; align-items:center; border:1px solid #a1ab97; border-radius:5px; background:#fff; font-weight:500; cursor:pointer; }
.studio-v3 details.menu>summary::-webkit-details-marker { display:none; }
.studio-v3 details.menu>summary::after { content:'▾'; margin-left:6px; font-size:10px; }
.studio-v3 #add-media>summary { background:var(--action); border-color:var(--action); color:#fff; }
.studio-v3 #add-media>summary::after { content:none; }
.studio-v3 details.menu>:not(summary) { position:absolute; bottom:calc(100% + 8px); left:0; z-index:20; width:280px; margin:0; padding:14px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 18px 40px rgb(32 39 24 / .18); }
.studio-v3 #photo-tools>:not(summary) { left:auto; right:0; }
.studio-v3 .menu-body .upload { margin:0 0 8px; padding:10px 14px; border:1px solid #a1ab97; border-radius:5px; text-align:center; }
.studio-v3 .menu-body .upload:first-child { background:var(--action); border-color:var(--action); color:#fff; }
.studio-v3 #dropzone .menu-body .upload>span { font-size:13px; font-weight:500; margin:0; color:inherit; background:none; padding:0; display:inline; min-height:0; }
.studio-v3 .menu-body p,.studio-v3 .menu-body summary { font-size:12px; }
.studio-v3 .menu-body #media-file-limits { border:0; margin:6px 0 0; }
.studio-v3 #toggle-gallery[aria-pressed=true],.studio-v3 #manage-album[aria-pressed=true] { background:var(--action); color:#fff; }

/* Review tools open as a side sheet over the stage */
.studio-v3 .review-layer>section:not([hidden]) { position:fixed; z-index:30; top:84px; right:24px; bottom:24px; width:min(560px,calc(100vw - 48px)); overflow:auto; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 24px 60px rgb(32 39 24 / .22); padding:24px; }

/* Phones: preview, filmstrip and bottom tabs; header wraps */
@media(max-width:900px) {
 .studio-v3 .site-header { min-height:0; flex-wrap:wrap; gap:8px 14px; padding:8px 14px; }
 .studio-v3 .site-header .v3-toolbar { flex:1 1 100%; }
 body.studio-v3:has(#editor:not([hidden])) .site-header .brand { font-size:0; }
 .studio-v3 .v3-project { border-left:0; padding-left:0; }
 .studio-v3 #editor { height:100%; }
 .studio-v3 .v3-workspace { grid-template-rows:minmax(0,1fr) auto; }
 .studio-v3 .v3-workspace > .album-surface { grid-row:2; height:auto; max-height:240px; padding:10px 12px; }
 .studio-v3 .studio-stage { padding:14px 12px; }
 .studio-v3 .player { height:auto; width:100%; min-height:0; }
 .studio-v3 .preview-navigation label { width:auto; flex:1; }
 .studio-v3 .v3-workspace > .editor-nav { border-left:0; padding:5px 8px; gap:2px; }
 .studio-v3 .editor-nav a { padding:12px 8px; border-bottom:0; border-radius:4px; }
 .studio-v3 .editor-nav a[aria-current=page] { background:var(--action); color:#fff; }
 .studio-v3 .studio-controls { padding-top:0; }
 .studio-v3 .v3-inspector-bar { display:flex; }
 .studio-v3 .review-layer>section:not([hidden]) { inset:12px 8px calc(64px + env(safe-area-inset-bottom)); width:auto; padding:16px; }
 .studio-v3 details.menu>:not(summary) { position:fixed; left:12px; right:12px; bottom:calc(64px + env(safe-area-inset-bottom)); width:auto; }
}
/* fixes after first look */
body.studio-v3:has(#editor:not([hidden])) main { width:100%; margin:0; }
.studio-v3 .v3-workspace > #dropzone { border:0; border-top:1px solid var(--line); border-radius:0; background:#fff; text-align:left; }
.studio-v3 #dropzone.dragging { background:var(--studio-tint); outline:2px dashed var(--action); outline-offset:-6px; }
.studio-v3 #dropzone p { max-width:none; }
.studio-v3 .v3-top-actions button { white-space:nowrap; }
/* :is(...,#export) in the base layer carries id specificity, so these rules repeat .studio-v3 #v3-inspector */
.studio-v3 #v3-inspector details,.studio-v3 #v3-inspector details[open] { border:0; border-top:1px solid var(--line); border-radius:0; background:none; padding:0 0 12px; margin:20px 0 0; }
.studio-v3 #v3-inspector summary,.studio-v3 #v3-inspector details[open]>summary { margin:0; padding:14px 0; min-height:0; font-size:13px; font-weight:600; border-bottom:0; }
.studio-v3 #v3-inspector #photo-list>.photo>details:first-of-type { border-top:0; margin-top:8px; }
.studio-v2 #photo-list>.photo>details:first-of-type>summary { display:none; }
.studio-v3 #v3-inspector #family-collection { border:0; margin:0; }
.studio-v3 .v3-workspace > #dropzone { padding:12px 24px 14px; }
/* owner feedback round 1 */
.studio-v3 .age-sort { position:relative; }
.studio-v3 .age-sort #quick-age-sort { min-height:34px; padding:6px 14px; font-size:12px; font-weight:600; border-color:var(--action); color:var(--action); }
.studio-v3 .age-sort #age-sort-confirm:not([hidden]) { position:absolute; bottom:calc(100% + 8px); right:0; z-index:20; width:300px; margin:0; padding:14px; background:#fff; border:1px solid var(--line); border-left:3px solid var(--action); border-radius:8px; box-shadow:0 18px 40px rgb(32 39 24 / .18); }
.studio-v3.album-manage .v3-workspace > .album-surface { height:auto; max-height:55vh; }
.studio-v3.album-manage #storyboard-area { overflow:auto; }
.studio-v3 .storyboard-actions { display:flex; flex-wrap:wrap; align-items:end; gap:8px 12px; padding:8px 0 4px; }
.studio-v3 .storyboard-actions label { margin:0; font-size:12px; }
.studio-v3 .storyboard-actions input { width:90px; min-height:34px; margin-top:4px; }
.studio-v3 .storyboard-actions button { min-height:34px; padding:6px 12px; }
.studio-v3 .storyboard-actions #batch-organization { position:relative; border:0; margin:0; }
.studio-v3 .own-music { margin:0 0 20px; }
.studio-v3 .own-music .music-upload { position:relative; display:flex; justify-content:center; align-items:center; min-height:44px; padding:10px 14px; margin:0 0 8px; border:1px solid var(--action); border-radius:5px; color:var(--action); font-weight:600; cursor:pointer; }
.studio-v3 .own-music .music-upload input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.studio-v3 .own-music .music-upload:focus-within { outline:3px solid #687b46; outline-offset:3px; }
@media(max-width:900px) { .studio-v3 .age-sort #age-sort-confirm:not([hidden]) { position:fixed; left:12px; right:12px; width:auto; bottom:calc(64px + env(safe-area-inset-bottom)); } .studio-v3.album-manage .v3-workspace > .album-surface { max-height:65dvh; } }
.studio-v3 .studio-stage { justify-content:safe center; }
.studio-v3.album-manage .v3-workspace > .album-surface { max-height:340px; }
.studio-v3 #storyboard-area .storyboard-actions { background:none; border:0; border-top:1px solid var(--line); border-radius:0; margin:6px 0 0; padding:10px 0 2px; align-items:center; font-size:12px; }
.studio-v3 .storyboard-actions #story-selection { font-size:12px; font-weight:600; margin-right:4px; }
.studio-v3 .storyboard-actions > label { display:flex; align-items:center; gap:6px; font-weight:500; }
.studio-v3 .storyboard-actions > label input { width:64px; margin:0; min-height:34px; padding:6px 8px; }
.studio-v3 .storyboard-actions #story-help { flex:0 0 100%; margin:0; font-size:12px; color:var(--muted); }
.studio-v3 .storyboard-actions #batch-organization > summary { list-style:none; display:inline-flex; align-items:center; min-height:34px; padding:6px 12px; border:1px solid #a1ab97; border-radius:5px; background:#fff; font-size:12px; font-weight:500; cursor:pointer; }
.studio-v3 .storyboard-actions #batch-organization > summary::-webkit-details-marker { display:none; }
.studio-v3 .storyboard-actions #batch-organization[open] > :not(summary) { position:absolute; bottom:calc(100% + 8px); left:0; z-index:20; width:300px; margin:0; padding:14px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 18px 40px rgb(32 39 24 / .18); }
.studio-v3 .storyboard-actions #batch-organization label { display:block; margin:0 0 6px; }
.studio-v3 .storyboard-actions #batch-organization input { width:100%; }
.studio-v3 .storyboard-actions #batch-organization button { margin:0 0 10px; }
@media(max-width:900px) {
 .studio-v3.album-manage .v3-workspace > .album-surface { grid-row:1/-1; height:auto; max-height:none; overflow:auto; }
 .studio-v3.album-manage #storyboard-area { overflow:visible; flex:none; }
 .studio-v3 .storyboard-actions #batch-organization[open] > :not(summary) { position:static; width:auto; margin-top:8px; box-shadow:none; }
}
.studio-v3 #storyboard-area .storyboard-actions > label { max-width:none; white-space:nowrap; }
.studio-v3 #storyboard-area .storyboard-actions > label input { width:64px; margin:0; min-height:34px; padding:6px 8px; font-size:13px; }
.studio-v3 #storyboard-area .storyboard-actions #story-help:empty { display:none; }
.studio-v3 #storyboard-area .storyboard-actions[data-empty="true"] #story-help { display:none; }
.studio-v3 #storyboard-area .storyboard-actions > #batch-organization { display:inline-block; width:auto; flex:none; }
.studio-v3.album-manage .v3-workspace > .album-surface { max-height:360px; }
/* Phones: New project shares the Undo/Redo row (the old library sheet no longer opens). */
@media(max-width:900px) {
 .studio-v2 .v3-top-actions #new { display:block; grid-row:1; grid-column:1; justify-self:start; min-height:26px; padding:3px 8px; font-size:12px; }
 .studio-v2 .history-toolbar { grid-row:1; grid-column:2; }
}
/* Desktop: the filmstrip scrolls, not its wrapper, so the upward "Chapter & year" popover is not clipped. */
@media(min-width:901px) {
 .studio-v3 #storyboard-area,.studio-v3.album-manage #storyboard-area { overflow:visible; }
 .studio-v3 #storyboard { flex:1 1 auto; min-height:0; }
}
.studio-v3 #v3-inspector input[type=range] { margin-inline:0; }
/* Phones: the filmstrip and tabs fill the bottom, so notices sit under the header too. */
@media(max-width:900px) { .studio-v2 #notice { bottom:auto; top:112px; } }

/* Empty album: the upload choices become the filmstrip's welcome panel instead of a pop-up. */
.studio-v3 #dropzone[data-empty="true"] :is(#count,#add-media>summary,#manage-album,#quick-age-sort,#photo-tools,#toggle-gallery) { display:none; }
.studio-v3 #dropzone[data-empty="true"] #add-media { flex:1 1 100%; }
.studio-v3 #dropzone[data-empty="true"] #add-media>.menu-body { position:static; width:auto; box-shadow:none; border:1px dashed #a1ab97; background:var(--studio-tint); display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; padding:18px 20px; }
.studio-v3 #dropzone[data-empty="true"] .menu-body .upload { margin:0; width:auto; min-width:190px; }
.studio-v3 #dropzone[data-empty="true"] .menu-body #media-file-limits { flex-basis:100%; margin:0; }
@media(max-width:900px) { .studio-v3 #dropzone[data-empty="true"] .menu-body .upload { flex:1 1 100%; } }
.purchase-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:10px 0;color:var(--ink)}
.purchase-consent input{width:18px;height:18px;margin-top:2px;flex-shrink:0}
.studio-legal{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:13px}
.studio-legal a{color:inherit}
/* Render progress sits on top of the viewer so it is always visible and the viewer never needs to scroll. */
.studio-v3 .player{position:relative}
.studio-v3 #render-status:not([hidden]){position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;background:rgb(20 25 16 / .78);color:#fff;border-radius:inherit;text-align:center}
.studio-v3 #render-status #job-message{font-size:clamp(15px,2.4vw,20px);font-weight:600;color:#fff}
.studio-v3 #render-status progress{width:min(420px,86%);height:12px;margin:0}
.studio-v3 #render-status button{min-height:44px;color:#fff;background:transparent;border:1px solid rgb(255 255 255 / .6)}
.studio-v3 #render-status:not([hidden]){margin:0}
/* Post-payment box: spinner, then progress, then downloads. */
.studio-v3 #purchase-dialog{width:min(460px,calc(100vw - 24px));text-align:center;padding:32px 24px}
.studio-v3 #purchase-dialog h2{font-size:22px;margin:0 0 8px}
.studio-v3 #purchase-dialog p{margin:0 0 16px;color:var(--muted)}
.studio-v3 #purchase-dialog progress{display:block;width:100%;height:12px;margin:0 0 20px}
.studio-v3 #purchase-dialog .pd-actions{display:grid;gap:10px}
.studio-v3 #purchase-dialog .pd-actions>*{min-height:44px}
.pd-spinner{width:46px;height:46px;margin:0 auto 18px;border:4px solid rgb(0 0 0 / .12);border-top-color:var(--action,#4a5a31);border-radius:50%;animation:pd-spin .9s linear infinite}
.pd-spinner[hidden]{display:none}
@keyframes pd-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pd-spinner{animation-duration:3s}}
.studio-v3 #pd-title:focus{outline:none}
/* Export dialog rhythm: one gap size between blocks, no elements touching. */
.studio-v3 #export-dialog .v3-dialog-heading{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--line)}
.studio-v3 #export #purchase-status:not([hidden]){display:grid;gap:var(--space-md);margin:0 0 var(--space-xl);padding:var(--space-lg);background:#f4f6ef;border:1px solid var(--line);border-radius:6px}
.studio-v3 #export #purchase-status p,.studio-v3 #export #purchase-status label{margin:0}
.studio-v3 #export #purchase-status #payment-message{font-size:13px}
.studio-v3 #export #purchase-status .purchase-consent{font-weight:400}
.studio-v3 #export #purchase-status button{justify-self:start}
.studio-v3 #export>h3+p{margin-bottom:var(--space-lg)}
.studio-v3 #export .actions{display:grid;gap:var(--space-md);margin:0 0 var(--space-lg)}
.studio-v3 #export .download{margin:0 0 var(--space-md);width:100%}
.studio-v3 #export #venue-delivery:not([hidden]){display:grid;gap:var(--space-md);margin:0 0 var(--space-lg)}
.studio-v3 #export #venue-delivery p{margin:0}
/* Export dialog, second pass: currency row, text colour and gaps after buttons. */
.studio-v3 #export details>p{color:var(--muted)}
.studio-v3 #export details>p[role=status],.studio-v3 #export details>p:first-of-type{color:var(--ink)}
.studio-v3 #export details button+p,.studio-v3 #export details .actions+p,.studio-v3 #export details select+p{margin-top:var(--space-md)}
.studio-v3 #export details>button{margin-bottom:var(--space-sm)}
.studio-v3 #export details>h3{margin:var(--space-xl) 0 var(--space-sm)}
.studio-v3 #export-dialog .v3-dialog-heading{box-shadow:0 10px 8px -10px rgb(0 0 0 / .18)}
/* No stand-in picture before the real scene loads (it used to flash an example photograph). */
.studio-v3 #frame:not([src]){visibility:hidden}
