/* Floating controls sit above a single continuous pan/zoom surface. */
.editor-layout .infinite-artboard{position:sticky;top:0;display:block;height:calc(100vh - 184px);min-height:650px;overflow:hidden;padding:0;isolation:isolate}
.infinite-artboard .studio-viewport{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;max-height:none;padding:0!important;z-index:0}
.infinite-artboard .canvas-world{padding:18px;box-sizing:border-box}
.infinite-artboard .panel-tabs{position:absolute;top:14px;left:14px;right:14px;z-index:5;background:none!important;justify-content:flex-start;padding:0}
.infinite-artboard .view-switch{position:absolute;top:60px;left:14px;right:14px;z-index:5;margin:0;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;pointer-events:none}
.infinite-artboard .view-switch>*{pointer-events:auto;box-shadow:0 3px 12px #0000000b;border-radius:24px}
.floating-tools{display:flex;gap:7px;align-items:center;margin-left:auto}.floating-tools .segmented,.infinite-artboard .view-switch>.segmented{background:#fffffff2;border:1px solid #e3e3e3}
.floating-tools .zoom-controls{background:#fffffff2;border:1px solid #e3e3e3;border-radius:24px;padding:3px;gap:0}.floating-tools .zoom-controls button{border:0;background:transparent;padding:6px 8px}.floating-tools .zoom-controls output{min-width:36px;font-size:11px}
.floating-tools .segmented button{display:flex;align-items:center;gap:5px;padding:7px 9px}.floating-tools svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.floating-tools #select-tool svg{fill:currentColor;stroke-width:1}
.infinite-artboard .ai-bar{position:absolute;bottom:14px;left:14px;right:14px;z-index:5}.infinite-artboard .canvas-help{position:absolute;bottom:80px;left:14px;right:14px;z-index:4;pointer-events:none}.infinite-artboard .canvas-caption{display:none}
.live-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.live-scene-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white}.live-scene-card:last-child{grid-column:1/-1}.live-scene-card:last-child .live-scene{max-height:none}.live-scene{width:100%;aspect-ratio:3/2;position:relative;overflow:hidden;background:#e5e8e1;isolation:isolate}.scene-stage{position:absolute;width:1200px;height:800px;left:0;top:0;transform-origin:top left;pointer-events:none}.scene-setting{position:absolute;inset:0;width:1200px;height:800px}.scene-package{position:absolute;width:440px;height:450px;filter:drop-shadow(15px 22px 12px #26322335)}.scene-package-0{left:590px;top:205px}.scene-package-1{left:336px;top:230px}.scene-package .model-space{height:450px;min-height:0;width:440px;perspective:1600px}.scene-package .carton{scale:1.15}.scene-package .panel-art{pointer-events:none}.scene-description{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.scene-description h2{font-size:26px;margin:0}.scene-description p{color:var(--muted);font-size:13px;margin:8px 0 0}.scene-description button{white-space:nowrap;font-size:12px}.billboard-art{position:absolute;left:211px;top:142px;width:786px;height:369px;padding:32px 42px;display:flex;align-items:center;justify-content:space-between;gap:35px;overflow:hidden}.billboard-copy{max-width:390px}.billboard-copy b{font:600 52px Inter,sans-serif;overflow-wrap:anywhere}.billboard-copy p{font:32px Georgia,serif;margin:22px 0;overflow-wrap:anywhere}.billboard-copy small{font:18px Inter,sans-serif;line-height:1.5;display:block;max-height:84px;overflow:hidden}.billboard-pack{flex-shrink:0;box-shadow:8px 9px 20px #0002}.scene-dialog{width:min(1080px,calc(100vw - 40px))}.scene-dialog .modal-body{padding:0}.scene-dialog .live-scene{border-radius:0}.scene-dialog .modal-foot{padding:12px 20px}
.pdf-render-host{position:fixed;left:-20000px;top:0;pointer-events:none;z-index:-10}.pdf-render-host .safe-guide{display:none!important}.pdf-render-host .pack-art{height:100%}
@media(min-width:1600px){.editor-layout .infinite-artboard{min-height:700px}}
@media(max-width:1100px){.floating-tools{margin-left:0}.infinite-artboard .view-switch{row-gap:10px}}
@media(max-width:800px){.editor-layout .infinite-artboard{position:relative;height:680px;min-height:680px;grid-row:1}.infinite-artboard .view-switch{top:100px;left:10px;right:10px;justify-content:flex-end}.infinite-artboard .view-switch>.segmented{margin-right:auto}.infinite-artboard .panel-tabs{left:10px;right:10px;gap:2px}.floating-tools{gap:4px}.floating-tools .segmented button{padding:7px}.floating-tools .segmented button span{display:none}.floating-tools .zoom-controls button{padding:6px}.infinite-artboard .ai-bar{left:10px;right:10px}.infinite-artboard .canvas-help{bottom:78px}.live-scene-grid{grid-template-columns:1fr}.scene-description{padding:16px;flex-wrap:wrap}.scene-description h2{font-size:22px}}

/* Photographic plates retain their original 3:2 ratio; the carton stays live. */
.live-scene-grid{grid-template-columns:minmax(0,1fr);max-width:1080px;margin:auto;gap:32px}
.live-scene-card:last-child{grid-column:auto}
.scene-photo-background{position:absolute;inset:0;width:1200px;height:800px;object-fit:contain;display:block}
.photographic-shadow{position:absolute;inset:0;width:1200px;height:800px;overflow:visible}
.photo-package{position:absolute;width:440px;height:450px}
.photo-package .model-space{height:450px;min-height:0;width:440px;perspective:none;overflow:visible}
.photo-package .carton{scale:1.12}
.photo-package .panel-face:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:6;box-shadow:inset 0 0 0 .6px #ffffff26;background:linear-gradient(110deg,#ffffff10,#00000008)}
.photo-package .panel-face:nth-child(4):after{background:linear-gradient(90deg,#00000022,#00000042);box-shadow:inset 1px 0 1px #00000020}
.photo-package .panel-face:nth-child(3):after{background:#ffffff12}
.photo-package .panel-face:nth-child(5):after{background:linear-gradient(25deg,#ffffff16,#ffffff30)}
.photo-package .panel-face:nth-child(2):after{background:#00000025}
.photo-package .panel-face:nth-child(6):after{background:#00000033}
.photo-scene-0 .photo-package{filter:sepia(.04) saturate(.95)}
.photo-scene-1 .photo-package{filter:saturate(.92)}
.photo-scene-2 .photo-package{filter:sepia(.07) saturate(.95)}
