.section-tabs{gap:8px;scrollbar-color:#ba8ca7 #fff7ed}.section-tabs button{flex:0 0 auto;background:#fff8ee;border:2px solid #dbc2d0;font-size:10px}.section-tabs button.active{border-color:#8b6684}.preview-pane .preview-stage{isolation:isolate}.extra-preview{position:absolute;inset:0;z-index:1;text-align:center}.extra-preview h3{font:700 clamp(20px,3vw,38px)/1.3 ui-monospace,monospace;color:#bd6598;text-shadow:3px 3px #fff8e9;margin:22px 0}.extra-preview>p:not(.scene-kicker){position:relative;z-index:2;max-width:78%;margin:10px auto;padding:8px;background:#fff8e8;border:2px solid #c694b2;font-size:11px}.start-preview .preview-pipe{position:absolute;bottom:15%;left:17%;width:67px;height:105px;background:#23a359;border:5px solid #2b6846;box-shadow:inset 10px 0 #9bdf7b,inset -11px 0 #157843}.preview-pipe:before{content:'';position:absolute;left:-10px;right:-10px;top:-9px;height:19px;background:#40c66d;border:4px solid #2b6846}.preview-pipe span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:37px;color:#d264a0;animation:bob 2s infinite}.start-preview .preview-pipe.second{left:auto;right:13%;height:80px;transform:scale(.82);transform-origin:bottom}.preview-start-button{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);padding:12px 25px;border:4px solid #77546e;background:#fff0df;box-shadow:5px 5px #9d7995;font-weight:bold;letter-spacing:2px}.room-preview{background:linear-gradient(#ead3e6 0 57%,#caa4bb 57% 60%,#b28a9e 60% 100%)}.room-wall{position:absolute;top:24%;left:14%;right:20%;display:flex;justify-content:space-between;gap:11px}.room-frame{width:30%;aspect-ratio:1;border:6px solid #9a7188;box-shadow:4px 4px #654c67;background:#fff1dc;display:grid;place-items:center;font-size:30px;color:#cd8da9;background-position:center;background-size:cover}.room-letter-preview{position:absolute;left:44%;bottom:20%;display:grid;place-items:center;padding:5px 11px;background:#fff0d9;border:3px solid #80576e;font-size:30px}.room-letter-preview small{display:block;font-size:8px}.room-door-preview{position:absolute;right:3%;bottom:16%;width:15%;height:34%;padding-top:15%;background:repeating-linear-gradient(90deg,#bd8da5 0 10px,#d5a8b8 10px 20px);border:5px solid #74546e;color:#fffaf0;font-size:9px;font-weight:bold}.large-envelope{position:absolute;top:25%;left:13%;font-size:100px;color:#fff7dc;text-shadow:5px 5px #9b7290;transform:rotate(-8deg)}.letter-paper{position:absolute;top:27%;left:39%;right:12%;min-height:40%;padding:18px;background:repeating-linear-gradient(#fff7e9 0 25px,#ead9d7 26px 27px);border:3px solid #98748c;box-shadow:5px 5px #b994ab;text-align:left}.letter-paper h3{font:normal 24px Georgia,serif;margin:0 0 8px;text-shadow:none;color:#704e69}.letter-paper p{font-size:11px;white-space:pre-wrap}.garden-preview{background:linear-gradient(#bfd0e8,#f7d5e2 68%,#a7c995 69%)}.garden-flower{position:absolute;bottom:18%;font-size:80px;color:#d466a6;text-shadow:4px 4px #7d617b;animation:bob 3s infinite}.garden-flower.one{left:10%}.garden-flower.two{left:43%;font-size:55px;color:#f2e28c;animation-delay:-1s}.garden-flower.three{right:9%;color:#b691dc;animation-delay:-2s}.garden-note{position:absolute;left:15%;right:15%;top:28%;padding:16px;background:#fff8e9;border:3px solid #94718b;box-shadow:5px 5px #bd9db5;font-size:12px;white-space:pre-wrap}.music-note{font-size:130px;color:#c676a6;text-shadow:6px 7px #fff8eb;animation:bob 2s infinite}.music-preview h3{font-size:19px;overflow-wrap:anywhere}.checkout-preview h3{margin-top:45px}.preview-gift{position:relative;display:grid;place-items:center;width:130px;height:120px;margin:25px auto;background:#f4adc8;border:6px solid #995f83;box-shadow:6px 6px #b183a1;font-size:39px;color:#ffe39a}.preview-gift span{position:absolute;bottom:7px;font-size:10px;letter-spacing:2px;color:#6b4761}.checkout-preview small{display:block;font-size:9px;letter-spacing:1px}.pay-price{font:normal 39px Georgia,serif;margin:0 0 12px;color:#c06998}.pay-price small{display:block;font:11px ui-monospace,monospace;color:#8a6d85}.pay-card>p:not(.pay-price){max-width:450px}.payment-result{margin-top:18px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;overflow-wrap:anywhere}.payment-result a{color:#8c4372;font-weight:bold;word-break:break-all}.pixel-button:disabled{opacity:.55;cursor:wait}.preview-info{font-size:9px}
@media(max-width:600px){.section-tabs button{font-size:9px}.extra-preview h3{font-size:23px}.room-wall{left:7%;right:24%}.room-frame{border-width:4px}.letter-paper{left:24%;right:5%;padding:10px}.large-envelope{left:5%;font-size:70px}.room-door-preview{right:1%;width:18%}.garden-note{left:7%;right:7%}}
.letters-preview .letter-paper p{max-height:150px;overflow:auto;overflow-wrap:anywhere;font-size:clamp(14px,1.4vw,17px);line-height:1.5}
.preview-stage:has(.real-game-preview)>:not(.real-game-preview){visibility:hidden}
.real-game-preview{position:absolute;z-index:20;inset:0;width:100%;height:100%;border:0;background:#e9c9e5;pointer-events:auto}
.preview-watermark{position:absolute;z-index:22;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-16deg);pointer-events:none;user-select:none;color:#fff9ed;opacity:.17;font:900 clamp(55px,9vw,135px)/1 ui-monospace,monospace;letter-spacing:.16em;text-shadow:4px 4px #77546e;white-space:nowrap}
.preview-stage:has(.real-game-preview)>.preview-watermark{visibility:visible}
.preview-play-tools{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:15px 0 0;font:11px/1.5 ui-monospace,monospace;color:#74566d}.preview-play-tools .pixel-button{min-height:45px}
.preview-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}
.preview-navigation .pixel-button{min-height:46px;white-space:normal;text-align:center}
.preview-navigation .pixel-button:disabled{opacity:.45;cursor:default}
@media(max-width:600px){.preview-navigation .pixel-button{flex:1;font-size:10px;padding:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.cake-photo-thumbs{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.cake-photo-thumbs img{width:64px;height:64px;object-fit:cover;border:4px solid #91677f;box-shadow:3px 3px #caa0b5}.final-photo-preview{position:absolute;left:9%;right:9%;bottom:15%;display:flex;justify-content:center;gap:5px;pointer-events:none}.final-photo-preview img{width:clamp(24px,4vw,48px);height:clamp(30px,5vw,58px);object-fit:cover;border:3px solid #fff7e9;box-shadow:2px 2px #98708b;transform:rotate(var(--angle,3deg))}.final-photo-preview img:nth-child(even){--angle:-6deg}.final-note-preview{position:absolute!important;bottom:4%;left:8%;right:8%;margin:0!important;font:700 clamp(12px,2vw,20px) Georgia,serif!important;color:#9e5782;max-width:none!important}
.section-tabs button[hidden]{display:none}
.pay-price{display:inline-flex;align-items:baseline;gap:12px;padding:12px 20px;border:4px solid #c878a0;background:#fff0da;box-shadow:5px 5px 0 #a78099;font:700 clamp(48px,6vw,78px)/1.1 Georgia,serif;color:#aa447a}
.pay-price small{font:700 clamp(11px,1.3vw,15px) ui-monospace,monospace}
.preview-skeleton{position:absolute;inset:0;z-index:21;display:flex;flex-direction:column;gap:22px;padding:10%;background:#e7cce8}
.preview-stage:has(.real-game-preview)>.preview-skeleton{visibility:visible}
.preview-skeleton[hidden]{display:none}
.preview-skeleton div{height:22%;border:4px solid #d5b3d8;background:linear-gradient(90deg,#d8b7df 10%,#f9dce8 45%,#d8b7df 80%);background-size:220% 100%;animation:skeleton-shine 1.4s linear infinite}
.preview-skeleton div:first-child{width:56%;height:13%}.preview-skeleton div:last-child{width:80%;align-self:center}
.payment-result.loading:before,.payment-result.loading:after{content:'';display:block;width:min(360px,90%);height:18px;background:linear-gradient(90deg,#e5c7dc 10%,#fff1e4 45%,#e5c7dc 80%);background-size:220% 100%;animation:skeleton-shine 1.4s linear infinite}
.payment-result.loading:after{width:min(240px,65%)}
.gift-qr{display:block;width:280px;height:280px;max-width:100%;padding:8px;background:#fff;border:3px solid #8b6684;image-rendering:pixelated}
@keyframes skeleton-shine{to{background-position:-220% 0}}
.photo-order{display:grid;gap:12px;margin-top:20px}
.photo-order-item{display:flex;align-items:center;gap:15px;padding:10px;border:2px solid #d8acc7;background:#fff7ed}
.photo-order-item img{width:90px;height:90px;object-fit:cover;border:4px solid #a47a98}
.photo-order-item>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.photo-order-item button{padding:6px 9px;border:2px solid #82607c;background:#fff2e2;color:#76516f;font:700 10px ui-monospace,monospace;cursor:pointer}
.photo-order-item button:disabled{opacity:.5;cursor:default}
.photo-order-item .field{flex:1 1 160px;margin:5px 0 0}
.photo-order-item .field input{width:100%;min-width:0}
.binder-photo-slots{display:grid;gap:14px}
.binder-slot-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,160px);gap:12px;padding:12px;border:2px solid #dec0d2;background:#fff8f0;overflow:hidden}
.binder-slot-editor>img{grid-row:span 4;width:100%;height:130px;object-fit:cover;border:4px solid #a47a98}
.binder-slot-editor .field{margin:0}
.binder-slot-editor input[type=range]{width:100%}
#finalPhotoThumb img{display:block;width:min(180px,100%);max-height:210px;object-fit:cover;margin-top:12px;border:5px solid #a47a98}
@media(max-width:650px){.pay-price{flex-direction:column;gap:0}.photo-order-item img{width:68px;height:68px}.binder-slot-editor{grid-template-columns:1fr}.binder-slot-editor>img{grid-row:auto;width:100%;max-width:220px}}
@media(prefers-reduced-motion:reduce){.preview-skeleton div{animation:none}}
