/* Scene-first presentation. Review chrome lives only at ?mode=review. */
[hidden]{display:none!important}
body.screen-only{background:#10271f;color:#fff5dd}
body.screen-only[data-kind=warm]{background:#31291f}
.screen-only .device-wrap{max-width:480px}
.screen-only .device{height:100dvh;min-height:0;box-shadow:0 0 60px #0005}
.device{--panel-h:210px;isolation:isolate;background:#15392c}
.invitation-header{height:66px;padding:9px 14px 0;border:0;background:linear-gradient(#102920b8,#10292000);color:#fff5df;align-items:flex-start;text-shadow:0 2px 5px #13251c;font-size:15px}
.invitation-header>span{line-height:44px;font-weight:750;white-space:nowrap}
.invitation-header i{color:#eccc88;padding:0 3px}
.top-actions{display:flex;gap:7px}
.invitation-header button{border:1px solid #f1d6a38c;background:#163c31d9;color:#fff3d9;padding:0 10px;min-height:40px;border-radius:3px;font-size:12px}
#screen{padding:0;height:100%}
.scene{height:100%;position:relative;display:block;overflow:hidden}
.scene .scene-visual{position:absolute;inset:0;min-height:0;overflow:hidden;display:block;background-size:cover;background-position:center center;z-index:0}
.scene.warm .scene-visual{background-color:#775233;background-size:100% calc(100% - var(--panel-h) + 80px);background-position:top center;background-repeat:no-repeat}
.scene .scene-visual:before{inset:0;z-index:1;background:linear-gradient(#112d2450,transparent 22%,transparent 45%,#102c2285 77%,#0d2b24de)}
.scene.warm .scene-visual:before{background:linear-gradient(#35271b33,transparent 25%,transparent 52%,#35291d85 80%,#35271bd9)}
.scene-label{z-index:3;top:76px;left:16px;background:#173e31d9;border-left:3px solid #e3c084;color:#fff4df;font-size:12px;padding:6px 10px;letter-spacing:.03em}
.shot-progress{position:absolute;top:78px;right:17px;z-index:3;display:flex;align-items:center;gap:5px}
.shot-progress span{width:21px;height:21px;display:grid;place-items:center;border:1px solid #f8e6b979;background:#143d30af;color:#e8dfbd;font-size:10px}
.shot-progress .active{background:#efd193;color:#254635;border-color:#efd193;font-weight:bold}
.shot-progress .taken{border-color:#ffe4aa}
.shot-progress i{width:5px;height:1px;background:#f2ddb389}
.sprite-stage{position:absolute;z-index:2;inset:110px 10px calc(var(--panel-h) + 36px)}
.scene .sprite-stage .sprite{position:static;display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 3px #17311b65);image-rendering:auto}
.scene .frame-corner{z-index:1;border-color:#fff3d796;width:18px;height:18px}
.scene .frame-corner.a,.scene .frame-corner.b{top:117px}
.scene .frame-corner.c,.scene .frame-corner.d{bottom:calc(var(--panel-h) + 31px)}
.scene .dialogue{position:absolute;z-index:4;left:14px;right:14px;bottom:calc(17px + env(safe-area-inset-bottom));border:2px solid #c5a065;background:#fff7e6;color:#294335;padding:17px 15px 14px;box-shadow:5px 6px 0 #0b2a22d9;display:block}
.scene .dialogue:before{content:"";position:absolute;inset:5px;border:1px solid #dfceaa;pointer-events:none}
.speaker-tab{position:absolute;left:14px;top:-15px;background:#214a39;color:#fff1d2;border:1px solid #c9a66c;padding:4px 11px;font-size:12px;line-height:17px;font-weight:650;letter-spacing:.06em}
.scene .dialogue h2{font-family:var(--body);font-weight:650;font-size:18px;line-height:1.5;margin:0 0 5px;position:relative}
.scene .dialogue p{font-size:13px;line-height:1.5;margin:0 0 10px;position:relative;color:#5d735b}
.primary,.secondary{position:relative;border-radius:2px;min-height:46px;font-size:15px}
.primary{background:#ebca85;color:#264334;border:2px solid #b18e54;box-shadow:inset 0 -4px #d7ae66;font-weight:750}
.secondary{background:#fff9e9;color:#325340;border:2px solid #baa16d;box-shadow:inset 0 -3px #e5d8b8;font-weight:650}
.primary:active,.secondary:active,.pose-choices button:active{transform:translateY(1px)}
.pose-choices{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}
.pose-choices button{min-height:44px;font-size:14px;font-weight:650;color:#446047;border:1px solid #c4af81;background:#fffaf0;padding:6px;position:relative}
.pose-choices button[aria-pressed=true]{background:#edf1dc;border:2px solid #5c7952;color:#264d37;padding:5px}
.pose-choices button[aria-pressed=true]:after{content:"◆";font-size:7px;margin-left:7px;color:#708c58}
.shoot-button{gap:9px;min-height:46px}
.camera-icon{position:relative;width:18px;height:13px;border:1.5px solid currentColor;border-radius:2px;display:inline-block}
.camera-icon:before{content:"";position:absolute;width:5px;height:5px;border:1.3px solid currentColor;border-radius:50%;left:5px;top:2px}
.camera-icon:after{content:"";position:absolute;width:7px;height:3px;background:currentColor;left:4px;top:-4px}
.scene.entry .entry-title{position:absolute;z-index:3;top:83px;left:26px;right:20px;color:#fcf3d9;text-shadow:0 2px 14px #53351f78}
.entry-title p{font-size:11px;letter-spacing:.14em;margin:0 0 10px}
.entry-title h1{font-family:var(--display);font-weight:550;font-size:34px;line-height:1.28;margin:0 0 10px}
.entry-title span{font-size:12px;letter-spacing:.08em}
.scene.entry .sprite-stage{top:230px;bottom:calc(var(--panel-h) + 31px);left:4px;right:4px}
.scene.entry .dialogue h2{font-size:17px}
.scene.entry .dialogue{padding-top:19px}
.scene.car .scene-visual{background:#b7a78b}
.car-picture{position:absolute;inset:56px 0 auto;width:100%;height:calc(100% - var(--panel-h) - 86px);display:block;z-index:0}
.car-image{height:100%;width:100%;object-fit:cover;object-position:center 48%}
.scene.car .scene-visual:before{z-index:2;background:linear-gradient(#14281d66,transparent 20%,transparent 50%,#17302270 72%,#163226ef)}
.car .dialogue{bottom:calc(17px + env(safe-area-inset-bottom))}
.result-stage{position:absolute;z-index:3;inset:118px 22px calc(var(--panel-h) + 42px);display:flex;justify-content:center;align-items:center}
.photo-print{width:100%;height:100%;min-height:0;background:#fff9e8;box-shadow:0 12px 25px #071c20a8;padding:9px;margin:0;display:flex;flex-direction:column;transform:rotate(-.7deg)}
.photo-print button{width:100%;min-height:0;flex:1;display:block;border:0;background:#294436;padding:0;overflow:hidden}
.photo-print img{width:100%;height:100%;object-fit:contain;display:block}
.photo-print.landscape-print{height:auto;max-height:100%}
.photo-print.landscape-print button{flex:none;aspect-ratio:1600 / 1067}
.photo-print figcaption{padding:10px 3px 2px;display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:13px;font-weight:650;color:#4c634e}
.photo-print small{font-size:10px;font-weight:400;color:#73806a}
.result-actions{position:relative;display:flex;flex-direction:column;gap:8px;margin-top:11px}
.result-actions .secondary{min-height:40px;font-size:13px;background:transparent;box-shadow:none;border-color:#cfc09b}
.result-dialogue h2{font-size:17px!important}
.shutter-flash{position:absolute;inset:0;z-index:10;pointer-events:none;background:#fff9e8;opacity:0}
.capturing .shutter-flash{animation:shutter-feedback .26s ease-out}
@keyframes shutter-feedback{0%{opacity:0}24%{opacity:.75}100%{opacity:0}}
.invite-screen{padding:74px 12px 20px;background:linear-gradient(#102b2360,#102b23ed),url(/release-20260924/assets/forest.webp) center/cover;height:100%;color:var(--ink)}
.invite-card{border:2px solid #dbbd81;box-shadow:inset 0 0 0 5px #fffaf0,inset 0 0 0 6px #dbca9f,5px 7px 0 #0c3026aa;padding:20px 15px}
.invite-card h2{font-size:29px}.invite-card .names{font-size:23px}.invite-card .primary,.invite-card .secondary{min-height:46px}
.memories{color:#fff2d4;padding:0 2px}.memory-title{color:#fff4d9}.memory-caption{color:#d7dfc7}.memory-strip{gap:8px}.memory-strip button{padding:5px;background:#fff6df}.memory-strip img{height:125px;object-fit:contain}.memory-strip span{color:#385440}.memories>.secondary{color:#fff0d4;border-color:#c2b07c;background:#163d31c9;box-shadow:none}.invite-meta{color:#c4d3b8}
.screen-only .review-header,.screen-only .review-nav,.screen-only .review-notes{display:none}
@media(max-height:720px){
 .invitation-header{padding-top:5px;height:57px}.scene-label{top:61px;font-size:11px}.shot-progress{top:63px}.sprite-stage{top:91px;bottom:calc(var(--panel-h) + 31px)}
 .scene .dialogue{left:12px;right:12px;bottom:13px;padding:15px 12px 12px}.scene .dialogue h2{font-size:16px}.scene .dialogue p{font-size:12px;margin-bottom:7px}.pose-choices{margin:8px 0}.pose-choices button{min-height:42px;font-size:13px}.shoot-button{min-height:44px}
 .scene .frame-corner.a,.scene .frame-corner.b{top:93px}.scene .frame-corner.c,.scene .frame-corner.d{bottom:calc(var(--panel-h) + 25px)}
 .scene.entry .entry-title{top:72px;left:22px}.entry-title h1{font-size:29px}.entry-title p{margin-bottom:7px}.entry-title span{font-size:11px}.scene.entry .sprite-stage{top:203px;bottom:calc(var(--panel-h) + 24px)}
 .result-stage{top:98px;bottom:calc(var(--panel-h) + 33px)}.result-dialogue h2{font-size:16px!important}
 .invite-screen{padding:62px 9px 16px}.invite-card{padding:16px 12px}.invite-card h2{font-size:26px}.invite-foot{margin-top:12px}.address{margin-bottom:12px}
}
@media(orientation:landscape) and (max-height:560px){
 .screen-only .device-wrap{max-width:none}.scene{display:block}.scene .scene-visual{inset:0;background-size:cover;background-position:center 70%}.scene.warm .scene-visual{background-size:cover;background-position:center 80%}
 .scene .dialogue{left:auto;right:18px;width:36%;bottom:20px;padding:17px 13px 13px;border:2px solid #c5a065;display:block}
 .sprite-stage{top:84px;left:4%;right:43%;bottom:15px}.scene .frame-corner.b,.scene .frame-corner.d{right:43%}.scene .frame-corner.c,.scene .frame-corner.d{bottom:14px}
 .scene.entry .entry-title{top:73px;left:23px;right:auto;max-width:170px}.scene.entry .entry-title h1{font-size:28px}.entry-title span{font-size:10px}.scene.entry .sprite-stage{top:74px;left:22%;right:40%;bottom:14px}
 .scene.car .dialogue{width:34%;bottom:18px}.car-picture{inset:55px 30% 0 0;width:70%;height:calc(100% - 55px)}.car-image{object-fit:contain;object-position:center center}
 .shot-progress{right:44%}.result-stage{top:87px;bottom:20px;left:5%;right:43%}.photo-print{width:100%;max-width:380px}.photo-print figcaption{font-size:12px}
 .invite-screen{display:block;padding:62px 16% 20px}.invite-card{padding:18px}.invite-foot{display:block}
}
@media(prefers-reduced-motion:reduce){.capturing .shutter-flash{animation:none}*{scroll-behavior:auto!important}}

.motion-canvas{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.motion-countdown{position:absolute;top:8px;right:10px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #dfc791;background:#224f3dec;color:#fff5d8;font:24px var(--display);border-radius:50%}
