/* Playroom: the selected game sets the stage. */
:root{--ink:#20263f;--muted:#71758b;--purple:#365bf5;--paper:#f4f5fa;--lilac:#e6ebff;--coral:#ff715b}.topbar{background:#f4f5faee}.brandmark{border-radius:10px 10px 10px 3px;background:var(--ink)}.brand strong{letter-spacing:-1px}.home-main{overflow:clip}.discovery-stage{--stage:#dce8ff;background:var(--stage);margin:0 -20px 22px;padding:5px 0 0;border-radius:0 0 35px 35px;transition:background .55s ease;position:relative;isolation:isolate}.discovery-stage[data-tone="1"]{--stage:#e6ddfa}.discovery-stage[data-tone="2"]{--stage:#d5efea}.discovery-stage:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.36;background-image:radial-gradient(#7c88ae 1px,transparent 1px);background-size:17px 17px;mask-image:linear-gradient(transparent,black)}.welcome{position:relative;padding:19px 22px 0;display:flex;justify-content:space-between;align-items:center;z-index:2}.welcome p{font-size:12px;color:#566581;margin:0 0 8px}.welcome h1{font-size:45px;line-height:1.04;letter-spacing:-3px;max-width:250px;font-weight:900;position:relative}.welcome h1 span{font-size:45px;line-height:1.13;display:block;color:var(--ink);margin:0;transform:none;letter-spacing:-3px}.welcome h1 i{position:absolute;font-style:normal;font-size:55px;right:6px;top:-7px;color:var(--coral);transform:rotate(17deg);line-height:1}.play-sticker{display:grid;place-items:center;text-align:center;background:#ff785f;color:#22273f;font-size:14px;font-weight:800;line-height:1.5;width:74px;height:74px;transform:rotate(12deg);clip-path:polygon(50% 0,60% 9%,75% 7%,80% 20%,93% 25%,91% 40%,100% 50%,91% 60%,93% 75%,80% 80%,75% 93%,60% 91%,50% 100%,40% 91%,25% 93%,20% 80%,7% 75%,9% 60%,0 50%,9% 40%,7% 25%,20% 20%,25% 7%,40% 9%)}.poster-rail{margin:0;padding:24px 32px 12px;gap:18px;scroll-padding:0 32px;align-items:center;perspective:1000px;overscroll-behavior-x:contain;scroll-snap-type:x mandatory}.discovery-poster{flex:0 0 calc(100% - 5px);height:auto;overflow:visible;border-radius:0;background:none;color:var(--ink);isolation:auto;scroll-snap-align:center;min-width:0;transform:none}.discovery-poster:after{display:none}.poster-surface{background:#fff;border:5px solid #fff;border-radius:23px;overflow:hidden;box-shadow:0 9px 0 #48558712,0 14px 20px #32365316;transform:rotate(var(--turn,-3deg)) scale(var(--scale,1));transform-origin:50% 70%;will-change:transform}.poster-1 .poster-surface{--turn:3deg}.poster-2 .poster-surface{--turn:-3deg}.poster-art-link{display:block;position:relative;height:262px;overflow:hidden;border-radius:18px 18px 7px 7px;background:#887c8b}.poster-art-link:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#17162cbd)}.poster-art-link>img{width:100%;height:100%;object-fit:cover;object-position:60% center;transform:scale(1.08) translateX(var(--pan,0px));will-change:transform}.poster-label{z-index:1;top:13px;left:13px;background:#ffffffed;transform:rotate(0);font-size:11px;border-radius:6px;padding:4px 9px}.poster-art-title{position:absolute;bottom:18px;left:16px;right:12px;color:#fff;font-size:23px;line-height:1.3;font-weight:800;z-index:1;letter-spacing:-.5px}.poster-copy{position:static;padding:12px 11px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.poster-copy>div{min-width:0}.poster-copy small{color:var(--muted);font-size:11px}.poster-copy h2{font-size:19px;margin:0;letter-spacing:-.6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.deck-video{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#eaf0ff;color:var(--purple);font-size:24px;display:grid;place-items:center;transition:transform .2s}.deck-video:active{transform:scale(.88)}.rail-hint{margin:6px 25px 0;padding:4px 0 15px;gap:10px;color:#5c6883;font-size:10px;visibility:visible}.rail-dots{min-width:35px}.rail-dots i.active{background:var(--ink)}.deck-next{background:#ffffff99;border-radius:50%;width:36px;height:36px;font-size:22px}.genres{margin:0 -2px 26px;gap:7px}.genre{position:relative;padding:9px 0 8px;min-height:94px;background:#e8ebfd;border-radius:20px 20px 9px 20px;transform:rotate(-3deg)}.genre-1{background:#ffe5d9;transform:rotate(3deg)}.genre-2{background:#dff2e8;transform:rotate(-2deg)}.genre-3{background:#fbefc4;transform:rotate(3deg)}.genre>span{width:auto;height:47px;line-height:47px;background:none;font-size:32px;margin:0 auto 3px;transform:none;color:#5c70cc}.genre-1>span{color:#be6950}.genre-2>span{color:#36886e}.genre-3>span{color:#9a7c27}.genre strong{font-size:11px}.picks-section{background:var(--ink);color:#fff;border-radius:24px 24px 9px 24px;margin-bottom:30px;padding:19px 18px 20px;position:relative}.picks-section .section-head h2{font-size:21px}.title-spark{color:#ff8d74}.picks-section .quiet{color:#b8bfd7;font-size:11px}.picks-section .pick small{color:#aeb6d0}.pick img{border:2px solid #fff2;box-shadow:0 3px 8px #0b102944;transition:transform .2s}.pick:active img{transform:rotate(-8deg) scale(.9)}.section-head h2{font-weight:800}.library-search{background:white;border:1px solid #e5e8f1;border-radius:16px}.filter.active{background:var(--ink);box-shadow:0 3px 0 #20263f23}.filter{transition:background .2s,color .2s}.game-card{background:#fff;border:0;border-radius:18px;margin:0 0 10px;padding:15px 13px;box-shadow:0 3px 0 #20263f04}.game-icon{border-radius:17px;width:62px;height:62px}.card-main{gap:12px}.card-main h3{font-size:15px}.card-foot{margin-left:74px}.favorite{background:#f2f4fb;color:#8b95b4}.favorite.selected{background:#e4ebff;color:var(--purple)}.bottom-nav{bottom:12px;left:16px;right:16px;height:65px;padding:4px 9px;background:#20263ff5;color:white;border:1px solid #ffffff22;border-radius:23px;box-shadow:0 7px 25px #171e3a29;transform:none;width:auto}.bottom-nav a,.bottom-nav button{color:#a6aec8;min-width:60px;font-size:10px}.bottom-nav .active{color:#fff}.bottom-nav .active span{background:#ffffff1d;color:#d9ff86;border-radius:12px}.bottom-nav span{transition:background .2s,color .2s;line-height:27px;font-size:24px}.bottom-nav [data-bottom="saved"] span{color:inherit}.toast{background:var(--ink)}.mobile-cta{background:#f4f5faf5}.save-spark{position:fixed;z-index:120;width:6px;height:6px;background:#ff785f;border-radius:2px;pointer-events:none}.detail-hero{border-radius:0 0 30px 30px}.detail-badge{background:#fff;color:var(--ink);transform:rotate(-4deg);display:inline-block}.button{box-shadow:0 3px 0 #1f348619;transition:transform .15s}.button:active{transform:translateY(2px);box-shadow:none}.detail-info{background:#e9eefb}.detail-video-row button{background:#e5ebff;color:#365bf5}.detail-save{background:#dfe6fa}.screenshot{transition:transform .2s}.screenshot:active{transform:scale(.96)}
@supports(padding:env(safe-area-inset-bottom)){.bottom-nav{bottom:max(12px,env(safe-area-inset-bottom))}}
@media(min-width:700px){.home-main{overflow:visible}.discovery-stage{margin:8px 0 25px;padding:25px 25px 0;border-radius:30px}.welcome{padding:0 10px;align-items:center}.welcome h1,.welcome h1 span{font-size:48px;display:inline;letter-spacing:-2px}.welcome h1{max-width:none}.welcome h1 i{right:-70px;top:0}.welcome p{margin-bottom:12px}.play-sticker{margin-right:10px;width:78px;height:78px}.poster-rail{padding:20px 4px 20px;gap:20px;scroll-padding:0}.discovery-poster{flex-basis:calc((100% - 40px)/3)}.poster-art-link{height:255px}.poster-surface{border-width:5px}.poster-art-title{font-size:21px}.poster-copy h2{font-size:17px}.rail-hint{justify-content:center;gap:24px;padding-bottom:18px}.rail-hint .deck-next{display:none}.genres{max-width:640px;gap:18px;margin:0 auto 30px}.genre strong{font-size:13px}.genre{padding:10px}.picks-section{padding:25px}.bottom-nav{width:420px;left:50%;right:auto;transform:translateX(-50%)}.game-grid{gap:0 20px}.game-card{padding:16px}.detail-hero{border-radius:26px}}
@media(max-width:360px){.discovery-stage{margin-left:-16px;margin-right:-16px}.welcome h1,.welcome h1 span{font-size:40px}.welcome h1 i{font-size:47px;right:3px}.play-sticker{width:63px;height:63px;font-size:12px}.poster-rail{padding-left:25px;padding-right:25px;scroll-padding:0 25px}.poster-art-link{height:235px}.poster-art-title{font-size:20px}.poster-copy h2{font-size:17px}.genre strong{font-size:10px}.game-card{padding:13px 10px}.card-main{gap:9px}.game-icon{width:53px;height:53px}.card-foot{margin-left:62px}.favorite{width:36px}.bottom-nav{left:12px;right:12px}.welcome{padding-top:15px}}
@media(prefers-reduced-motion:reduce){.poster-surface,.poster-art-link>img{transform:none!important;will-change:auto}*{transition:none!important}}

/* Discount tickets are the first stop; the existing game deck follows. */
.discount-hub{padding:16px 0 0;margin-bottom:26px}.discount-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.discount-heading p{font-size:12px;color:var(--muted);margin-bottom:3px}.discount-heading h2{font-size:30px;letter-spacing:-1px;line-height:1.3}.discount-heading>a{font-size:12px;font-weight:600;padding:10px 0;color:var(--purple)}.discount-tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.discount-ticket{position:relative;border-radius:20px 20px 9px 9px;padding:17px 15px 12px;display:block;transition:transform .18s;isolation:isolate}.discount-ticket:before,.discount-ticket:after{content:"";position:absolute;background:var(--paper);width:16px;height:16px;border-radius:50%;bottom:36px}.discount-ticket:before{left:-8px}.discount-ticket:after{right:-8px}.ticket-blue{background:#365bf5;color:white;transform:rotate(-1.5deg)}.ticket-coral{background:#ff8a71;color:#352322;transform:rotate(1.5deg)}.discount-ticket:active{transform:rotate(0) scale(.97)}.discount-ticket>span{font-size:11px;font-weight:600}.discount-ticket>strong{font-family:"Arial Rounded MT Bold",Arial,sans-serif;font-variant-numeric:tabular-nums;display:block;font-size:48px;font-weight:900;line-height:1.3;letter-spacing:-2.5px;margin:4px 0 13px;white-space:nowrap}.discount-ticket strong small{font-family:inherit;font-size:17px;letter-spacing:0;margin-left:4px}.discount-ticket>div{display:flex;justify-content:space-between;gap:4px;border-top:1px dashed #ffffff65;padding-top:10px;font-size:10px;white-space:nowrap}.ticket-coral>div{border-color:#35232240}.discount-ticket b{font-weight:500}.discount-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.discount-shortcuts>a{display:flex;justify-content:space-between;align-items:center;gap:6px;background:#e6ebff;border-radius:10px 10px 17px 17px;padding:13px 12px;min-height:48px}.discount-shortcuts strong{font-size:13px}.discount-shortcuts span{font-size:10px;color:#4b5882}.discount-note{font-size:10px;color:#71758b;line-height:1.6;margin-top:12px}.discount-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.discount-filter{min-height:40px;font-size:12px;padding:9px 12px;border-radius:10px;background:#e6ebff;color:#394977;border:1px solid transparent;transition:background .15s,color .15s}.discount-filter.active{background:#365bf5;color:#fff;border-color:#365bf5}.discount-range-note{font-size:11px;color:var(--muted);margin:0 0 14px}.discount-badge{display:inline-flex;align-items:center;background:#ffe4dc;color:#98361f;font-size:12px;font-weight:800;padding:1px 7px;border-radius:5px;white-space:nowrap}.platform{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.discount-page-heading{position:relative;overflow:hidden;padding:20px 20px 23px;background:#e6ebff;border-radius:22px;margin-bottom:26px}.discount-page-heading h1{font-size:29px;line-height:1.35;letter-spacing:-1px;position:relative;max-width:85%}.discount-page-heading p{font-size:12px;color:#52628f;margin-top:7px;position:relative}.discount-page-stamp{position:absolute;font-size:64px;font-weight:900;right:8px;top:-8px;color:#365bf522;transform:rotate(13deg)}.bottom-nav [data-bottom="discount"] span{color:#ffad91}.bottom-nav [data-bottom="discount"].active span{background:#ff8a7125;color:#ffbd96}.detail-tags .discount-badge{background:#ffe4dc;color:#98361f;font-weight:800}
@media(min-width:700px){.discount-hub{padding-top:25px}.discount-heading h2{font-size:36px}.discount-tickets{gap:20px}.discount-ticket{padding:22px 26px 15px}.discount-ticket>span{font-size:14px}.discount-ticket>strong{font-size:64px}.discount-ticket>div{font-size:13px}.discount-ticket:before,.discount-ticket:after{bottom:41px}.discount-shortcuts{gap:20px;margin-top:18px}.discount-shortcuts>a{padding:15px 24px}.discount-shortcuts strong{font-size:16px}.discount-shortcuts span{font-size:13px}.discount-note{font-size:11px}.discount-page-heading{padding:30px}.discount-page-heading h1{font-size:38px}.discount-filter{min-height:44px}}
@media(max-width:360px){.discount-ticket{padding:15px 12px 12px}.discount-ticket>strong{font-size:41px}.discount-ticket>div{font-size:9px}.discount-shortcuts>a{padding:12px 9px}.discount-shortcuts strong{font-size:12px}.discount-shortcuts span{font-size:9px}.discount-heading h2{font-size:28px}.discount-page-heading h1{font-size:25px}}
@media(max-width:360px){.discount-main .filters{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}

/* Game download remains a separate target from the game detail link. */
.game-card{grid-template-columns:minmax(0,1fr) 68px;column-gap:10px;min-height:130px}.game-card .favorite{align-self:start;height:36px;width:36px;border-radius:11px;font-size:21px}.card-download{grid-column:2;grid-row:1;align-self:end;justify-self:stretch;display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:11px;background:#365bf5;color:white;font-size:12px;font-weight:650;white-space:nowrap;transition:transform .15s,background .15s}.card-download:active{transform:scale(.95);background:#2848d1}.card-download.unavailable{background:#f0f1f5;color:#7a7f91;font-weight:400;font-size:11px}.card-main{align-items:center}.card-foot{margin-top:7px}
@media(max-width:360px){.game-card{grid-template-columns:minmax(0,1fr) 62px;column-gap:7px;min-height:124px}.card-download{font-size:11px;min-height:38px}}
