@font-face{font-family:Figtree;src:url('assets/Figtree-Black.ttf') format('truetype');font-weight:900;font-display:swap}@font-face{font-family:DejaVu;src:url('assets/DejaVuSans.ttf') format('truetype');font-display:swap}
:root{--bg:#10171c;--panel:#182127;--raised:#202b32;--line:#2c383f;--text:#f3f2ec;--muted:#91a0a8;--cyan:#00bfd3;--font-display:Figtree,sans-serif;--frame-width:1080;--frame-height:1350;--logo-x:305;--logo-y:105;--logo-size:150;--page1-size:108;--page2-size:130;--opening-size:111;--opening-line-height:98;--page1-line-height:130;--page2-line-height:160;--blur-radius:18;--duration:18.5;--reference-y:1287;--badges-y:1030}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,textarea{font:inherit}button,a,input,label{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}a{color:inherit;text-decoration:none}.topbar{height:86px;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:42px;height:42px;border-radius:11px}.brand>span{font-family:var(--font-display);font-size:26px;letter-spacing:-1px;line-height:1}.brand-sub{display:block;font-family:Arial,sans-serif;font-size:8px;font-weight:600;letter-spacing:2px;color:var(--muted);margin-top:7px}.header-right{display:flex;align-items:center;gap:12px}.lock-pill{background:#193036;color:#8fd3d9;font-size:11px;padding:9px 12px;border-radius:30px;white-space:nowrap}.lock-pill>span{color:var(--cyan);font-size:9px;margin-right:6px}.primary,.secondary,.quiet{padding:11px 16px;border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap}.primary{background:var(--cyan);border:1px solid var(--cyan);color:#06202b}.primary:hover{background:#43d7e3}.primary>span{margin-left:13px}.secondary{border:1px solid #43525a;color:var(--text);background:transparent}.secondary:hover{background:var(--raised)}.quiet{border:0;background:transparent;color:var(--muted)}.quiet:hover{color:var(--text)}main{max-width:1600px;margin:auto;padding:32px 36px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:9px;color:var(--cyan);letter-spacing:2px;font-weight:700}.intro h1{font-family:var(--font-display);font-size:36px;font-weight:900;letter-spacing:-1.4px;margin:10px 0}.intro p{color:var(--muted);margin:0;font-size:13px}.intro-stat{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.intro-stat strong{font-family:var(--font-display);font-size:40px;letter-spacing:-2px}.intro-stat strong span{font-size:20px;color:var(--muted);margin-left:5px}.intro-stat>span{font-size:10px;color:var(--muted);letter-spacing:.5px}.workspace{display:grid;grid-template-columns:264px minmax(360px,1fr) 310px;gap:18px;align-items:stretch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:11px}.library,.editor{padding:21px 18px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}.section-title h2{font-size:14px;font-weight:600;margin:0;letter-spacing:-.2px}.count{font-size:10px;background:#29363e;color:var(--muted);padding:4px 7px;border-radius:4px}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:8px 10px}.search>span{font-size:23px;color:var(--muted);line-height:12px}.search input{width:100%;color:var(--text);background:none;border:0;outline:0;font-size:11px}.search input::placeholder{color:#73838d}.library-tools{display:flex;align-items:center;justify-content:space-between;margin:12px 0 20px;gap:4px}.upload-button{font-size:10px;cursor:pointer;color:#d3dcd9}.upload-button:hover{color:var(--cyan)}.text-button{background:transparent;border:0;padding:0;color:var(--muted);font-size:10px}.text-button:hover{color:var(--text)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:475px;overflow-y:auto;padding:2px 4px 2px 2px;scrollbar-color:#45545d transparent;scrollbar-width:thin}.art-card{position:relative;text-align:left;padding:0;background:transparent;border:1px solid transparent;border-radius:7px;overflow:hidden;color:var(--muted)}.art-card img{display:block;width:100%;height:116px;object-fit:cover;background:#0c1217;border-radius:5px;transition:filter .2s}.art-card:hover img{filter:brightness(1.15)}.art-card.selected{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}.art-card .caption{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:7px 5px;font-size:9px}.art-card.selected .caption{color:var(--text)}.selected-check{display:none;position:absolute;right:6px;top:6px;background:var(--cyan);color:#07232d;border-radius:50%;width:17px;height:17px;line-height:17px;text-align:center;font-size:11px}.selected .selected-check{display:block}.burned{position:absolute;left:4px;top:5px;background:#26343ddd;border-radius:3px;padding:3px 4px;color:#f5c17c;font-size:8px}.library-note{font-size:10px;color:#748690;line-height:1.6;border-top:1px solid var(--line);padding-top:13px;margin:17px 0 0}.preview-panel{padding:18px 22px 12px;min-width:0}.preview-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;margin-bottom:16px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--cyan);margin:0 7px 1px 0}.guide-label{display:flex;align-items:center;gap:4px;font-size:10px;cursor:pointer}input[type=checkbox]{accent-color:var(--cyan);width:12px;height:12px}.stage{position:relative;display:flex;align-items:center;justify-content:center;background:#0d1419;border:1px solid #263139;border-radius:7px;padding:16px;height:528px;overflow:hidden}.stage canvas{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;box-shadow:0 9px 30px #0005}#loading{position:absolute;background:#0c151ce8;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px}.transport{display:flex;align-items:center;gap:10px;margin-top:17px}.play-button{flex-shrink:0;background:var(--text);color:#15242b;width:29px;height:29px;border:0;border-radius:50%;font-size:11px}.clock,.duration{font-family:monospace;font-size:10px;white-space:nowrap;color:#b2c0c8}.duration{color:var(--muted)}input[type=range]{accent-color:var(--cyan);height:3px;min-width:30px;width:100%;cursor:pointer}.icon-button{background:none;border:0;color:var(--muted);font-size:10px;white-space:nowrap;padding:5px}.icon-button:hover{color:var(--text)}.preview-caption{font-size:10px;color:#778b96;text-align:center;margin-top:14px;min-height:13px}.small-label{font-size:8px;color:#76909b;letter-spacing:1px}.editor-intro{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 20px}.field{margin-bottom:16px}.field>label{display:flex;align-items:center;font-size:11px;margin-bottom:8px;gap:6px}.number{font-size:9px;color:var(--cyan);font-family:monospace}.time{margin-left:auto;font-size:9px;color:#84959f}textarea{resize:vertical;color:#f2f3ef;background:#121c23;border:1px solid #34434c;border-radius:6px;padding:10px 11px;width:100%;font-size:13px;line-height:1.45;min-height:54px}textarea:focus{border-color:var(--cyan)}.credit-edit{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.credit-edit summary{font-size:11px;cursor:pointer;margin-bottom:12px;color:#d7dfdf}.credit-edit>label:not(.check-line){display:block;font-size:9px;color:var(--muted);margin-bottom:6px}.credit-edit textarea{font-size:10px;min-height:47px;line-height:1.5}.check-line{display:flex;align-items:center;font-size:10px;color:var(--muted);gap:4px;margin-top:5px}.locked-note{display:flex;gap:9px;border-top:1px solid var(--line);padding-top:15px;margin-top:17px;color:#a0afb7}.locked-note>span{color:var(--cyan)}.locked-note strong{font-size:10px;font-weight:500}.locked-note p{font-size:10px;margin:5px 0 0;color:#728792;line-height:1.5}.draft-status{font-size:9px;color:#6e9299;margin-top:15px}.warning{font-size:11px;line-height:1.5;background:#4d382b;border:1px solid #806044;color:#ffe1bd;padding:10px;border-radius:5px;margin-bottom:14px}.timeline{margin-top:19px;padding:18px 20px 13px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.timeline-header>span{font-size:10px;color:var(--muted)}.timeline-track{display:flex;gap:5px;height:62px}.segment{min-width:0;flex-basis:0;background:#25343d;border:1px solid #384a55;border-radius:5px;padding:10px;text-align:left;color:var(--text);position:relative;overflow:hidden}.segment:hover{background:#324652}.segment.active{border-color:var(--cyan);background:#24414a}.segment.brand-scene{background:#1c3740}.segment.pause{background:repeating-linear-gradient(45deg,#19262e,#19262e 4px,#26353e 4px,#26353e 5px);padding:4px}.segment strong{font-size:10px;display:block;white-space:nowrap}.segment span{font-size:9px;display:block;color:#8da7b5;margin-top:6px;white-space:nowrap}.segment.active:after{content:'';position:absolute;bottom:0;left:0;height:2px;background:var(--cyan);width:var(--progress,0%)}.timeline-foot{display:flex;justify-content:space-between;font-size:9px;color:#6d8794;margin-top:11px}footer{display:flex;justify-content:space-between;gap:20px;color:#6d808c;padding:22px 0;font-size:10px}.footer-dot{color:var(--cyan);margin:0 9px}footer>div{display:flex;gap:20px}footer a:hover{color:var(--text)}dialog{background:#1a252e;color:var(--text);border:1px solid #40515e;border-radius:16px;padding:30px;max-width:680px;width:calc(100% - 40px);max-height:85vh;overflow:auto;box-shadow:0 40px 120px #0008}dialog::backdrop{background:#030b12b8;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start}dialog h2{font-family:var(--font-display);font-size:30px;letter-spacing:-1px;margin:12px 0 20px}dialog p{font-size:13px;line-height:1.7;color:#a5b4bb}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.spec-grid>div{padding:14px;border-radius:7px;background:#111c24}.spec-grid span{display:block;color:#7f9ba8;font-size:10px;margin-bottom:8px}.spec-grid strong{font-size:12px;font-weight:500}.spec-note{font-size:11px!important;color:#849ba8!important}.materials{margin-top:25px}.materials h3{font-size:12px}.materials a{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:12px 0;font-size:12px}.materials a>span{color:var(--cyan);font-size:10px}.materials a:hover{color:var(--cyan)}progress{width:100%;height:8px;accent-color:var(--cyan);margin:15px 0}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,25px);background:#e9f2ed;color:#142c34;border-radius:8px;padding:13px 20px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:1000;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.workspace{grid-template-columns:290px minmax(400px,1fr) 340px}.stage{height:600px}.gallery{max-height:547px}.art-card img{height:133px}}@media(max-width:1150px){main{padding:26px 20px 0}.topbar{padding:0 20px}.workspace{grid-template-columns:220px minmax(320px,1fr)}.editor{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 18px}.editor .section-title,.editor-intro,.warning,.locked-note,.draft-status{grid-column:1/-1}.credit-edit{grid-column:1/-1}.editor-intro br{display:none}.lock-pill{display:none}.stage{height:520px}.gallery{max-height:465px}.art-card img{height:103px}.timeline-track{height:66px}.segment{padding:8px}.segment strong{font-size:9px}.segment span{font-size:8px}}@media(max-width:720px){.topbar{height:74px;padding:0 15px}.header-right{gap:6px}.header-right .secondary,.header-right .quiet{display:none}.primary{font-size:10px;padding:10px}.brand>span{font-size:23px}.brand img{width:34px;height:34px}.brand-sub{font-size:6px;letter-spacing:1.2px}main{padding:25px 14px 0}.intro{margin-bottom:22px;align-items:flex-start}.intro h1{font-size:27px;letter-spacing:-1px}.intro p{font-size:11px;max-width:240px;line-height:1.6}.eyebrow{font-size:8px;letter-spacing:1.4px}.intro-stat strong{font-size:30px}.intro-stat>span{font-size:8px;max-width:90px;text-align:right;line-height:1.6}.workspace{display:flex;flex-direction:column;gap:15px}.preview-panel{order:0;padding:16px 13px 12px}.library{order:1;padding:18px 14px}.editor{order:2;display:block;padding:20px 16px}.stage{height:min(112vw,540px);padding:12px}.gallery{display:flex;max-height:none;overflow-x:auto;gap:9px;padding-bottom:8px}.art-card{min-width:93px;max-width:93px}.art-card img{height:112px}.library-note{display:none}.library-tools{margin-bottom:12px}.section-title{margin-bottom:13px}.timeline{padding:15px 10px}.timeline-track{overflow:auto;height:65px}.segment{min-width:86px;flex-grow:1!important}.segment.pause{min-width:33px}.timeline-header>span{font-size:8px}.timeline-foot{gap:12px;font-size:8px;line-height:1.6}.timeline-foot span:last-child{text-align:right}footer{font-size:9px;flex-direction:column;gap:14px}.spec-grid{grid-template-columns:1fr}dialog{padding:22px}.transport{gap:8px}.clock{font-size:9px}.preview-caption{font-size:9px}.editor-intro br{display:block}}

.export-access{display:flex;justify-content:center;gap:14px;align-items:center;margin-top:15px}.export-access .secondary{font-size:10px;padding:8px 12px}.download-ready{display:inline-block;margin:8px 0 16px}.export-filename{font-family:monospace;font-size:11px!important;overflow-wrap:anywhere}#openReady{display:block;margin-bottom:12px}#exportResult{border-top:1px solid var(--line);margin-top:16px;padding-top:10px}[hidden]{display:none!important}

.format-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:6px}.format-switch button{background:transparent;color:var(--muted);border:0;border-radius:3px;padding:5px 9px;font-size:10px}.format-switch button[aria-pressed=true]{background:var(--cyan);color:#09212b}.stage canvas{object-fit:contain}

/* Opening safe area: 3 lines, then a fixed clearance before the subject. */
:root{--opening-top:85px;--opening-leading:100px;--opening-line-count:3;--opening-reserved-height:300px;--subject-clearance:40px;--subject-safe-top:calc(var(--opening-top) + var(--opening-reserved-height) + var(--subject-clearance))}
.subject-control{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:10px;color:var(--muted)}.subject-control strong{display:block;color:var(--text);font-size:11px;margin-bottom:8px}.subject-control label{display:flex;align-items:center;gap:5px;margin:9px 0}.subject-control p{font-size:10px;line-height:1.6}.subject-control input[type=range]{margin:10px 0}.subject-control .secondary{padding:7px 9px;font-size:10px}.stage.calibrating{cursor:crosshair;outline:2px solid var(--cyan)}

#boardDialog{max-width:1160px}.board-controls{display:flex;gap:10px;margin:18px 0}.board-controls select{background:var(--bg);color:var(--text);border:1px solid var(--line);padding:10px;border-radius:5px;max-width:50%}.board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.board-grid canvas{display:block;width:100%;height:auto}.board-grid h3{font-size:12px;font-weight:500}.board-grid p{font-size:10px!important;line-height:1.4}.board-card{min-width:0}@media(max-width:720px){.board-grid{grid-template-columns:1fr 1fr}#boardBtn{display:block;font-size:9px;padding:6px}.header-right .quiet#boardBtn{display:block}}

.export-folder{display:flex;flex-direction:column;align-items:center;gap:9px;margin:14px 0}.export-folder span{color:var(--muted);font-size:10px;text-align:center}.framing-rules{font-size:10px;line-height:1.6;margin:12px 0}.framing-rules summary{cursor:pointer;color:var(--cyan)}.framing-warning{color:#ffba9b!important}

.text-review{grid-column:1/-1;padding:12px 0 18px;border-bottom:1px solid var(--line);margin-bottom:16px}.text-review p{font-size:11px;color:var(--cyan)}.text-review .secondary{font-size:10px;padding:8px 10px}

.export-inventory{font-size:10px;width:100%;margin:8px 0;color:var(--muted)}.export-inventory summary{cursor:pointer;text-align:center}.export-inventory ul{max-height:180px;overflow:auto;padding-left:20px;overflow-wrap:anywhere}.export-inventory li{margin:6px 0}.export-help{font-size:10px;color:var(--muted);line-height:1.6;text-align:center;max-width:490px}

/* Preview follows the film edges: no black mat around the 4:5 or 9:16 canvas. */
.stage{--preview-ratio:0.8;--preview-height:496px;width:min(100%,calc(var(--preview-height) * var(--preview-ratio)));aspect-ratio:var(--preview-ratio);height:auto;padding:0;margin:0 auto;border:0;border-radius:0;background:transparent;overflow:hidden}
.stage canvas{width:100%;height:100%;max-width:100%;object-fit:fill;box-shadow:none}
@media(min-width:1500px){.stage{--preview-height:568px}}
@media(max-width:720px){.stage{--preview-height:540px;width:min(100%,calc(var(--preview-height) * var(--preview-ratio)));height:auto;padding:0}}

/* Canonical opening geometry, in output pixels, shared by both render formats. */
:root{--opening-top-45:85px;--opening-top-916:85px;--opening-side:125px;--opening-size:111;--opening-line-height:98;--opening-line-count:3;--subject-clearance:40px}

:root{--ad-text-color:#fbfdfa;--opening-tracking:-1.33;--opening-reserved-height:300px}

#campaignDialog{max-width:1200px}.campaign-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.campaign-tools input,.campaign-card select{background:var(--bg);color:var(--text);border:1px solid var(--line);padding:10px;border-radius:5px;max-width:100%}.campaign-tools span,#campaignSaveStatus{font-size:11px;color:var(--cyan)}#campaignCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.campaign-card{padding:18px;background:var(--bg);border:1px solid var(--line);border-radius:8px;min-width:0}.campaign-card h3{font-size:20px;margin:0 0 10px}.campaign-source{display:block;font-size:10px;color:var(--cyan);overflow-wrap:anywhere;margin-bottom:16px}.campaign-card>label{display:block;font-size:11px;color:var(--muted);margin:12px 0}.campaign-card textarea{display:block;margin-top:7px}.campaign-card .check-line{display:flex}.campaign-card select{width:100%;margin:12px 0}.campaign-card>button{width:100%}.campaign-card>p{font-size:11px}@media(max-width:720px){#campaignCards{grid-template-columns:1fr}#campaignBtn{display:block;font-size:9px;padding:6px}.header-right .secondary#campaignBtn{display:block}}

:root{--scene-min-size:60px;}

/* One symmetric safe inset in the 1080 px film, shared with renderer.js. */
:root{--ad-margin-inline:125px;--opening-side:var(--ad-margin-inline);}
.preview-panel{padding-inline:22px;}
@media(max-width:720px){.preview-panel{padding-inline:13px;}}

.manual-text{grid-column:1/-1;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:7px}.manual-text summary{cursor:pointer;font-size:12px;color:var(--cyan)}.manual-text p{font-size:11px;line-height:1.5;color:var(--muted)}.manual-text label{display:block;margin:14px 0;font-size:11px}.manual-text select{display:block;width:100%;margin-top:8px;background:var(--bg);color:var(--text);padding:8px;border:1px solid var(--line)}.manual-text input{width:100%;display:block;margin-top:8px;accent-color:var(--cyan)}.manual-text output{float:right;color:var(--muted)}

.calibration-badge{display:block;font:600 9px sans-serif;padding:5px 3px;color:#aaa;background:#252d32}.calibration-badge.valid{background:#174134;color:#baf3d6}.validated-filter{display:flex;gap:8px;align-items:center;font-size:11px;color:#baf3d6;margin:13px 0}.calibration-link{display:block;font-size:10px;color:var(--cyan);margin:10px 0 16px}#applyReference{margin:8px 0;width:100%}

@font-face{font-family:DejaVuBold;src:url('assets/DejaVuSans-Bold.ttf');font-weight:700;font-display:swap}@font-face{font-family:DejaVuSerif;src:url('assets/DejaVuSerif-Bold.ttf');font-weight:700;font-display:swap}@font-face{font-family:DejaVuMono;src:url('assets/DejaVuSansMono-Bold.ttf');font-weight:700;font-display:swap}
.manual-exact{background:#111b22;color:#fff;border:1px solid #47616a;border-radius:4px;padding:7px;width:100%;margin:6px 0}.text-arrows{display:flex;gap:5px;align-items:center;margin:12px 0;flex-wrap:wrap}.text-arrows button{min-width:38px;padding:8px}.text-arrows input{width:58px!important}.ending-edit{grid-column:1/-1;margin:15px 0;border:1px solid var(--line);padding:14px;border-radius:7px}.ending-edit summary{cursor:pointer;color:var(--cyan);font-size:12px}.ending-edit label{display:block;font-size:11px;margin-top:15px}.ending-edit textarea{margin-top:7px}.ending-edit p{font-size:11px;color:var(--muted);line-height:1.5}

:root{--opening-font-family:Figtree;}
@media(min-width:1151px){.preview-panel{position:sticky;top:18px;align-self:start;}}

.veil-controls label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.veil-controls input[type=checkbox]{width:auto;margin:0}

.campaign-backup{width:100%;white-space:normal;margin:0 0 15px;padding:10px 6px;font-size:11px}

.backup-help{font-size:10px;line-height:1.5;color:var(--muted);margin:0 0 15px}

:root{--hook-size:155;--body-size:111}

.type-colors{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-colors input[type=color]{display:block;width:100%;height:42px;padding:4px;background:var(--raised);border:1px solid var(--line);border-radius:6px;cursor:pointer}.image-framing{margin:12px 0;border:1px solid var(--line);padding:12px;border-radius:10px}.image-framing p{font-size:12px;color:var(--muted)}.image-framing summary{cursor:pointer;font-weight:700}.stage.dragging-image canvas{cursor:grab;touch-action:none}.stage.dragging-image canvas:active{cursor:grabbing}

.montage-dialog{width:min(1380px,96vw);max-width:none;max-height:94vh;padding:24px}.montage-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.montage-tools label.secondary{cursor:pointer}.montage-layout{display:grid;grid-template-columns:minmax(220px,400px) 1fr;gap:24px}.montage-layout canvas{width:auto;max-width:100%;height:38vh;display:block;margin:auto;background:#10171c}.montage-transport{display:flex;gap:10px;align-items:center;margin:10px 0}.montage-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.montage-dialog input[type=number],.montage-dialog select{display:block;width:100%;padding:9px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px}.montage-dialog label{font-size:13px;color:var(--muted)}.montage-dialog fieldset{border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:14px;min-width:0}.montage-dialog legend{max-width:100%;overflow:hidden;text-overflow:ellipsis}.montage-dialog input[type=range]{width:100%;accent-color:var(--cyan)}.montage-timeline{border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:14px}.montage-track-scroll{overflow-x:auto;padding-bottom:8px}.montage-track-label{font-size:11px;color:var(--muted);margin-bottom:10px}#montageTrackArea{position:relative;min-width:650px}#montageRuler{height:25px;position:relative}#montageRuler span{position:absolute;font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:5px}#montageClips,#montageMusicTrack{position:relative;height:55px;background:var(--bg);margin-bottom:6px;border-radius:5px}.montage-clip,.montage-music-block{position:absolute;top:4px;height:46px;border:1px solid #247780;border-radius:5px;background:#16434c;color:#dffcff;padding:8px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.montage-clip{cursor:grab}.montage-clip.selected,.montage-clip.drop-target{outline:2px solid var(--cyan)}.montage-music-block{background:#424d25;border-color:#879b45;color:#f3ffd9}#montagePlayhead{position:absolute;top:24px;bottom:4px;width:2px;background:#fff;pointer-events:none}.montage-exports{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.montage-dialog.recording .montage-tools label,.montage-dialog.recording fieldset,.montage-dialog.recording #montageSeek,.montage-dialog.recording #montageFormat{pointer-events:none;opacity:.5}@media(max-width:780px){.montage-layout{grid-template-columns:1fr}.montage-dialog{padding:14px}}

.montage-music-block{cursor:grab;touch-action:none}

.common-template{border:1px solid var(--cyan);border-radius:10px;padding:14px;margin:16px 0}.common-template button{display:block;width:100%;margin:10px 0}.common-template p{font-size:12px;color:var(--muted)}button:disabled,input:disabled,select:disabled{opacity:.5}

#montageLevel{display:inline-block;width:220px;height:24px;vertical-align:middle}.montage-mix label{display:block;margin:10px 0}.montage-mix input[type=range]{max-width:460px}.music-waveform{position:absolute;inset:2px 0;width:100%;height:40px;opacity:.3;pointer-events:none}.montage-music-block{isolation:isolate}

#montageRuler{cursor:crosshair;touch-action:none}

#montagePreview{position:sticky;top:0;align-self:start;background:var(--panel);padding:12px;border:1px solid var(--line);border-radius:10px}#montagePreviewFormat{display:block;font-size:12px;color:var(--cyan);margin-bottom:12px}.montage-transport{flex-wrap:wrap}#montagePreview:fullscreen{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;background:#10171c}#montagePreview:fullscreen canvas{max-height:82vh;height:82vh;width:auto}#montagePreview:fullscreen .montage-transport{justify-content:center}

.gallery-item{position:relative;min-width:0}.gallery-item .art-card{width:100%}.remove-art{display:block;width:100%;border:1px solid #57434a;border-radius:0 0 8px 8px;background:#211e25;color:#efabb4;padding:7px;font-size:12px;cursor:pointer}.remove-art:hover{background:#422a33}.art-trash{margin:12px 0;padding:10px;border:1px solid #34424c;border-radius:10px;font-size:12px}.art-trash p{color:#a9b7bf;line-height:1.5}.trash-item{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid #34424c}.trash-item span{overflow-wrap:anywhere}#imageImportReport{overflow-wrap:anywhere}#imageImportDialog{max-width:480px;background:#16212a;color:white;border:1px solid #50616c;border-radius:14px;padding:25px}#imageImportDialog::backdrop{background:#000b}
