/* 홈 화면의 navigation·카드 언어를 편집기에 그대로 적용합니다. */
body{background:#eef7ff!important;color:#172444!important}
.app-shell{max-width:1180px!important;background:#fff!important;box-shadow:none!important}
.editor-topbar{height:78px!important;padding:0 60px!important;border-bottom:1px solid #cfe4fa!important;background:#fff!important}
.editor-topbar:after{display:none!important}
.brand{font-family:"Arial Rounded MT Bold",Arial,sans-serif!important;font-size:26px!important;letter-spacing:-1.6px!important;color:#173d78!important}
.brand-mark{width:28px!important;height:28px!important;border-radius:9px!important;background:#4384ed!important;box-shadow:2px 3px 0 #b9dcff!important}
.header-actions .primary-button{border:0!important;border-radius:9px!important;background:#4384ed!important;box-shadow:3px 4px 0 #b6d8ff!important}
.project-banner{padding:31px 60px!important;background:linear-gradient(135deg,#eff8ff,#e7f3ff 63%,#f6fbff)!important;border-bottom:1px solid #d8e8f8!important}
.project-banner:before,.project-banner:after{display:none!important}.project-banner h1{font-family:"Arial Rounded MT Bold",Arial,sans-serif!important;color:#172444!important;text-shadow:none!important;font-size:25px!important}.project-banner .eyebrow{color:#4384ed!important}
.progress-wrap{border:1px solid #dbeaff!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important}.editor-grid{grid-template-columns:minmax(360px,46fr) minmax(420px,54fr)!important;min-height:calc(100vh - 165px)!important}
.storyboard-panel{padding:27px 28px!important;border-right:1px solid #dbeaff!important;background:#fff!important}.storyboard-panel:before,.storyboard-panel:after{display:none!important}.panel-heading h2,.edit-heading h2{font-family:Arial,"Pretendard",sans-serif!important;font-size:17px!important;color:#172444!important}
.scene{border-radius:11px!important;box-shadow:none!important;transform:none!important}.scene.selected{border:1px solid #9fc8ff!important;box-shadow:3px 4px 0 #b9dcff!important}.workspace-panel{padding:28px!important;background:#fff!important}.preview-card,.edit-card{border:1px solid #dbeaff!important;border-radius:14px!important;box-shadow:none!important}.preview-toolbar{background:#f3f9ff!important;border-bottom:1px solid #dbeaff!important}.video-preview{background:linear-gradient(135deg,#eff8ff,#fff9df)!important}.torn-paper{border:0!important;box-shadow:3px 4px 0 #b9dcff!important}.edit-card{padding:20px!important}.secondary-button{border:1px solid #b8d7fa!important;border-radius:9px!important;color:#276fd4!important}.render-info{box-shadow:none!important;border:1px solid #dbeaff!important;background:#f8fbff!important}

/* 컷아웃은 원형 배지에 다시 잘라 넣지 않고, 고객이 만든 투명 윤곽 그대로 보여 줍니다. */
.torn-paper{position:relative!important}
.photo-cutout{position:absolute!important;top:8%!important;left:14%!important;width:150px!important;height:175px!important;background:transparent!important;border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;transform:rotate(-3deg)!important;overflow:visible!important}
.dog-face{display:grid!important;width:100%!important;height:100%!important;place-items:center!important;font-size:0!important}
.dog-face img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;filter:drop-shadow(4px 0 0 #173d78) drop-shadow(-4px 0 0 #173d78) drop-shadow(0 4px 0 #173d78) drop-shadow(0 -4px 0 #173d78) drop-shadow(7px 0 0 #ffd330) drop-shadow(-7px 0 0 #ffd330) drop-shadow(0 7px 0 #ffd330) drop-shadow(0 -7px 0 #ffd330)!important}
.pet-pointer{display:block!important;z-index:2147483647!important;width:48px!important;height:48px!important;border:3px solid #173d78!important;box-shadow:3px 4px 0 #ffd330!important;background:#fff!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dog-face video{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(4px 0 0 #173d78) drop-shadow(-4px 0 0 #173d78) drop-shadow(0 4px 0 #173d78) drop-shadow(0 -4px 0 #173d78)}

/* 장면을 먼저 고르고, 필요한 항목만 편집하는 러비다용 간결한 편집 흐름 */
.preview-toolbar span:last-child{font-size:12px;color:#5780a9;font-weight:700}
.scene{cursor:pointer!important}.scene:focus-visible{outline:3px solid #4384ed!important;outline-offset:3px!important}
.scene-editor-card,.narration-card{display:grid;gap:15px}
.scene-edit-tabs{display:flex;gap:7px;padding:4px;background:#f1f7ff;border-radius:10px;width:max-content}
.scene-edit-tabs button{border:0;background:transparent;color:#647998;font:inherit;font-weight:800;border-radius:7px;padding:8px 14px;cursor:pointer}
.scene-edit-tabs button.active{background:#fff;color:#276fd4;box-shadow:0 1px 5px #b6d8ff}
.editor-tab-panel{display:none;gap:12px}.editor-tab-panel.active{display:grid}
.editor-tab-panel .control-label{margin:0;font-size:15px;font-weight:800}.editor-tab-panel .control-note{margin:-6px 0 2px;color:#607595;font-size:13px;line-height:1.55}
.action-row{display:flex;flex-wrap:wrap;gap:8px}.action-row .secondary-button{padding:9px 12px!important;background:#fff!important}
.adjustment-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:2px}.adjustment-grid label{display:grid;gap:8px;font-size:13px;font-weight:800;color:#2a4670}.adjustment-grid output{float:right;color:#4384ed}.adjustment-grid input{accent-color:#4384ed;width:100%}
.narration-card{margin-top:18px;padding:20px;border:1px solid #dbeaff;border-radius:14px;background:#f8fbff}.narration-card .edit-heading{align-items:center}.narration-card textarea{width:100%;resize:vertical;border:1px solid #cfe2f8;border-radius:10px;padding:12px;font:inherit;line-height:1.55;color:#172444;background:#fff}.narration-card textarea:disabled{opacity:.55;background:#edf3fa}.narration-toggle{border:1px solid #aecdf4;background:#fff;color:#5f779c;border-radius:20px;padding:7px 13px;font-weight:800;cursor:pointer}.narration-toggle.active{background:#4384ed;border-color:#4384ed;color:#fff}.narration-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#607595;font-size:12px;line-height:1.5}.narration-actions .secondary-button{white-space:nowrap;background:#fff!important}
.dog-face>img,.dog-face>video{transform:translateX(var(--media-x, 0)) scale(var(--media-scale, 1))!important;transform-origin:center bottom;transition:transform .18s ease}
@media (max-width:760px){.adjustment-grid{grid-template-columns:1fr}.narration-actions{align-items:flex-start;flex-direction:column}.scene-edit-tabs{width:100%}.scene-edit-tabs button{flex:1}.action-row .secondary-button{flex:1}}

/* 크레용 AE 원본의 찢어진 종이 소스를 첫 장면 미리보기에 적용합니다. */
.crayon-source-preview{position:relative!important;isolation:isolate;overflow:hidden!important;background:#fefdf5!important}
.crayon-source-preview:before{content:"";position:absolute;inset:0;z-index:-3;background:repeating-linear-gradient(0deg,transparent 0 27px,#d7edff 28px 30px),linear-gradient(90deg,transparent 0 54px,#ef9e94 55px 57px,transparent 58px),#fffef9}
.crayon-source-label{position:absolute;top:14px;left:19px;z-index:4;color:#315f9d;font-size:10px;font-weight:900;letter-spacing:.08em;background:#fff;padding:5px 8px;border:1px solid #c8dff9;border-radius:99px;transform:rotate(-2deg)}
.crayon-source-paper{position:absolute;z-index:-1;width:118%;max-width:none;pointer-events:none;mix-blend-mode:screen;opacity:.98}
.source-paper-top{top:-23%;left:-9%;height:52%;object-fit:fill}
.source-paper-bottom{bottom:-26%;left:-9%;height:54%;object-fit:fill;transform:rotate(180deg)}
.crayon-rainbow{position:absolute;z-index:1;right:-28px;top:-18px;width:164px;height:122px;border-radius:0 0 0 120px;background:repeating-linear-gradient(125deg,#f16635 0 12px,#f6c722 12px 24px,#2e9e56 24px 36px,#377ed6 36px 48px,#7145bc 48px 60px);opacity:.9;mix-blend-mode:multiply;clip-path:polygon(26% 0,100% 0,100% 100%,0 18%)}
.crayon-source-preview .torn-paper{z-index:2!important;width:76%!important;height:68%!important;left:12%!important;top:18%!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0 38px 25px!important;background:rgba(255,255,255,.88)!important;clip-path:polygon(3% 4%,23% 1%,42% 4%,58% 1%,78% 5%,97% 2%,94% 17%,100% 33%,95% 52%,99% 70%,93% 96%,72% 92%,52% 98%,32% 93%,15% 98%,2% 88%,5% 66%,0 48%,4% 30%,0 14%)!important;box-shadow:0 6px 0 rgba(55,126,214,.22)!important}
.crayon-caption-title{position:absolute;top:11%;left:50%;transform:translateX(-50%) rotate(-1deg);width:92%;text-align:center;color:#111;font-size:clamp(16px,2.3vw,27px);font-weight:900;letter-spacing:-.06em;text-shadow:1px 1px 0 #fff;white-space:nowrap}
.crayon-source-preview .photo-cutout{z-index:3!important;top:23%!important;left:calc(50% - 75px)!important}
.crayon-source-preview #previewCaption{z-index:4!important;position:relative!important;margin:0!important;width:100%!important;padding:10px 12px!important;border:2px solid #b8dcf6!important;background:rgba(255,255,255,.95)!important;color:#173d78!important;font-weight:900!important;font-size:clamp(14px,1.75vw,20px)!important;line-height:1.35!important;text-align:center!important;transform:rotate(-2deg)}
.crayon-source-preview .doodle.star{z-index:3;top:31%!important;left:9%!important;color:#3c73dc!important;font-size:36px!important}.crayon-source-preview .doodle.flower{z-index:3;right:10%!important;bottom:22%!important;color:#ed9e30!important;font-size:35px!important}
.crayon-source-preview .play-button{z-index:8!important;background:#4384ed!important;border:3px solid #fff!important;box-shadow:4px 4px 0 #173d78!important}
@media (max-width:760px){.crayon-source-label{font-size:8px;top:8px;left:8px}.crayon-caption-title{font-size:15px}.crayon-source-preview .photo-cutout{transform:scale(.8) rotate(-3deg)!important}.crayon-source-preview #previewCaption{font-size:13px!important;padding:7px!important}.crayon-source-preview .doodle.star{font-size:24px!important}.crayon-source-preview .doodle.flower{font-size:24px!important}}

/* 임의로 재현한 자막·공책 요소를 제거하고, AE 원본 16:9 장면을 그대로 표시합니다. */
.ae-reference-preview{position:relative!important;display:grid!important;place-items:center!important;aspect-ratio:16 / 9!important;height:auto!important;min-height:0!important;background:#111!important;overflow:hidden!important}
.ae-reference-video{visibility:hidden!important;pointer-events:none!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#111!important}
.ae-scene-poster{position:absolute!important;inset:0!important;z-index:2!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;background:#111!important}
/* The reference MP4 is a QA-only source.  The editing preview always renders
   the clean background plus the browser's own media, caption and crayon layers. */
.ae-reference-preview.is-playing .ae-scene-poster{display:block!important}
.ae-reference-preview .ae-play-button{position:absolute!important;z-index:3!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;opacity:.92!important}
.ae-reference-preview:hover .ae-play-button,.ae-reference-preview:focus-within .ae-play-button{opacity:1!important}
.scene-list{max-height:calc(100vh - 300px)!important;overflow-y:auto!important;padding-right:7px!important;scrollbar-color:#9fc8ff #edf6ff!important}
.scene .thumb{overflow:hidden!important;background:#eef6ff!important;display:grid!important;place-items:center!important}
.ae-scene-thumb{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.scene.transition{border:1px dashed #9bb9dc!important;background:#f3f6fa!important;opacity:.88}
.scene.transition .thumb{border-style:solid!important;filter:saturate(.82)}
.scene.transition .chip{background:#e3e8ef!important;color:#53657c!important}
.scene.transition .scene-caption{font-weight:700;color:#6b7a8d!important}
.edit-card button:disabled,.edit-card textarea:disabled,.edit-card input:disabled{cursor:not-allowed!important;opacity:.48!important}

/* 장면에서 교체한 사진·영상과 자막을 AE 기준 화면 위에 즉시 합성합니다. */
.live-scene-layer{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.scene-asset-stage{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.scene2-note-background{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.scene3-crayon-back-master{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.scene2-crayon4-instance{position:absolute;z-index:2;overflow:visible;transform:rotate(var(--decor-rotation,0deg)) scale(var(--decor-scale,1));transform-origin:var(--decor-anchor-x) var(--decor-anchor-y);will-change:transform}
.scene2-crayon4-source{position:absolute;left:0;top:0;display:block;width:100%;height:100%;max-width:none;pointer-events:none;user-select:none}
.live-scene-layer[hidden]{display:none!important}
.live-media-stage{position:absolute;left:8%;right:8%;top:13%;bottom:18%;display:grid;place-items:center;overflow:hidden}
.live-media-stage:empty{display:none}
.live-media-stage img,.live-media-stage video{display:block;width:100%;height:100%;object-fit:contain;transform:translateX(var(--media-x,0)) scale(var(--media-scale,1));transform-origin:center;transition:transform .18s ease;filter:drop-shadow(0 5px 9px rgba(17,38,75,.28))}
.live-media-stage:not(.cutout-slot) img,.live-media-stage:not(.cutout-slot) video{padding:1.6%;background:#fff;border:1px solid rgba(23,61,120,.16);box-shadow:0 5px 18px rgba(17,38,75,.18)}
.live-media-stage.cutout-slot img{filter:drop-shadow(3px 0 0 #101a2c) drop-shadow(-3px 0 0 #101a2c) drop-shadow(0 3px 0 #101a2c) drop-shadow(0 -3px 0 #101a2c) drop-shadow(6px 0 0 #f3c51d) drop-shadow(-6px 0 0 #f3c51d) drop-shadow(0 6px 0 #f3c51d) drop-shadow(0 -6px 0 #f3c51d)}
.live-caption{position:absolute;left:0;right:0;bottom:0;min-height:15%;margin:0;padding:2.2% 5% 1.7%;display:grid;place-items:center;background:#f5c51b;color:#111;font-family:"Comic Sans MS","Pretendard",sans-serif;font-size:clamp(14px,2.15vw,25px);font-weight:900;line-height:1.25;text-align:center;letter-spacing:-.04em;text-shadow:.5px .5px 0 #fff;white-space:pre-line}
.live-scene-layer[data-caption-placement="top"] .live-caption{top:0;bottom:auto;min-height:16%;padding:2.2% 5%;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92));border-top:9px solid #f5c51b}
.live-scene-layer[data-caption-placement="top"] .live-media-stage{top:18%;bottom:4%}
.ae-reference-preview .ae-play-button{z-index:6!important}

/* AE 원본 추출값: BM 꾸불림, 1920x1080, 하단 배경 마스크 y=856~1080. */
@font-face{font-family:"BM Kkubulim";src:url("assets/fonts/BMkkubulimTTF-Regular.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:"YoonChildfundkoreaManSeh";src:local("YoonChildfundkoreaManSeh"),local("Yoon Childfund Manse"),url("assets/fonts/YoonChildfundkoreaManSeh.otf") format("opentype");font-display:swap;font-style:normal;font-weight:400}
.ae-reference-preview{container-type:inline-size!important}
.ae-reference-video{z-index:1!important}
.ae-scene-poster{z-index:2!important}
.live-scene-layer{z-index:4!important;pointer-events:auto!important}
.live-media-stage{position:absolute!important;inset:0!important;display:block!important;overflow:hidden!important;pointer-events:auto!important}
.live-media-stage{z-index:1!important}
.ae-scene-overlay{position:absolute!important;inset:0!important;z-index:2!important;display:block;width:100%!important;height:100%!important;object-fit:cover!important;pointer-events:none!important;user-select:none!important}
.ae-scene-overlay[hidden]{display:none!important}
.ae-reference-preview.is-playing.has-replacement-animation .ae-scene-overlay{opacity:1!important}
.ae-media-slot{position:absolute;display:block;margin:0;padding:0;border:0;background:#fff;overflow:hidden;pointer-events:auto;cursor:grab;touch-action:none;appearance:none;transform-origin:center center;box-shadow:none}
.ae-media-slot.cutout{background:transparent;overflow:visible;clip-path:none!important}
.ae-media-slot.cutout.active{outline:none!important;box-shadow:none!important}
.ae-media-slot.masked-card{box-sizing:border-box;border:clamp(2px,.72cqw,7px) solid #fff;background:#fff;box-shadow:0 2px 8px rgba(31,48,72,.18)}
.ae-media-slot.active{outline:3px solid rgba(67,132,237,.95);outline-offset:-3px}
.ae-media-slot.dragging{cursor:grabbing}
.ae-slot-media{display:block;width:100%;height:100%;max-width:none;transform:translate(var(--edit-x,0),var(--edit-y,0)) rotate(var(--edit-rotation,0deg)) scale(var(--edit-scale,1))!important;transform-origin:center center!important;user-select:none;pointer-events:none;filter:none!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.ae-media-slot.cutout>.ae-slot-media{object-fit:contain}
.live-caption{z-index:5!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;height:20.741%!important;min-height:0!important;margin:0!important;padding:2.2% 3.5% 0!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#f2c30b!important;background-image:url("assets/crayon-web/caption-band.png")!important;background-size:100% 100%!important;background-position:center!important;color:#0b0b0b!important;font-family:"BM Kkubulim",sans-serif!important;font-size:var(--caption-font-size,4.7917cqw)!important;font-weight:400!important;line-height:1.1413!important;letter-spacing:0!important;text-shadow:none!important;white-space:pre-line!important;text-align:center!important;pointer-events:none!important}
.live-scene-layer[data-caption-placement="top"] .live-caption{top:auto!important;bottom:0!important;height:20.741%!important;min-height:0!important;padding:2.2% 3.5% 0!important;background:url("assets/crayon-web/caption-band.png") center/100% 100%!important;border:0!important;color:#0b0b0b!important}
.live-scene-layer[data-caption-placement="top"] .live-media-stage{inset:0!important}
.ae-reference-preview.is-playing .live-caption{display:flex!important}
.ae-sound-button{position:absolute;right:12px;top:12px;z-index:7;border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:7px 10px;background:rgba(18,28,47,.76);color:#fff;font:700 11px/1 Arial,sans-serif;cursor:pointer;backdrop-filter:blur(5px)}
.ae-sound-button:hover{background:rgba(18,28,47,.94)}
.ae-reference-preview .ae-sound-button{display:none!important}
.ae-render-smoke-button{position:absolute;right:12px;top:48px;z-index:7;border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:7px 10px;background:rgba(18,28,47,.76);color:#fff;font:700 11px/1 Arial,sans-serif;cursor:pointer;backdrop-filter:blur(5px)}
.ae-render-smoke-button:hover:not(:disabled){background:rgba(18,28,47,.94)}
.ae-render-smoke-button:disabled{cursor:progress;opacity:.62}
.ae-reference-preview .ae-render-smoke-button{display:none!important}
.transform-guide{padding:9px 11px;border-radius:8px;background:#f3f8ff;color:#41658f!important}
.transform-grid{grid-template-columns:1fr 1fr!important}
.transform-actions{display:flex;flex-wrap:wrap;gap:7px}
.transform-actions .secondary-button{margin:0!important;padding:8px 10px!important;background:#fff!important}
.slot-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:10px 0 12px}
.slot-picker[hidden]{display:none!important}
.slot-picker-button{min-width:0;padding:10px 11px;border:2px solid #cfe2fb;border-radius:10px;background:#f7fbff;color:#173d78;text-align:left;cursor:pointer}
.slot-picker-button strong,.slot-picker-button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slot-picker-button strong{font-size:13px}.slot-picker-button span{margin-top:3px;color:#6680a4;font-size:11px}
.slot-picker-button.active{border-color:#4384ed;background:#eaf3ff;box-shadow:0 0 0 2px rgba(67,132,237,.14)}
@media(max-width:760px){.transform-grid{grid-template-columns:1fr!important}.ae-sound-button{right:7px;top:7px;padding:6px 8px;font-size:10px}.ae-render-smoke-button{right:7px;top:41px;padding:6px 8px;font-size:10px}.ae-media-slot.active{outline-width:2px}}

/* 장면 원본에 맞춘 캡션·레이어와 캔버스 직접 조작 UI */
.ae-media-slot.active{outline:2px solid #4384ed!important;outline-offset:3px!important;box-shadow:none!important}
.ae-media-slot.active.masked-card{box-shadow:0 2px 8px rgba(31,48,72,.18)!important}
.live-scene-layer.hide-media-outline .ae-media-slot.active{outline:2px dashed #4384ed!important;outline-offset:4px!important}
.direct-handle{display:none;position:absolute;z-index:12;box-sizing:border-box;touch-action:none;pointer-events:auto}
.ae-media-slot.active .direct-handle{display:grid}
.direct-scale-handle{right:-10px;bottom:-10px;width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:#4384ed;box-shadow:0 1px 5px rgba(17,36,68,.48);cursor:nwse-resize}
.direct-rotate-handle{left:auto;right:-10px;top:-10px;width:27px;height:27px;place-items:center;transform:none;border:2px solid #fff;border-radius:50%;background:#173d78;color:#fff;font:900 15px/1 Arial;box-shadow:0 1px 5px rgba(17,36,68,.48);cursor:grab}
.direct-rotate-handle::after{content:none}
.transform-readout{margin:0;color:#557392;font-size:12px;font-weight:800}
.slot-count-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #cfe2fb;border-radius:10px;background:#f7fbff;color:#173d78;font-size:12px}
.slot-count-controls>div{display:flex;gap:6px}.slot-count-controls button{width:31px;height:29px;border:1px solid #a9cbed;border-radius:8px;background:#fff;color:#276fd4;font:900 18px/1 Arial;cursor:pointer}.slot-count-controls button:disabled{opacity:.35;cursor:not-allowed}

.live-caption{background-image:url("assets/crayon-web/caption-band-clean.png")!important;background-color:#f2c30b!important}
.live-caption.caption-editable{pointer-events:auto!important;cursor:move;touch-action:none;user-select:none}
.live-caption.caption-editable.dragging{cursor:grabbing}
.live-scene-layer[data-caption-placement="top"] .live-caption,.live-scene-layer[data-caption-placement="top-highlight"] .live-caption{left:8%!important;right:8%!important;top:4%!important;bottom:auto!important;width:auto!important;height:auto!important;min-height:0!important;padding:.6% 1.6%!important;background:none!important;color:#080808!important;font-size:var(--caption-font-size)!important;line-height:1.12!important;text-shadow:1px 1px 0 rgba(255,255,255,.82)!important;transform:translate(var(--caption-offset-x),var(--caption-offset-y))}
.live-scene-layer[data-caption-placement="top-highlight"] .live-caption{left:20.78125%!important;right:auto!important;top:7.7778%!important;width:59.84375%!important;max-width:none!important;height:13.0556%!important;padding:0 1.4%!important;background-color:transparent!important;background-image:url("assets/crayon-web/caption-highlight-scene-06.png")!important;background-size:100% 100%!important;background-repeat:no-repeat!important;text-shadow:none!important;transform:translate(var(--caption-offset-x),var(--caption-offset-y))}
.live-scene-layer[data-caption-placement="top-highlight-image"] .live-caption{left:21.40625%!important;right:auto!important;top:6.1111%!important;bottom:auto!important;width:59.21875%!important;max-width:none!important;height:18.3333%!important;min-height:0!important;padding:0 1.5%!important;background-color:transparent!important;background-image:url("assets/crayon-web/caption-highlight-scene-05.png")!important;background-size:100% 100%!important;background-repeat:no-repeat!important;color:#080808!important;font-size:var(--caption-font-size)!important;line-height:1.06!important;text-shadow:none!important;white-space:pre-line!important;transform:translate(var(--caption-offset-x),var(--caption-offset-y))}
.live-scene-layer[data-caption-placement="bubble"] .live-caption{left:27.2%!important;right:auto!important;top:11.5%!important;bottom:auto!important;width:23.8%!important;max-width:none!important;height:20%!important;min-height:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;color:#090909!important;font-size:var(--caption-font-size)!important;line-height:1!important;box-sizing:border-box!important;transform:translate(var(--caption-offset-x),var(--caption-offset-y))!important}
.live-scene-layer[data-caption-placement="bubble"] .live-caption::before{content:none!important}
.live-scene-layer[data-caption-placement="right"] .live-caption{left:45%!important;right:5%!important;top:31%!important;bottom:auto!important;width:auto!important;height:39%!important;padding:0 2%!important;background:transparent!important;color:#080808!important;font-size:var(--caption-font-size)!important;line-height:1.25!important;text-align:center!important;transform:translate(var(--caption-offset-x),var(--caption-offset-y))}
.live-scene-layer[data-caption-placement="top"] .live-media-stage,.live-scene-layer[data-caption-placement="top-highlight"] .live-media-stage,.live-scene-layer[data-caption-placement="top-highlight-image"] .live-media-stage{inset:0!important}
@media(max-width:760px){.direct-scale-handle{width:14px;height:14px}.direct-rotate-handle{width:21px;height:21px;font-size:12px}}

.scene-text-stage{position:absolute;inset:0;z-index:4;pointer-events:none}
.scene-foreground-stage{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.couple-arrow-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.couple-name-label{position:absolute;display:grid;gap:.02em;place-items:center;margin:0;padding:.2em .45em;border:0;background:transparent;font-family:"YoonChildfundkoreaManSeh","BM Kkubulim",sans-serif;font-weight:700;line-height:1.1413;white-space:nowrap;cursor:move;touch-action:none;pointer-events:auto;transform:translate(-50%,-50%) rotate(-8deg);text-shadow:none}
.couple-name-label span,.couple-name-label strong{font-family:inherit;font-size:inherit;font-style:normal;font-weight:700;line-height:inherit}.couple-name-label.groom{color:#1837be}.couple-name-label.bride{color:#b44009;transform:translate(-50%,-50%) rotate(8deg)}
.couple-name-label::after,.couple-name-label::before{content:none!important}
.text-transform-controls,.couple-name-controls{display:grid;gap:9px;margin-top:12px;padding:12px;border:1px solid #d8e8fb;border-radius:10px;background:#f8fbff}.range-control{display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin:0!important}.range-control output{color:#276fd4;font-weight:900}.text-transform-controls input[type="range"],.couple-name-controls input[type="range"]{width:100%;accent-color:#4384ed}.text-transform-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.text-transform-row .control-note{margin:0!important}.secondary-button.compact{flex:none;padding:7px 9px!important;font-size:11px!important}.couple-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.couple-name-grid label{display:grid;gap:5px}.couple-name-grid input{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #bdd7f5;border-radius:8px;background:#fff;color:#173d78;font:inherit}
.text-transform-controls[hidden],.couple-name-controls[hidden]{display:none!important}
@media(max-width:760px){.couple-name-grid{grid-template-columns:1fr}.text-transform-row{align-items:flex-start;flex-direction:column}}

/* 선택 피드백과 실제 컷아웃 경계에 붙는 변형 UI */
.ae-media-slot.active{outline:2px dashed #4384ed!important;outline-offset:4px!important}
.ae-media-slot.cutout.active,.live-scene-layer.hide-media-outline .ae-media-slot.cutout.active{outline:none!important;box-shadow:none!important}
.live-caption.caption-selected{outline:2px dashed #4384ed!important;outline-offset:4px!important;box-shadow:0 0 0 3px rgba(255,255,255,.78)!important}
.live-caption.caption-selected::after{content:none!important}
.ae-media-slot.cutout{transform:translate(var(--frame-x,0),var(--frame-y,0)) rotate(var(--frame-rotation,0deg)) scale(var(--frame-scale,1))!important}
.ae-media-slot.cutout .ae-slot-media{transform:none!important}
.media-scale-control{margin:12px 0 6px!important}.media-scale-range{width:100%;accent-color:#4384ed}

/* 원본 장식 이미지는 텍스트와 같은 좌표·크기 변수를 공유합니다. */
#cutoutButton[hidden]{display:none!important}
.cutout-share-control{display:grid;gap:6px;margin:12px 0;padding:11px 12px;border:1px solid #cfe2fb;border-radius:11px;background:#f7fbff;color:#173d78;font-weight:800}.cutout-share-control[hidden]{display:none!important}.cutout-share-control select{width:100%;padding:9px 10px;border:1px solid #a9cdf5;border-radius:9px;background:#fff;color:#173d78;font:inherit}.cutout-share-control small{color:#6680a4;font-size:11px;font-weight:500;line-height:1.45}
.caption-decoration-art{position:absolute;z-index:4;left:var(--caption-box-left);top:var(--caption-box-top);width:var(--caption-box-width);height:var(--caption-box-height);object-fit:fill;pointer-events:none;user-select:none;transform:translate(var(--caption-offset-x),var(--caption-offset-y)) rotate(var(--ae-caption-motion,0deg));transform-origin:center}
.live-scene-layer[data-caption-placement="bubble"] .live-caption,
.live-scene-layer[data-caption-placement="top-highlight-image"] .live-caption,
.live-scene-layer[data-caption-placement="top-highlight"] .live-caption{left:var(--caption-box-left)!important;right:auto!important;top:var(--caption-box-top)!important;bottom:auto!important;width:var(--caption-box-width)!important;height:var(--caption-box-height)!important;min-height:0!important;padding:0 1.5%!important;background:none!important;background-image:none!important;box-sizing:border-box!important;transform:translate(var(--caption-offset-x),var(--caption-offset-y))!important}
.live-scene-layer[data-caption-placement="bubble"] .live-caption{padding:var(--caption-padding-top) var(--caption-padding-right) var(--caption-padding-bottom) var(--caption-padding-left)!important;line-height:1.04!important;white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:anywhere!important;overflow:hidden!important}
.live-scene-layer[data-caption-placement="bubble"] .live-caption{transform:translate(var(--caption-offset-x),var(--caption-offset-y)) rotate(var(--ae-caption-motion,0deg))!important;transform-origin:center!important}
.ae-reference-preview.is-playing .live-caption{animation:none!important}
.ae-caption-glyph{display:inline-block;min-width:.16em;transform-origin:50% 72%;will-change:transform}
@keyframes ae-caption-wobble{0%{translate:0 0;rotate:0deg}35%{translate:.18cqw -.12cqw;rotate:-.45deg}70%{translate:-.12cqw .18cqw;rotate:.35deg}100%{translate:0 0;rotate:0deg}}
.live-scene-layer[data-caption-placement="top-highlight-image"] .live-caption{line-height:1.06!important}
.live-scene-layer[data-caption-placement="top-highlight"] .live-caption{line-height:1.08!important}
.couple-name-label.selected,.couple-arrow-control.selected{outline:2px dashed #4384ed!important;outline-offset:4px;box-shadow:0 0 0 3px rgba(255,255,255,.78)}
.couple-arrow-control{position:absolute;z-index:5;width:14%;height:auto;display:block;margin:0;padding:0;border:0;background:transparent;cursor:move;pointer-events:auto;touch-action:none;transform:translate(-50%,-50%) rotate(var(--arrow-rotation,0deg)) scale(var(--arrow-scale,1));transform-origin:center}
.couple-arrow-control img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.couple-arrow-control.groom{width:6.875%;aspect-ratio:44/24}.couple-arrow-control.bride{width:12.8125%;aspect-ratio:82/48}
.couple-name-controls input[type="range"],#imageRotationRange{accent-color:#4384ed}

/* Intro/BACK03 is a four-layer AE foreground composition. */
.scene2-back03-instance{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;pointer-events:none;transform-origin:var(--back-anchor-x) var(--back-anchor-y);transform:translate(var(--back-x),var(--back-y)) translate(calc(-1 * var(--back-anchor-x)),calc(-1 * var(--back-anchor-y))) rotate(var(--back-rotation,0deg)) scale(var(--back-scale,1));will-change:transform}
.scene2-back03-instance img{display:block;width:100%;height:100%;max-width:none;pointer-events:none;user-select:none}

/* M-source line art stores color in AE Fill rather than PSD pixels. */
.caption-decoration-art.bubble {filter:brightness(0)}
.couple-arrow-control img {filter:brightness(0)}
.intro-source-art {z-index:2}
.live-scene-layer[data-scene-index="3"] .caption-decoration-art {z-index:4}
.live-scene-layer[data-scene-index="2"] .live-caption,
.live-scene-layer[data-scene-index="3"] .live-caption,
.live-scene-layer[data-scene-index="4"] .live-caption,
.live-scene-layer[data-scene-index="5"] .live-caption,
.live-scene-layer[data-scene-index="6"] .live-caption {display:block!important;align-content:center}
.ae-caption-glyph {display:inline-block;white-space:pre}

/* Explicit caption lines share their text geometry with the highlight. */
.live-scene-layer[data-scene-index="4"] .live-caption {left:12%!important;top:5.8%!important;width:76%!important;height:19%!important;padding:0!important;line-height:1.15!important}
.live-scene-layer[data-scene-index="6"] .live-caption {padding:0!important;white-space:normal!important}
.caption-explicit-line {display:table;position:relative;width:max-content;max-width:none;margin:0 auto;white-space:nowrap!important;line-height:inherit;isolation:isolate}
.caption-yellow-line::before {content:"";position:absolute;z-index:-1;left:-5%;width:110%;top:17%;height:75%;background:#e8bc00;mask:url("assets/crayon-web/scene-m-elements/intro-crayon6-Line_09.png") center/100% 100% no-repeat}
.couple-arrow-control::before {content:"";position:absolute;inset:0;background:var(--arrow-color);mask:var(--arrow-source) center/100% 100% no-repeat}
.couple-arrow-control img {opacity:0;filter:none}
.couple-arrow-control.groom {width:10.3125%;aspect-ratio:198/120}
.couple-arrow-control.bride {width:13.0729%;aspect-ratio:251/139}
.ae-media-slot.cutout {transition:none!important}

/* Live clean background, cards and source stickers. */
.sticker-stage{position:absolute;inset:0;z-index:3;pointer-events:none}
.transition-stage{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}
.transition-stage[hidden],.timeline-source-layer[hidden]{display:none!important}
.timeline-source-layer{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none}
.ae-media-slot.masked-card{overflow:visible!important;padding:0!important;border:0!important;background:#fff!important}
.polaroid-photo{position:absolute;left:4%;right:4%;top:3%;bottom:12%;overflow:hidden;display:block;background:white}
.live-caption{transform:translate(var(--caption-offset-x,0cqw),var(--caption-offset-y,0cqw))}
.live-scene-layer[data-scene-index="5"] .live-caption{left:12%!important;top:6%!important;width:76%!important;height:16%!important;padding:0!important}
.snap-x::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed #ee3f99;z-index:20;pointer-events:none}
.snap-y::before{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px dashed #ee3f99;z-index:20;pointer-events:none}
.full-playback-controls{position:absolute;left:0;right:0;bottom:-46px;height:40px;display:flex;align-items:center;gap:10px;padding:5px 10px;background:#f1f7ff;z-index:12;border-radius:8px;font-size:12px}
.full-playback-controls input{flex:1;min-width:50px}.full-playback-controls button{border:0;background:#4384ed;color:white;padding:6px 10px;border-radius:6px;white-space:nowrap}
.ae-reference-preview{overflow:visible!important;margin-bottom:50px!important}
.live-caption{background-color:transparent!important;background-image:url("assets/crayon-web/scene-m-elements/caption-yellow-source.png")!important;background-size:100% 482.14%!important;background-position:center bottom!important}.live-scene-layer[data-scene-index="1"] .live-caption,.live-scene-layer[data-scene-index="2"] .live-caption,.live-scene-layer[data-scene-index="3"] .live-caption,.live-scene-layer[data-scene-index="4"] .live-caption,.live-scene-layer[data-scene-index="5"] .live-caption,.live-scene-layer[data-scene-index="6"] .live-caption{background:none!important}

/* The picture remains 16:9; controls occupy their own row. */
#videoPlayer{display:flex!important;flex-direction:column;aspect-ratio:auto!important;overflow:hidden!important;margin-bottom:0!important;border-radius:12px;container-type:normal!important;outline-offset:4px}
.render-surface{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;container-type:inline-size;background:white;flex:none}
#playButton[hidden]{display:none!important}
.player-controls{box-sizing:border-box;width:100%;background:#171b23;color:white;padding:0 12px 7px;z-index:20;flex:none}
#fullTimeline{display:block;width:100%;height:14px;margin:0;accent-color:#6da6ff;cursor:pointer}
.player-control-row{display:flex;gap:8px;align-items:center;height:36px}
.player-controls button{position:relative;width:32px;height:32px;display:grid;place-items:center;background:none;color:#fff;border:0;border-radius:5px;font:20px Arial;cursor:pointer;padding:0}
.player-controls button:hover,.player-controls button:focus-visible{background:#ffffff24}
.player-controls button small{position:absolute;font:9px Arial;top:13px}
.player-controls button[aria-pressed="true"]{color:#8dbbff}
#volumeRange{width:62px;accent-color:#fff;margin:0}
#playbackTime{font:12px ui-monospace,monospace;white-space:nowrap;color:#ddd;margin-left:5px}
.player-spacer{flex:1}
#playbackRate{border:0;color:white;background:#171b23;padding:5px 2px;font-size:12px}
.is-playing .direct-handle,.is-playing .cutout-handle,.is-exporting .direct-handle{display:none!important}
.is-playing .ae-media-slot.active,.is-exporting .ae-media-slot.active,.is-exporting .live-caption,.is-playing .caption-selected,.is-exporting .selected{outline:none!important;box-shadow:none!important}
.is-playing #renderSurface{pointer-events:none}
body.is-exporting #renderSurface .ae-media-slot.active,body.is-exporting #renderSurface .live-caption,body.is-exporting #renderSurface .selected{outline:none!important;box-shadow:none!important}
.theater-mode .editor-grid{display:block!important}
.theater-mode .storyboard-panel{display:none!important}
.theater-mode .app-shell{max-width:1800px!important}
.theater-mode .preview-card{max-width:none!important}
.theater-mode #videoPlayer{max-width:1500px;margin-left:auto;margin-right:auto}
.theater-mode .edit-card,.theater-mode .narration-card,.theater-mode .video-export-panel{max-width:1000px;margin-left:auto;margin-right:auto}
#videoPlayer:fullscreen{width:100vw!important;height:100vh!important;border-radius:0;justify-content:center;background:#000!important}
#videoPlayer:fullscreen .render-surface{width:min(100vw,calc((100vh - 57px)*16/9));margin:auto}
#videoPlayer:fullscreen .player-controls{margin-top:auto}
.video-export-panel{margin-top:18px;padding:20px;border:1px solid #d5e4f6;background:white;border-radius:14px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:#173d78}
.video-export-panel p{font-size:12px;color:#62758d;margin:5px 0}
.export-options{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-left:auto;font-size:12px}
.export-options select{padding:7px;border:1px solid #c9d7eb;border-radius:6px;background:white}
#renderStatus,#renderProgress{width:100%}#renderProgress{accent-color:#4384ed;height:8px}
#renderResult{width:100%;background:black;max-height:540px}#renderDownload[hidden],#renderResult[hidden],#renderProgress[hidden],#cancelRender[hidden]{display:none!important}
#renderFramePreview{width:100%;max-height:350px;object-fit:contain;background:#10151e}#renderFramePreview[hidden]{display:none}
.is-exporting #renderSurface{position:fixed!important;left:-20000px!important;top:0!important;width:var(--export-width)!important;height:var(--export-height)!important;aspect-ratio:auto!important}
.is-exporting #videoPlayer::before{content:"영상을 렌더링하고 있어요";display:grid;place-items:center;color:white;width:100%;aspect-ratio:16/9}
.is-exporting #renderSurface *{animation:none!important;transition:none!important;caret-color:transparent!important}
@media(max-width:600px){.player-control-row{gap:3px}#volumeRange{width:40px}#playbackTime{font-size:10px;margin-left:0}.player-controls{padding-left:5px;padding-right:5px}.export-options{margin-left:0}}

/* Export-safe source artwork, without pseudo-element masks. */
.caption-yellow-line::before{background:transparent url("assets/crayon-web/scene-m-elements/caption-line-yellow.png") center/100% 100% no-repeat!important;mask:none!important;-webkit-mask:none!important}
.couple-arrow-control::before{content:none!important}.couple-arrow-control img{opacity:1!important;filter:none!important}
.caption-yellow-line::before{content:none!important}
.caption-line-art{position:absolute;z-index:-1;left:-5%;width:110%;max-width:none;top:17%;height:75%;pointer-events:none}
.couple-name-label,.couple-name-label span,.couple-name-label strong{font-weight:700!important;font-synthesis:weight!important}
.original-paper-overlay{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none}
.live-scene-layer[data-scene-index] .live-caption{font-synthesis:none}
.live-scene-layer[data-caption-placement="bottom"] .live-caption{background:none!important}
.live-scene-layer:has(.original-paper-overlay) .live-caption{background:none!important;z-index:8!important}
.live-scene-layer:has(.original-paper-overlay) #sceneForegroundStage{z-index:6!important}

/* Source-style photo prints: equal narrow white edges, without a wide instant-photo footer. */
.ae-media-slot.masked-card,.ae-media-slot.active.masked-card{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;clip-path:none!important;filter:none!important}
.photo-print-paper{position:absolute;max-width:none!important;pointer-events:none;display:block}
.photo-print-crop{position:absolute;inset:0;display:block;overflow:hidden;background:white;pointer-events:none}
.decoration-controls{display:grid;gap:10px;margin-top:18px;padding:14px;border:1px solid #d8e8fb;border-radius:10px;background:#f8fbff}
.decoration-controls[hidden],#decorScaleLabel[hidden]{display:none!important}
.decoration-controls label{display:grid;gap:6px;font-size:12px}.decoration-controls select{padding:8px;border:1px solid #bdd7f5;border-radius:6px;background:white}
.decoration-controls input{width:100%;accent-color:#4384ed}.decoration-controls p{font-size:12px;color:#62758d;margin:0}.decoration-controls output{font-variant-numeric:tabular-nums}
.intro-source-art.decor-selected{outline:1px dashed #4384ed;outline-offset:4px}
.is-playing .decor-selected,.is-exporting .decor-selected{outline:none!important}
.ending-bubble-text{display:flex;align-items:center;justify-content:center;white-space:nowrap;font-family:"BM Kkubulim",sans-serif;font-size:5.83333cqw;color:#000;font-weight:400;line-height:1}

.typecast-panel{display:grid;gap:12px;margin:16px 0;padding:16px;background:#f5f9ff;border-radius:12px}.typecast-panel p{font-size:12px;line-height:1.6;color:#64748b;margin:0}.typecast-panel label{display:grid;gap:6px;font-size:13px}.typecast-panel input,.typecast-panel select{min-width:0;max-width:100%;padding:9px;border:1px solid #d9e2ee;border-radius:7px;background:white}.typecast-panel select{width:100%}.tc-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.typecast-panel .tc-use{display:flex;align-items:center}.typecast-panel audio{width:100%}.typecast-attribution{position:absolute;right:1%;bottom:1%;z-index:1000;color:white;background:#0009;padding:.25em .5em;font:400 1.1cqw sans-serif;pointer-events:none}.typecast-attribution[hidden]{display:none}

.decor-resize{position:absolute;z-index:1100;width:13px;height:13px;padding:0;border:2px solid white;background:#3b82f6;box-shadow:0 0 0 1px #2563eb;transform:translate(-50%,-50%);cursor:nwse-resize;touch-action:none}.decor-resize[hidden],.is-playing .decor-resize,.is-exporting .decor-resize{display:none!important}
.decor-resize{display:block}

/* Interaction targets must sit above the full-size media stage. */
.decor-edit-layer.direct-handle{display:block;position:absolute;inset:0;z-index:900;pointer-events:none}
.decor-edit-layer[hidden],.ending-bubble-editor[hidden]{display:none!important}
.decor-target{position:absolute;background:transparent;border:0;padding:0;pointer-events:auto;cursor:move;touch-action:none}
.decor-target:hover,.decor-target.selected{outline:1px dashed #4384ed;outline-offset:2px}
.decor-edit-layer .decor-resize{display:block;pointer-events:auto;z-index:2;touch-action:none}
.ending-bubble-editor{display:grid;gap:8px;margin-top:18px;font-size:13px}.ending-bubble-editor input{padding:10px;border:1px solid #bdd7f5;border-radius:8px;width:100%}
.live-media-stage .photo-print-paper{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important;transition:none!important;object-fit:fill!important}

/* Customer editor: direct manipulation, a single preview/export section. */
.narration-card[hidden],.video-export-panel [hidden]{display:none!important}
.finish-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#testCredits{font-size:12px;color:#718096;font-weight:400}
.preview-actions{display:flex;align-items:center;gap:10px;margin:18px 0 10px;flex-wrap:wrap}
#previewMode{font-size:12px;padding:6px 10px;border-radius:20px;background:#eaf3ff;color:#386aa3;margin-right:auto}
#previewStatusText,#renderStatus{font-size:13px;line-height:1.6;color:#52657a}
.export-options{padding-top:16px;margin-top:16px;border-top:1px solid #e8edf4}
.transform-actions{margin-top:8px}.control-note{line-height:1.6}
#previewStatus{font-size:12px}.render-info{font-size:12px}

@media(min-width:961px){
  .app-shell{max-width:1440px!important}
  .editor-grid{grid-template-columns:290px minmax(0,1fr)!important}
  .storyboard-panel{padding:24px 16px!important;position:sticky;top:0;align-self:start}
  .workspace-panel{padding:24px!important}
  .scene-list{max-height:calc(100vh - 180px)!important}
  .scene{gap:9px!important}.scene .thumb{width:68px!important;min-width:68px!important}
  .scene .chip{display:block;width:max-content;margin:4px 0 0}.scene-caption{max-width:155px!important}
  .project-banner{padding:22px 32px!important}.editor-topbar{padding:0 32px!important}
}
@media(max-width:960px){
  .editor-grid{grid-template-columns:minmax(0,1fr)!important}
  .scene-list{max-height:220px!important}.storyboard-panel{border-right:0!important}
  .workspace-panel{padding:16px!important}
}

/* Keep the original media intact; only the stationary paper opening masks it. */
.photo-print-content{position:absolute;inset:0;transform:translate(var(--edit-x,0%),var(--edit-y,0%)) rotate(var(--edit-rotation,0deg)) scale(calc(var(--edit-scale,1) * var(--photo-motion-scale,1)));transform-origin:center}
.photo-print-content>.ae-slot-media{position:absolute!important;left:50%;top:50%;max-width:none!important;max-height:none!important;object-fit:contain!important;transform:translate(-50%,-50%)!important}
.ae-media-slot .direct-scale-handle,.ae-media-slot .direct-rotate-handle{width:40px;height:40px;top:-20px;bottom:auto;border:3px solid white;border-radius:50%;background:#304fde;color:white;font:700 26px/1 sans-serif;box-shadow:0 2px 8px #0007;z-index:50;align-items:center;justify-content:center}
.ae-media-slot .direct-scale-handle{right:-20px;left:auto;cursor:nesw-resize}
.ae-media-slot .direct-rotate-handle{left:-20px;right:auto;cursor:grab}
.video-export-panel.project-output{margin:28px auto;max-width:1440px;padding:24px;border:1px solid #dce2ef;border-radius:18px;background:#fff}
.project-output .output-help{color:#586277;line-height:1.7;max-width:850px;margin:12px 0}

.media-selection-ui.direct-handle{display:block;position:absolute;inset:0;z-index:2000;pointer-events:none}
.media-selection-outline{position:absolute;border:2px dashed rgba(36,91,232,.45);box-shadow:none;box-sizing:border-box;pointer-events:none}
.media-selection-label{position:absolute;transform:translate(22px,4px);padding:4px 8px;border-radius:5px;background:#245be8;color:white;font:600 12px/1.4 sans-serif;white-space:nowrap;pointer-events:none}
.media-selection-ui .direct-scale-handle,.media-selection-ui .direct-rotate-handle{display:grid;position:absolute;width:42px;height:42px;right:auto;bottom:auto;transform:translate(-50%,-50%);border:3px solid white;border-radius:50%;background:#304fde;color:white;font:700 27px/1 sans-serif;box-shadow:0 2px 8px #0007;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;cursor:grab}

/* Caption pages occupy the same row; only visibility changes with scene time. */
#liveCaption:has(.caption-page){display:grid!important;align-items:center!important;justify-items:center!important;grid-template-columns:minmax(0,1fr);}
#liveCaption .caption-page{grid-area:1 / 1;text-align:center;max-width:100%;}

/* Selection chrome stays light and appears only for the active object. */
.ae-media-slot.active{outline:none!important}
.media-selection-label{display:none!important}
.live-scene-layer[data-scene-index="2"] .live-caption{top:8%!important}
.cutout-share-control{padding:16px;gap:10px;font-size:14px;line-height:1.6;color:#24354c;background:#f5f8fc;border-color:#dbe3ee;font-weight:600}
.cutout-share-control small{font-size:13px;color:#526176;line-height:1.6}
.cutout-share-control select{font-size:14px;font-weight:500;color:#24354c;padding:12px}
