/* Measured Rendy geometry, adapted to Photographer's approved blue primary. */
body:has(.rendy-editor){background:var(--canvas)}
body:has(.rendy-editor)>.app-header,body:has(.rendy-editor)>.app-footer{display:none}
body:has(.rendy-editor) #app.app-main{max-width:none;width:auto;padding:0;margin:16px}
.rendy-editor{height:calc(100dvh - 32px);min-height:600px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--surface);border-radius:20px;overflow:hidden;box-shadow:0 18px 60px #17222f17;color:var(--ink)}
.rendy-editor-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:14px 28px}
.rendy-editor-title{display:flex;align-items:center;gap:14px;min-width:0;font-size:14px;line-height:22px}
.rendy-editor-title a{color:var(--muted);text-decoration:none;max-width:270px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rendy-editor-title strong{font-weight:500;white-space:nowrap}.rendy-editor-title>span{color:var(--line)}.rendy-editor-title>span:nth-of-type(2){color:var(--muted)}
.rendy-editor-title h1{font-size:14px;line-height:22px;font-weight:600;letter-spacing:0;margin:0}
.rendy-editor-tools{display:flex;align-items:center;gap:2px;flex-shrink:0}







.rendy-editor .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:14px;line-height:20px;text-decoration:none}
.rendy-editor-tools .btn{width:44px;height:44px;padding:0}
.rendy-zoom{display:flex;gap:4px;align-items:center;align-self:flex-end;height:40px;margin-bottom:8px}
.rendy-zoom input{width:90px;height:20px;min-height:0;padding:0;accent-color:var(--ink);border:0;box-shadow:none}
.rendy-zoom .btn{width:30px;min-height:36px;height:36px;border:0;box-shadow:none;background:transparent;font-size:20px}
.rendy-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;flex:1;min-height:0;overflow:auto}
.rendy-edit-canvas{padding:18px 24px 10px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.rendy-design-row{display:flex;align-items:center;margin-bottom:20px}.rendy-design-row:empty{display:none}
.rendy-design{position:relative;z-index:4}.rendy-design>summary{display:flex;align-items:center;gap:10px;max-width:340px;min-height:44px;padding:10px 14px;border-radius:12px;background:var(--surface-soft);color:var(--ink);font-size:14px;font-weight:600;list-style:none;cursor:pointer}
.rendy-design>summary::-webkit-details-marker{display:none}.rendy-design>summary>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.rendy-design-glyph{display:none}.rendy-design>summary>span:last-child{font-size:12px;color:var(--muted)}
.rendy-design-fields,.rendy-design>.ed-properties{position:absolute;top:54px;left:0;width:330px;max-width:calc(100vw - 80px);padding:20px;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 50px #20273224}.rendy-design .field{margin-bottom:14px}.rendy-design .field:last-child{margin-bottom:0}
.rendy-scene-strip.ed-timeline{display:flex;flex:none;gap:14px;align-items:start;overflow-x:auto;overflow-y:hidden;padding:4px 2px 18px;margin:0 0 24px;scrollbar-color:var(--line) var(--surface-soft);scrollbar-width:thin}
.rendy-scene-strip .ed-shot{flex:0 0 var(--scene-width,112px);position:relative;border:0;padding:0;background:none;border-radius:12px;box-shadow:none;cursor:grab}
.rendy-scene-strip .ed-shot.selected{border:0;box-shadow:none}.rendy-scene-strip .ed-shot-preview{width:100%;height:calc(var(--scene-width,112px)*1.78);padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:var(--surface-inset);box-shadow:0 3px 5px #00000018}
.rendy-scene-strip .ed-shot.selected .ed-shot-preview{border-color:var(--selection);box-shadow:0 3px 5px #00000012}
.rendy-scene-strip .ed-shot .photo{width:100%;height:100%;aspect-ratio:auto;border-radius:9px}.rendy-scene-strip .photo-label{display:none}
.rendy-scene-strip .ed-shot-title{display:none}
.rendy-scene-strip .ed-shot-actions{position:absolute;left:5px;right:5px;bottom:8px;display:flex;align-items:center;justify-content:center;gap:1px;padding:3px;background:#fffffff0;border:1px solid var(--surface);border-radius:8px;box-shadow:0 2px 6px #0002;opacity:0;transition:opacity 130ms}
.rendy-scene-strip .ed-shot:hover .ed-shot-actions,.rendy-scene-strip .ed-shot:focus-within .ed-shot-actions{opacity:1}
.rendy-scene-strip .ed-shot-actions .btn{min-height:28px;height:28px;border:0;box-shadow:none;background:transparent;padding:2px 4px;font-size:13px;line-height:20px}
.rendy-editor .ed-audio{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px 10px;padding:0;align-items:center}
.rendy-audio-transport{display:flex;align-items:center;gap:18px;height:82px;padding:16px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(var(--surface),var(--surface-soft));box-shadow:inset 0 1px var(--surface),0 1px 2px #0000000c;min-width:0}
.rendy-audio-play{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:6px;border:0;border-radius:50%;background:linear-gradient(#292b2f,#060607);color:white;box-shadow:inset 0 1px 2px #ffffff70;cursor:pointer}
.rendy-audio-play:disabled{opacity:.3;cursor:not-allowed}.rendy-audio-play svg{width:20px;height:20px}
.rendy-audio-wave{position:relative;flex:1;min-width:0;height:46px;--played:0%}.rendy-editor .waveform{height:46px;width:100%;display:flex;gap:2px;align-items:center;margin:0;overflow:hidden}
.rendy-editor .waveform span{display:block;flex:1;min-width:1px;height:var(--bar);max-width:none;background:var(--muted);border-radius:1px;opacity:1}.rendy-editor .waveform span.outside-trim{background:var(--line)}
.rendy-audio-wave input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;padding:0}.rendy-audio-wave:focus-within{outline:2px solid var(--selection);outline-offset:4px;border-radius:4px}
.rendy-audio-wave:after{content:'';position:absolute;left:var(--played);top:0;bottom:0;width:1px;background:var(--ink);pointer-events:none}
.rendy-audio-buttons{display:flex;flex-direction:column;gap:6px}.rendy-editor .rendy-audio-buttons .btn{width:118px;height:38px;min-height:38px;padding:8px 16px;font-size:14px;gap:7px;border-radius:10px}.rendy-audio-buttons svg{width:19px;height:19px;flex:none}
.rendy-track-caption{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;line-height:18px;grid-column:1/-1}.rendy-track-caption output{font-variant-numeric:tabular-nums}
.rendy-editor .ed-volume{grid-column:1/-1;display:flex;gap:12px;font-size:13px}.rendy-editor .ed-volume input{width:120px;padding:0}
.rendy-audio-error:empty,.rendy-player-error:empty{display:none}.rendy-audio-error{grid-column:1/-1;font-size:13px;color:var(--danger);margin:0}
.rendy-edit-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-top:8px;line-height:20px}.rendy-edit-meta .ed-save-state{font-size:12px;margin:0}
.rendy-player{min-width:0;padding:24px;display:flex;flex-direction:column;justify-content:center}
.rendy-player-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px;font-size:13px;color:var(--muted)}.rendy-player-heading strong{font-weight:600;color:var(--ink)}
.rendy-player-screen{position:relative;border-radius:12px;background:#17181c;box-shadow:0 8px 24px #00000012;overflow:hidden}.rendy-player-screen video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}.rendy-player-screen.portrait{width:min(100%,242px);margin-inline:auto}.rendy-player-screen.portrait video{aspect-ratio:9/16;height:auto;max-height:none}
.rendy-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff75;border-radius:50%;background:#15181ddb;color:white;box-shadow:inset 0 2px 4px #ffffff30,0 4px 18px #0003;cursor:pointer}.rendy-video-play svg{width:28px;height:28px}.rendy-video-play[hidden]{display:none}
.rendy-captions{position:absolute;left:8%;right:8%;bottom:14%;text-align:center;color:white;font-weight:700;font-size:clamp(13px,2.4vw,18px);line-height:1.3;text-shadow:0 1px 3px #000c,0 0 12px #0008;pointer-events:none}.rendy-captions[hidden]{display:none}
.rendy-player-empty{min-height:240px;display:grid;place-items:center;border-radius:12px;background:var(--surface-inset);color:var(--muted);font-size:14px;text-align:center;padding:20px}.rendy-player-error{font-size:13px;color:var(--danger)}.rendy-file-picker{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:12px;color:var(--muted)}
.rendy-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none;min-height:76px;padding:14px 24px}.rendy-editor-footer .inline{display:flex;align-items:center;gap:10px}.rendy-editor-footer .btn{min-height:46px;border-radius:12px}
.rendy-editor>p:empty{display:none}.rendy-editor>p:not(:empty){margin:0;padding:8px 24px}
.rendy-connected-audio{display:grid;grid-template-columns:minmax(0,1fr) auto 118px;gap:12px;align-items:center}.rendy-audio-label{font-size:13px;color:var(--muted)}.rendy-audio-panel>.ed-properties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:16px 0}.rendy-audio-panel[open]{margin-top:12px}
/* Listing delivery controls use the same physical secondary button. */
.listing-folder-simple .ed-output-actions>.btn.quiet{padding:8px 12px;font-size:13px}
.ed-preview-sample{position:absolute;right:12px;top:12px;z-index:3;color:var(--surface);background:#17263485;border-radius:5px;padding:3px 7px;font-size:12px;pointer-events:none}
.ed-output-pending{display:flex!important;align-items:center;justify-content:center;flex-direction:column;color:var(--muted)!important;font-size:13px;cursor:default!important;min-height:170px}
.ed-media-status{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;background:var(--surface-inset);color:var(--muted);font-size:13px;padding:20px;text-align:center}.ed-media-status[hidden]{display:none}
.listing-folder-simple .ed-output-grid,.listing-folder-simple .ed-output-grid:has(>.ed-output:only-child),.listing-folder-simple .ed-output-grid:has(>.ed-output:nth-child(2):last-child){grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.listing-folder-simple .ed-output-preview{height:auto;max-height:none;aspect-ratio:16/9;background:transparent;cursor:default}.listing-folder-simple .ed-output-preview.is-reel-pack{width:min(100%,191px);height:auto;max-height:340px;aspect-ratio:9/16}.listing-folder-simple .ed-output-preview>video{height:100%;width:100%;display:block;object-fit:contain;background:transparent}.listing-folder-simple .ed-output-preview:after{display:none}
@media(max-width:1050px){.rendy-editor-title a{max-width:170px}.rendy-workspace{grid-template-columns:minmax(0,1fr) 280px}.rendy-editor-header{padding:16px;gap:10px}.rendy-editor-title{gap:7px}.rendy-zoom input{width:60px}.rendy-editor-title>span:nth-of-type(2),.rendy-editor-title>span:nth-of-type(3){display:none}.rendy-editor-title h1{min-width:0;text-wrap:balance}}
@media(max-width:780px){.app-main:has(.rendy-editor){margin:8px}.rendy-editor{height:auto;min-height:calc(100dvh - 16px)}.rendy-editor-header{flex-wrap:wrap}.rendy-editor-title{width:100%}.rendy-editor-tools{width:100%;justify-content:flex-end;flex-wrap:wrap}.rendy-workspace{display:flex;flex-direction:column;overflow:visible}.rendy-player{order:-1;padding:12px 16px}.rendy-player-screen{max-width:500px;width:100%;margin:auto}.rendy-player-screen video{max-height:250px}.rendy-player-screen.portrait{width:140px}.rendy-edit-canvas{padding:24px 18px 16px}.rendy-editor-footer{padding:12px 16px;flex-wrap:wrap}.rendy-editor-footer .inline:last-child{flex:1 1 100%;justify-content:flex-end}.rendy-editor-footer .btn{padding:10px 14px;font-size:14px}.rendy-editor .ed-audio{grid-template-columns:minmax(0,1fr) 100px}.rendy-editor .rendy-audio-buttons .btn{width:100px}.rendy-audio-transport{padding:12px;gap:10px}.rendy-edit-meta{flex-wrap:wrap;gap:4px}.rendy-design>summary{min-width:210px}.rendy-design-fields{max-width:calc(100vw - 64px)}.listing-folder-simple .ed-output-grid,.listing-folder-simple .ed-output-grid:has(>.ed-output:only-child),.listing-folder-simple .ed-output-grid:has(>.ed-output:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.listing-folder-simple .ed-output-grid,.listing-folder-simple .ed-output-grid:has(>.ed-output:only-child),.listing-folder-simple .ed-output-grid:has(>.ed-output:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}}
@media(hover:none){.rendy-scene-strip .ed-shot-actions{opacity:1}}
@media(prefers-reduced-motion:reduce){.rendy-editor *{transition:none!important}}
.rendy-trim-visual{position:relative;height:100px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:20px}
.rendy-trim-visual .waveform{display:flex;align-items:center;gap:2px;height:100%;padding:16px}.rendy-trim-visual .waveform span{flex:1;height:var(--bar);background:var(--muted);border-radius:1px}
.rendy-trim-window{position:absolute;inset:0;border:2px solid var(--selection);border-radius:10px;background:var(--selection-wash);box-shadow:0 0 0 500px color-mix(in srgb,var(--surface-soft) 70%,transparent);pointer-events:none}
.rendy-trim-handles{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;font-size:13px;color:var(--muted)}.rendy-trim-handles input{width:100%;padding:0;min-height:32px;accent-color:var(--blue)}
/* Mixed Reel Pack: one reel at a time. Cloud tracks: the shot timeline with the Voice and Music rows. */
.rendy-editor .rendy-reels{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:4px 28px 8px}
.rendy-editor .rendy-tracks{margin-top:20px}
.rendy-editor .ed-audio-state{margin:0;min-height:1em;font-size:12px}
@media(max-width:1050px){.rendy-editor .rendy-reels{padding:12px 16px}}

/* Simplified editor (demo and cloud): one high-contrast action, quiet chrome, extras collapsed until they're used. */
.ed-revise{min-height:48px;padding:7px 14px 7px 20px;gap:12px;font-size:15px;border-radius:12px}
.ed-revise-text{display:grid;justify-items:start;line-height:1.15}.ed-revise-text small{font-size:11px;font-weight:600;opacity:.82}
.ed-primary-actions{display:flex;align-items:center;gap:8px}
.page-actions .btn[hidden],.rendy-editor-footer .btn[hidden],.ed-save-state[hidden]{display:none}
/* Focus mode: the editor fills the page. No global nav or footer; "Done" goes back to the listing. */
body:has(.ed-workspace.is-simple)>.app-header,body:has(.ed-workspace.is-simple)>.app-footer{display:none}
body:has(.ed-workspace.is-simple) #app{padding-top:var(--s-4)}
.ed-done{gap:6px;padding-inline:10px 14px}
/* The revision dialog's type: two large choices. */
.rev-kinds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.rev-kind{display:grid;gap:2px;justify-items:start;min-height:64px;padding:12px 14px;border:0;border-radius:12px;background:var(--surface-soft);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}
.rev-kind strong{font-size:14px;line-height:1.3}.rev-kind span{font-size:13px;color:var(--text-2)}
.rev-kind:hover{box-shadow:inset 0 0 0 1px var(--accent-line)}
.rev-kind[aria-checked=true]{background:var(--selection-wash,#f3f7fd);box-shadow:inset 0 0 0 2px var(--selection,#326fbd)}
.rev-kind[aria-checked=true] span{color:var(--selection-text,#244c7f)}
.rev-kind:focus-visible{outline:2px solid var(--focus,#326fbd);outline-offset:2px}
.rev-kind:disabled{opacity:.6;cursor:not-allowed}
.revision-type:has(.rev-kinds){display:grid;gap:8px}
/* Help lines that only make sense with a mouse, or on a phone. */
@media(hover:none),(max-width:780px){.ed-only-pointer{display:none}}
@media(hover:hover) and (min-width:781px){.ed-only-touch{display:none}}
.ed-price{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:rgb(255 255 255 / .18);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .38);font-size:12px;font-weight:700;line-height:1}
.ed-revise:disabled .ed-price{background:none;box-shadow:inset 0 0 0 1px var(--line)}
.ed-tools{display:inline-flex;align-items:center;gap:2px}
.ed-tools .btn.quiet:disabled,.rendy-editor-tools .btn.quiet:disabled{border-color:transparent;background:transparent;color:var(--text-3)}
.page-actions .ed-save-state{align-self:center;margin:0 4px;white-space:nowrap}
.ed-pop{position:relative}
.ed-pop>summary{list-style:none;cursor:pointer}.ed-pop>summary::-webkit-details-marker{display:none}
.ed-pop[open]>summary{background:var(--surface-soft);color:var(--ink)}
.ed-pop-body{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:224px;max-width:min(320px,calc(100vw - 32px));padding:6px;border-radius:12px;background:var(--surface);box-shadow:0 0 0 1px var(--line),0 14px 36px #1a223024;text-align:left}
.ed-help .ed-pop-body{width:300px;padding:12px 14px;font-size:13px;line-height:1.45;color:var(--text-2)}
.ed-help ul{display:grid;gap:8px;margin:0;padding-left:18px}
.ed-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;white-space:nowrap}
.ed-menu-item:hover,.ed-menu-item:focus-visible{background:var(--surface-soft)}
.ed-menu-item:disabled{color:var(--text-3);background:none;cursor:not-allowed}
.ed-menu-check input{appearance:auto;-webkit-appearance:checkbox;flex:none;width:16px;height:16px;min-height:0;margin:0;padding:0;border:0;box-shadow:none;accent-color:var(--selection)}
/* Demo editor: the video, the shot timeline, then collapsed sections. No cards around them. */
.ed-workspace.is-simple{display:block}
.ed-workspace.is-simple .ed-work-main{max-width:860px;margin:0 auto;padding:0;background:none;box-shadow:none}
.ed-workspace.is-simple .ed-preview-wrap .ed-stage.is-portrait{height:min(56vh,520px)}
.ed-workspace.is-simple .ed-preview-nav .btn{min-height:36px}
.ed-workspace.is-simple~.ed-timeline-wrap,.rendy-editor .ed-timeline-wrap{margin-top:var(--s-4);padding:0;border:0;border-radius:0;background:none;box-shadow:none}
/* The shot options sit in this grid above the shots: one column that never grows past the editor, so a long photo row scrolls inside its options at 375px. */
.ed-workspace.is-simple~.ed-timeline-wrap,.rendy-editor .ed-timeline-wrap{grid-template-columns:minmax(0,1fr)}
.ed-section>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;border-radius:10px;list-style:none;cursor:pointer;font-size:var(--t-sm);font-weight:600;color:var(--ink)}
.ed-section>summary::-webkit-details-marker{display:none}
.ed-section>summary:hover{background:var(--surface-soft)}
.ed-section>summary:focus-visible{outline:2px solid var(--focus,#326fbd);outline-offset:2px}
.ed-section-title{flex:none;min-width:104px}
.ed-section-sum{flex:1;min-width:0;color:var(--text-3);font-weight:500;overflow-wrap:anywhere}
.ed-section>summary .icon{flex:none;color:var(--text-3);transition:transform 160ms ease}
.ed-section[open]>summary .icon{transform:rotate(180deg)}
.ed-section-body{padding:6px 0 10px}
.ed-text-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;background:none;box-shadow:none}
.ed-text-fields .field{margin:0}
.ed-workspace.is-simple .ed-stage .ed-overlay{cursor:text}
/* Timeline reorder: drag a shot or press ← / →. */
.tl-cube.is-movable{cursor:grab}
.tl.is-reordering,.tl.is-reordering .tl-cube{cursor:grabbing}
.tl-cube.is-dragging{z-index:6;transform:translateX(var(--drag-x,0));opacity:.92}
.tl-cube.is-dragging .tl-cube-inner{box-shadow:0 0 0 2px var(--selection,#326fbd),0 10px 24px #0000002e}
.tl-cube.is-drop-target::after{content:"";position:absolute;top:-4px;bottom:-4px;width:3px;border-radius:2px;background:var(--selection,#326fbd)}
.tl-cube.is-drop-target.drop-before::after{left:-1px}.tl-cube.is-drop-target.drop-after::after{right:-1px}
.tl-cube.is-drop-invalid .tl-cube-inner{box-shadow:0 0 0 2px var(--danger,#b42318);opacity:.7}
/* Shot options sit in place above the shot timeline: one compact row, and the open part (Redo, Swap photo, How it's made)
   under it. Music and voice options open the same way under their rows. No sliding panel. */
.ed-shot-opts,.ed-inline{margin:0 0 var(--s-3);padding:10px 12px;border-radius:14px;background:var(--surface);box-shadow:0 0 0 1px var(--line),0 6px 18px #1a22300f}
.ed-inline{margin:var(--s-2) 0 0}
.ed-shot-opts-row,.ed-inline-head{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}
.ed-shot-opts-title{display:flex;align-items:baseline;gap:8px;flex:1 1 220px;min-width:0;margin:0;font-size:var(--t-sm);color:var(--text-3);overflow-wrap:anywhere}
.ed-shot-opts-title strong{color:var(--ink);font-weight:600}
.ed-shot-opts-new{flex:none;padding:1px 7px;border-radius:999px;background:var(--selection-wash);color:var(--selection);font-size:11px;font-weight:700}
.ed-shot-opts-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto}
.ed-shot-opts-row>[data-shot-close]{order:2;flex:none}
.ed-shot-opts-actions .btn[aria-expanded="true"]{box-shadow:inset 0 0 0 1px var(--selection,#326fbd);color:var(--ink)}
.ed-shot-opts-pane,.ed-inline-body{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.ed-inline-head{justify-content:space-between;font-size:var(--t-sm)}
.ed-inline-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:10px}
.ed-inline:focus{outline:none}
/* In place, the camera moves are one row of small tiles (it scrolls on a phone). */
.ed-shot-opts .cam-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);overflow-x:auto;padding:2px 2px 6px}
.ed-shot-opts .cam-grid.is-portrait .cam-media{aspect-ratio:3/4}
.ed-swap-row{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity}
.ed-swap-row .photo-option{flex:0 0 112px;scroll-snap-align:start}
/* Each cube plays its shot's clip over the photo once it can; until then (or without one) the photo shows. */
.tl-cube .tl-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 200ms ease;pointer-events:none}
.tl-cube .tl-clip.is-playing{opacity:1}
@media(max-width:780px){
  .ed-text-fields{grid-template-columns:1fr}
  .page-actions .ed-tools{order:-2;flex:1 1 auto}
  .page-actions .ed-save-state{order:-1}
  /* Phones: the video comes first; Download, Save and Human revision sit in a bar at the bottom. */
  .ed-primary-actions{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:0 -1px 0 var(--line),0 -8px 24px #0000000d}
  .ed-primary-actions .ed-revise{flex:1 1 auto;justify-content:space-between}
  .ed-primary-actions .btn:not(.ed-revise){flex:none;padding-inline:12px}
  body:has(.ed-primary-actions) #app{padding-bottom:96px}
  /* Bigger shots across the full width: the row names sit above their rows, so every row keeps one time axis. */
  .ed-workspace.is-simple~.ed-timeline-wrap .ed-lane,.rendy-editor .ed-lane{grid-template-columns:minmax(0,1fr)}
  .ed-workspace.is-simple~.ed-timeline-wrap .ed-lane-head,.rendy-editor .ed-lane-head{flex-direction:row;align-items:center;justify-content:space-between}
  .ed-workspace.is-simple~.ed-timeline-wrap .ed-lane-shots .ed-lane-head,.rendy-editor .ed-lane-shots .ed-lane-head{display:none}
  .ed-workspace.is-simple~.ed-timeline-wrap .tl-track,.rendy-editor .tl-track{height:92px}
  .rev-kinds{grid-template-columns:1fr}
  .ed-shot-opts-row>[data-shot-close]{order:0}
  .ed-shot-opts-actions{order:1;flex-basis:100%;margin-left:-6px}
  .ed-pop-body{position:fixed;left:16px;right:16px;top:auto;max-width:none;width:auto;margin-top:6px}
  .ed-help .ed-pop-body{width:auto}
}
@media(prefers-reduced-motion:reduce){.ed-section>summary .icon{transition:none}.tl-cube .tl-clip{display:none}}
/* A waiting video card shows its real template sample (cloud) like the template picker does. */
.video-media>.tpl-live{height:100%;aspect-ratio:auto;border-radius:0}
