/* Dialog controls live outside the scrolling poster and story. */
body #details{position:fixed;inset:0;z-index:12000;padding:16px;align-items:center;justify-content:center}
body #details .detail-panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:min(820px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);overflow:hidden}
body #details .detail-scroll{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#8b2942 #100b0f}
body #details .detail-copy{padding:38px 32px 25px}
body #details .detail-image{height:100%;min-height:530px;position:sticky;top:0}
body #details .detail-panel .overlay-close{position:absolute;z-index:30;right:14px;top:14px;width:46px;height:46px;background:#100b0ff5;border-color:#e993a599;color:#fff}
body #details .detail-reservation{position:relative;bottom:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:24px;align-items:center;padding:18px 28px;margin:0;background:#120b10;border-top:1px solid #b83b5155;box-shadow:0 -12px 28px #0005}
body #details .detail-price-preview{margin:0}
body #details .detail-actions{padding:0}
body #details .detail-actions .button{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 14px;margin:0;border-radius:9px;font-size:12px;line-height:1.6;gap:10px;border:1px solid #854155;background:#20131b;color:#eee}
body #details .detail-actions .button.solid{background:linear-gradient(110deg,#d82342,#95142f);border-color:#f05a70;color:#fff}

/* Keep the requested after-game headline on one line at a size that fits. */
body .section .aftergame-heading h2{white-space:nowrap;font-size:clamp(16px,3.6vw,34px);line-height:1.6;letter-spacing:-.5px;text-wrap:nowrap}
@media(max-width:680px){body .section .aftergame-heading h2{font-size:clamp(15px,3.55vw,24px);letter-spacing:-.4px}}

