/* Midnight arcade edition: cobalt stone, amber light, hot-pink magic. */
:root{--ink:#ecddff;--muted:#9aadd4;--pink:#ff62b5;--light:#fff2c7;--lavender:#293876;--teal:#61e7e0;--yellow:#ffd16c;--frame:#080d2b}
html{background:#080d2b}body{color:#e4eaff;background:#080d2b;background-image:radial-gradient(ellipse at 50% 35%,#24347b85 0%,#0c123b22 48%,transparent 75%)}
.backdrop{background-image:linear-gradient(#7796f706 1px,transparent 1px),linear-gradient(90deg,#7796f706 1px,transparent 1px);background-size:32px 32px;z-index:0}.backdrop:before,.backdrop:after{display:none}.backdrop .spark{background:#33479b;opacity:.55}.backdrop .s2{background:#b363a5}.backdrop .s3{background:#6e73c8}.backdrop .s4{background:#bf975d}main{position:relative}.site-header{max-width:1160px}.brand{color:#9daddb;letter-spacing:1.5px;font-size:9px}.pixel-heart{background:#ff7bbd;filter:drop-shadow(0 0 7px #ff65ac88)}
.sound-button{border-color:#45558f;background:#131c47;color:#b7d3f8;box-shadow:2px 2px #03061c}.sound-button:hover{background:#223369}.sound-button:focus-visible{outline-color:#ffda81}button:focus-visible{outline-color:#ffe8a1}
.intro{margin:24px auto 23px}.eyebrow{color:#839ccc;font-size:8px;letter-spacing:.7px}.eyebrow span{color:#e6b676}h1{color:#f7e5bf;text-shadow:3px 3px #18214b,0 0 25px #ffe0a51c;font-size:clamp(20px,2.55vw,33px);line-height:1.6}h1 span{color:#ff91c8;text-shadow:3px 3px #5b245b,0 0 20px #fc5cb533}.intro-sub{color:#819bc8;font-size:9px}
.arcade{width:min(1000px,100%);border:3px solid #6774b2;background:#070c24;box-shadow:0 0 0 2px #101837,0 0 0 5px #263263,7px 8px 0 #04091e,0 20px 80px #00092a99}
.arcade:before,.arcade:after{content:'';position:absolute;top:-5px;width:62px;height:3px;background:#f7ca77;z-index:2;box-shadow:0 0 8px #ffcd6d66;pointer-events:none}.arcade:before{left:-5px}.arcade:after{right:-5px}
.game-topbar{background:#111b42;color:#a8bce5;border-bottom:2px solid #46568a;padding:10px 15px;font-size:8px;letter-spacing:.2px}.status-light{background:#ffd583;box-shadow:0 0 9px #ffb95799}.lives i{background:#ff7ab5;filter:drop-shadow(0 0 3px #ff6aaf44)}.game-viewport{background:#0b1740}.scene-badge{background:#11163fdc;border-color:#5a6bb0;box-shadow:2px 2px #03091e77;color:#ffdf9a;font-size:7px;left:13px;top:12px;padding:7px 10px}.scene-badge span{color:#ff8cbc}.chest-hint{top:33%;background:#161c4c;border-color:#d9ab6e;color:#ffe8b0;box-shadow:3px 3px #06082499}.chest-hint span{color:#d9ab6e;text-shadow:2px 0 #161c4c,-2px 0 #161c4c,0 2px #161c4c}
.game-status{background:#17224d;color:#e5d9be;border-color:#4c5c98;border-width:2px;min-height:43px;font-size:8px;letter-spacing:.15px}.status-star{color:#efc47b}.status-count{color:#7b91c1}.control-deck{background:#0e1539;border-top:1px solid #243468;padding:19px 20px;min-height:102px}.welcome-controls p{color:#7088b8;letter-spacing:.3px}
.pixel-button{border-color:#ffd29b;box-shadow:4px 4px #572253,0 0 20px #ff60a11c;color:#fff2d8;background:#a42c76;text-shadow:1px 1px #602455}.pixel-button:hover{box-shadow:5px 5px #572253,0 0 28px #ff60a139;background:#c5468f}.pixel-button:active{box-shadow:1px 1px #572253}.primary{padding:16px 29px;background:#aa337e;background-image:linear-gradient(0deg,#a9337a 0%,#c34491 100%);border-color:#ffbfcb;box-shadow:4px 4px #55214d,0 0 0 1px #2c153b;color:#fff2d8}.primary:hover{background:#d7559f}.play-triangle{color:#ffe1a5}.dir{background:#1b2a59;border-color:#6b7caf;color:#c8d6fa;box-shadow:2px 2px #070e2b}.dir.active,.dir:active{background:#37578b;color:#ffe4a8}.movement-label{color:#728bb8}.action{background:#c58c3a;border-color:#ffe2a1;color:#161d45;box-shadow:4px 4px #493460;text-shadow:none}.action:hover{background:#f1bb60;box-shadow:5px 5px #493460}.action:disabled{background:#192346;border-color:#354674;color:#64799f;box-shadow:3px 3px #080e28}.action:not(:disabled){animation:gold-ready 1.8s steps(3,end) infinite}.action-wrap p{color:#849bcb}.party-controls{color:#dbb882}.page-footer{color:#5c709e}.tiny-heart{color:#a65c92}.anticipation{background:#191e4c;color:#ffe8ab;border-color:#d9a965;box-shadow:3px 3px #05091f}
.celebration{background:#030823cc;gap:25px}.celebration:before{background:radial-gradient(ellipse at 50% 40%,#4d27722b,transparent 65%)}.birthday-title{filter:drop-shadow(3px 4px #070c24)}.birthday-letter{text-shadow:0 3px #40245c}
.ticket-stack{width:min(650px,calc(100vw - 54px))}.ticket-back{background:#782f72;border:3px solid #f0bb79;box-shadow:5px 5px #060a27}.ticket{background:#102454;border:3px solid #ffd693;box-shadow:6px 6px #060a27;color:#fff0ce}.ticket:before{content:'';position:absolute;inset:5px;border:1px solid #54699c;pointer-events:none;z-index:1}.ticket-topline{background:#213966;color:#ffdea3;border-color:#bf9568;font-size:11px;letter-spacing:.6px;padding:17px 23px}.ticket-topline>span:last-child{color:#f2bc75}.ticket-main{padding:27px 25px 30px;background:linear-gradient(135deg,#162c5d 0%,#101e47 100%)}.ticket-sticker{color:#ff83b4;filter:drop-shadow(0 0 8px #ff5fb766)}.ticket-quantity strong{color:#ff97ca;text-shadow:2px 2px #6f356d,0 0 20px #e66ab644}.ticket-quantity>span{color:#aabde4}.ticket h3{color:#ffedbd;text-shadow:2px 3px #91643088,0 0 18px #ffcf6033;letter-spacing:-1px}.ticket-details{color:#d7e5ff}.pixel-calendar{border-color:#f3c682;box-shadow:inset 0 3px #f3c682}.pixel-calendar:before{background:#f3c682;box-shadow:6px 0 #f3c682}.pixel-pin{background:#f3c682}.ticket-recipient{border-color:#bb986e;background:#23385f;color:#ffe4b6;padding:22px 14px}.ticket-recipient>span{color:#eac88b}.gift-caption{color:#aebedd}.replay{background:#184c61;border-color:#7de6db;color:#cffcf3;box-shadow:4px 4px #102d48;text-shadow:none}.replay:hover{background:#267281;box-shadow:5px 5px #102d48}.replay span{font-size:18px}body[data-phase=party] .sound-button,body[data-phase=reveal] .sound-button{background:#131c47}
@keyframes gold-ready{50%{background:#edb659;box-shadow:4px 4px #493460,0 0 17px #ffd16b33}}
@media(min-width:760px) and (max-height:880px){.intro{margin:12px auto 17px}.arcade{width:min(930px,calc((100svh - 290px)*1.6))}h1{font-size:26px}.control-deck{padding:14px 20px;min-height:90px}.ticket-main{padding:20px}.ticket-recipient{padding:17px}.celebration{gap:16px}}
@media(max-width:600px){.brand{font-size:7px;letter-spacing:.5px}.intro{margin:24px auto 23px}.eyebrow{font-size:6px;letter-spacing:0}.intro-sub{font-size:7px}h1{font-size:22px;line-height:1.65}.arcade{box-shadow:0 0 0 2px #101837,0 0 0 4px #263263,5px 6px 0 #04091e,0 20px 45px #00092a99}.game-topbar{font-size:6px;padding:9px;letter-spacing:0}.scene-badge{font-size:5px;top:8px;left:8px;padding:5px 7px}.game-status{font-size:7px;padding:10px 9px;letter-spacing:0}.control-deck{padding:18px 10px}.primary{padding:14px 20px}.chest-hint{top:33%;font-size:6px}.ticket-stack{width:calc(100vw - 48px);max-width:450px}.ticket-topline{font-size:8px;padding:13px 12px;letter-spacing:0}.ticket-topline>span:last-child{font-size:10px}.ticket-main{padding:24px 9px}.ticket h3{font-size:clamp(16px,5.15vw,22px)}.ticket-recipient{padding:19px 14px}.gift-caption{font-size:8px}.celebration{gap:21px}.replay{padding:13px 20px}.arcade:before,.arcade:after{width:42px}}
@media(max-height:700px) and (max-width:600px){.intro{margin:16px auto}h1{font-size:20px}.celebration{gap:10px}.ticket-main{padding:16px 9px}.ticket-recipient{padding:12px}.ticket-topline{padding:10px 12px}}
@media(max-height:500px) and (min-width:600px){.intro{margin:12px auto}h1{font-size:23px}.ticket-stack{width:480px}.ticket-main{padding:12px 20px}.ticket-topline{padding:9px 20px}.ticket-recipient{padding:10px}.celebration{gap:12px}}