/* Reserve space under the box for its invitation; never clip the text. */
body .gift-stage{padding-bottom:64px;min-height:380px;overflow:visible}
body .gift-invitation{top:auto;bottom:-48px;left:-12px;right:-12px;padding:9px 6px;font-size:14px;line-height:1.6;white-space:normal;overflow:visible;max-width:none;color:#eccbd6;text-align:center;transform:none}
body .gift-box{overflow:visible}

/* Warm white lettering, crimson accents and the same dossier treatment. */
body :is(#gift,#birthdays,#secret-door,#quests){position:relative;background:radial-gradient(ellipse at 5% 0,#b0173120,transparent 50%),#090809}
body :is(#gift,#birthdays,#secret-door,#quests) .eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid #88384a66;border-radius:20px;background:#4c102023;padding:6px 11px;color:#e7a0b3;line-height:1.6;font-size:9px;letter-spacing:.8px;margin-bottom:16px}
body :is(#gift,#birthdays,#secret-door,#quests) .eyebrow:before{width:4px;height:4px;border-radius:50%;background:#fa4666;box-shadow:0 0 10px #ed3457;flex-shrink:0}
body :is(#gift,#birthdays,#secret-door,#quests) h2{position:relative;padding-left:18px;font-weight:650;line-height:1.4;letter-spacing:-.7px;color:#f5e7ed;background:linear-gradient(110deg,#fff4f8,#e6a5b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 30px #d3243a18}
body :is(#gift,#birthdays,#secret-door,#quests) h2:before{content:'';position:absolute;top:5px;bottom:5px;left:0;width:3px;background:linear-gradient(#ff5270,#8e1732);border-radius:3px;box-shadow:0 0 16px #d92c4830}
body :is(#gift,#birthdays,#secret-door,#quests) :is(.body-copy,.section-intro,.gift-copy>p:not(.eyebrow),.secret-copy>p:not(.eyebrow)){color:#c6adb9;font-size:14px;line-height:1.8}
body #birthdays .section-heading{padding:24px;border:1px solid #7d2a3c;border-radius:16px;background:radial-gradient(ellipse at 100% 0,#941b3b24,transparent 70%),#140b11;box-shadow:inset 0 1px #ffffff0a;margin-bottom:0}
body #gift .gift-copy,body #secret-door .secret-copy{padding:22px;border:1px solid #67304488;border-radius:16px;background:linear-gradient(135deg,#1b0d14c9,#0c090ce0);box-shadow:inset 0 1px #ffffff0a}
body #quests .section-heading{padding:22px;border:1px solid #643042;border-radius:16px;background:linear-gradient(120deg,#1c0e16,#0b090b);box-shadow:inset 0 1px #ffffff09}
body :is(#gift,#birthdays,#secret-door) .button.solid{border-radius:10px;background:linear-gradient(110deg,#ca2040,#80152d);border-color:#e54664;box-shadow:0 8px 25px #9e1d3220}

/* Fields read as individual panels with clear labels and lit focus edges. */
body #booking-form .form-grid>.field{padding:12px;border:1px solid #71304766;border-radius:12px;background:linear-gradient(140deg,#25131d80,#100b11);gap:8px;box-shadow:inset 0 1px #ffffff07}
body #booking-form .form-grid>.field:focus-within{border-color:#dd4565;box-shadow:0 0 0 2px #aa244118,inset 0 1px #f57a9a20}
body #booking-form .field>span,body #booking-form .field>label{font-size:11px;letter-spacing:.2px;font-weight:500;color:#e6afc4}
body #booking-form .field input:not([type=checkbox]),body #booking-form .field select,body #booking-form .field textarea{border-color:#79415255;background:linear-gradient(110deg,#0d090df5,#1b0d17);border-radius:8px;color:#fff;box-shadow:inset 0 1px #ffffff04;min-height:44px}
body #booking-form .field input::placeholder,body #booking-form .field textarea::placeholder{color:#907581;opacity:1;font-size:13px}
body #booking-form .booking-time-grid{padding-top:3px;gap:8px}
body #booking-form .time-slot{border-color:#7c344b77;background:linear-gradient(130deg,#29101e,#130b12);border-radius:9px}
body #booking-form .time-slot.selected{border-color:#ff6686;background:linear-gradient(135deg,#b02149,#58142f);box-shadow:0 0 15px #d52a4920}

@media(max-width:760px){
 body #details{padding:10px}
 body #details .detail-panel{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}
 body #details .detail-scroll{display:block}
 body #details .detail-image{position:relative;height:250px;min-height:0}
 body #details .detail-copy{padding:12px 20px 24px}
 body #details .detail-reservation{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 18px max(14px,env(safe-area-inset-bottom))}
 body #details .detail-price-preview{gap:5px 10px}
 body #details .detail-price-preview strong{font-size:20px}
 body #details .detail-actions .button{font-size:11px;min-height:46px;padding:10px 12px}
 body .gift-stage{padding-bottom:65px;min-height:335px}
 body .gift-invitation{bottom:-49px;left:-22px;right:-22px;font-size:13px}
 body #gift .gift-copy,body #secret-door .secret-copy,body #quests .section-heading{padding:19px}
 body #birthdays .section-heading{padding:20px}
 body #booking-form .form-grid>.field{padding:10px}
}

/* The fingerprint, fate cards and chest share a single burgundy dossier style. */
body :is(#fear-scan,#fate-quest){background:radial-gradient(ellipse at 5% 0,#b0173120,transparent 50%),#090809;border-block:1px solid #71304666}
body :is(#fear-scan,#fate-quest) .eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid #88384a66;border-radius:20px;background:#4c102023;padding:6px 11px;color:#e7a0b3;line-height:1.6;font-size:9px;letter-spacing:.8px;margin-bottom:16px}
body :is(#fear-scan,#fate-quest) .eyebrow:before{width:4px;height:4px;border-radius:50%;background:#fa4666;box-shadow:0 0 10px #ed3457;flex-shrink:0}
body :is(#fear-scan,#fate-quest) h2{position:relative;padding-left:18px;font-weight:650;line-height:1.4;letter-spacing:-.7px;color:#f5e7ed;background:linear-gradient(110deg,#fff4f8,#e6a5b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 30px #d3243a18}
body :is(#fear-scan,#fate-quest) h2:before{content:'';position:absolute;top:5px;bottom:5px;left:0;width:3px;background:linear-gradient(#ff5270,#8e1732);border-radius:3px;box-shadow:0 0 16px #d92c4830}
body .fear-scan-copy,body .fate-heading{padding:22px;border:1px solid #67304488;border-radius:16px;background:linear-gradient(135deg,#1b0d14c9,#0c090ce0);box-shadow:inset 0 1px #ffffff0a}
body .fate-heading{max-width:680px;text-align:left}
body .fate-heading .eyebrow{justify-content:flex-start}
body :is(.fear-scan-copy,.fate-heading)>p:last-child{font-size:14px;color:#c6adb9;line-height:1.8;max-width:100%}
body .fear-scan-machine{border-color:#67304488;border-radius:16px;background:linear-gradient(135deg,#1b0d14c9,#0c090ce0);box-shadow:inset 0 1px #ffffff0a,0 16px 40px #0004}
body .fear-sensor{border-color:#a5445f;background:radial-gradient(circle,#69162e55,#110a10 70%);box-shadow:inset 0 0 24px #791b3520}
body .fear-machine-top{color:#be8da1}
body .fear-scan-status,body .fate-status{color:#dcc2ce}
body .fate-face{border-color:#8b394f;border-radius:12px;box-shadow:inset 0 1px #ffffff12}
body .fate-back{background:radial-gradient(ellipse at 50% 70%,#91223c33,transparent 70%),linear-gradient(140deg,#2e131f,#0c090d)}
body :is(#fear-scan,#fate-quest) .button{border-radius:9px;border-color:#e54664;background:linear-gradient(110deg,#ca2040,#80152d);color:#fff;box-shadow:0 8px 25px #9e1d3220}
@media(max-width:680px){body .fear-scan-copy,body .fate-heading{padding:19px;text-align:left}body .fear-scan-copy .eyebrow{justify-content:flex-start}}

/* Compact chest layout while preserving the hand and reward sequence. */
body #secret-door{padding-block:26px;gap:22px}
body #secret-door .secret-copy{padding:19px}
body #secret-door .secret-copy>p:not(.eyebrow){font-size:13px;line-height:1.7;margin-block:12px}
body #secret-door .real-chest-art{width:min(100%,255px);height:255px}
body #secret-door .real-hand-window .chest-hand{height:138px}
body #secret-door .collected-signs{gap:8px;margin-block:14px}
body #secret-door .collected-signs>span{padding:9px;font-size:14px}
body #secret-door .secret-form{gap:10px}
body #secret-door .secret-reward{padding:18px}
@media(max-width:760px){body #secret-door{padding-block:22px;gap:12px}body #secret-door .secret-copy{padding:17px}body #secret-door .real-chest-art,body #secret-door.reward-only .real-chest-art{width:min(100%,215px);height:215px}body #secret-door .real-hand-window .chest-hand{height:116px}body #secret-door h2{font-size:25px}}

/* A consistent rhythm; decorative gift lighting must not form a hard rectangle. */
body main>.section{margin-block:0;padding-block:32px}
body main>:is(.experience,.game-gateway){margin-block:0}
body :is(#gift,#birthdays,#secret-door,#fear-scan,#fate-quest,#evening){padding-block:28px}
body #gift{gap:22px;background:#090809}
body #gift .gift-stage{min-height:300px;padding-top:16px;padding-bottom:58px;background:none!important;border:0;box-shadow:none}
body #gift .gift-stage:before,body #gift .gift-stage:after{background:none;box-shadow:none}
body #gift .gift-copy{margin:0}
body #birthdays .section-heading{margin-block:0}
body #fate-quest .fate-heading{margin-bottom:18px}
body #secret-door{gap:18px}
@media(max-width:760px){body main>.section{padding-block:26px}body :is(#gift,#birthdays,#secret-door,#fear-scan,#fate-quest,#evening){padding-block:24px}body #gift{gap:14px}body #gift .gift-stage{min-height:265px;padding:12px 0 58px}body #gift.gift-open .gift-stage{min-height:310px}body #secret-door{gap:10px}}
