/* Paxton's cinematic lobby. Scoped to Home; native phone scrolling. */
.home-screen #app .premium-lobby{gap:0;min-width:0}
.home-screen #app .topbar{height:82px;padding-top:env(safe-area-inset-top,0px);box-sizing:content-box}
.home-screen #app .lobby-welcome{grid-template-columns:minmax(0,1fr) 280px;min-height:270px;padding:30px 38px 24px;margin-top:16px;border-radius:24px 24px 8px 8px;border-color:#b08d4c66;background:linear-gradient(90deg,#080806dd,#08080640),url('assets/home-v2397/lounge-hero.webp') center/cover;box-shadow:inset 0 0 0 4px #11110f,0 12px 35px #0007;isolation:isolate}
.home-screen #app .lobby-welcome .home-hero-copy{padding:0;max-width:100%}
.home-screen #app .lobby-welcome h1{font-size:clamp(42px,5vw,64px);margin:13px 0 12px;line-height:.98}
.home-screen #app .lobby-welcome .host-greeting{font-size:15px;color:#e4d6b8;line-height:1.6;overflow-wrap:anywhere;max-width:400px}
.home-screen #app .lobby-welcome .home-host-stage{height:240px!important;grid-row:1;align-self:end;max-width:290px;justify-self:center}
.home-screen #app .lobby-welcome .home-host-stage img{object-fit:contain;mask-image:linear-gradient(to top,transparent,#000 18%);border-radius:0!important}
.home-screen #app .lobby-mode-label{display:inline-block;font-size:9px;letter-spacing:.13em;color:#d7b971;border-top:1px solid #b79a5244;margin-top:14px;padding-top:10px}
.home-screen #app .lobby-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 68% 5%,#efc78433,transparent 50%);animation:lobby-lights 8s ease-in-out infinite}
.home-screen #app .lobby-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 0}
.home-screen #app .destination{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:390px;border:1px solid #b28d4e;border-radius:18px;overflow:hidden;background:#16110c;box-shadow:0 14px 28px #0006,inset 0 0 0 3px #caa36018;transition:border-color .25s,box-shadow .25s}
.home-screen #app .destination:hover{border-color:#e5c283;box-shadow:0 14px 32px #0008,0 0 22px #b8953d18}
.home-screen #app .destination-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:lobby-room-drift 22s ease-in-out infinite;transform-origin:center top;pointer-events:none}
.home-screen #app .destination:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#03030100 5%,#0b090855 29%,#0a0807dc 55%,#0c0a08 100%);pointer-events:none}
.home-screen #app .destination:after{content:'';position:absolute;inset:7px;border:1px solid #e4bf6833;border-radius:12px;pointer-events:none}
.home-screen #app .destination-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:155px 24px 23px;position:relative;z-index:1;min-width:0}
.home-screen #app .destination-copy .eyebrow{font-size:9px;letter-spacing:.14em;color:#e2bf7f;text-shadow:0 2px 4px #000;line-height:1.5}
.home-screen #app .destination-copy h2{font:500 36px/1.08 Georgia,serif;letter-spacing:-.035em;color:#fff0d1;margin:7px 0 10px;text-shadow:0 2px 12px #000}
.home-screen #app .destination-copy p{font-size:13px;line-height:1.55;color:#dbcbb2;margin:0 0 14px}
.home-screen #app .destination-button{display:flex;align-items:center;gap:10px;min-height:52px!important;width:100%;padding:11px 14px!important;margin-top:auto;font-size:14px;border-radius:10px!important;text-align:left;flex:none}
.home-screen #app .destination-button span{flex:1;min-width:0;line-height:1.3}.home-screen #app .destination-button b{font:26px/1 Georgia}.home-screen #app .destination-button svg{width:22px;height:22px}
.home-screen #app button.home-primary{background:linear-gradient(115deg,#9e772f 0%,#ffe8a1 25%,#edcb7a 48%,#c59b46 83%,#e8cc88 100%)!important;border-color:#e9c77e!important;color:#201707!important;box-shadow:inset 0 2px 1px #fff6cba8,inset 0 -3px 1px #7550205c,0 5px 16px #0009!important;text-shadow:0 1px 0 #ffe5a080!important}
.home-screen #app button.home-story{background:linear-gradient(140deg,#403321,#1a1510 48%,#2b2316)!important;color:#ffe3a4!important;border-color:#c9a159!important;box-shadow:inset 0 1px 0 #ffe5ac3b,inset 0 -2px 0 #0005,0 5px 14px #0008!important}
.home-screen #app .lobby-story-identity{display:flex;align-items:center;gap:10px;margin:0 0 12px;width:100%;min-width:0}
.home-screen #app .lobby-story-identity img{height:40px;width:40px;object-fit:cover;border:1px solid #bc964f;border-radius:50%;background:#080808;flex:none}
.home-screen #app .lobby-story-identity span{min-width:0;flex:1}.home-screen #app .lobby-story-identity strong{display:block;font-size:13px;line-height:1.3;color:#f5e0b2;overflow-wrap:anywhere}.home-screen #app .lobby-story-identity small{display:block;font-size:10px;line-height:1.4;color:#bcb099;margin-top:3px}
.home-screen #app .lobby-story-progress{display:block;width:100%;height:3px;margin:0 0 14px;border:0;border-radius:4px;appearance:none;background:#65512d55;color:#e7c277;overflow:hidden}
.home-screen #app .lobby-story-progress::-webkit-progress-bar{background:#65512d55}.home-screen #app .lobby-story-progress::-webkit-progress-value{background:linear-gradient(90deg,#a78139,#ffe2a0)}.home-screen #app .lobby-story-progress::-moz-progress-bar{background:#e7c277}
.home-screen #app .lobby-shortcuts{padding:15px 0!important;gap:12px}
.home-screen #app .home-utility{border-color:#b29b6340!important;background:linear-gradient(145deg,#282318,#13110e)!important;min-height:70px}
.home-screen #app .collection-heading{scroll-margin-top:20px;margin:18px 0 16px}.home-screen #app .collection-heading:focus{outline:none}
.home-screen #app .lobby-resume{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 16px;min-height:56px;margin:0 0 14px;width:100%;border-color:#ae8d4455!important;background:#1d1911!important}
.home-screen #app .lobby-resume span{flex:1}.home-screen #app .lobby-resume small{display:block;font-size:8px;color:#bfa774;letter-spacing:.14em;margin-bottom:4px}.home-screen #app .lobby-resume strong{font-size:14px}.home-screen #app .lobby-resume b{font-size:24px}
.home-screen #app .gamecard{height:366px!important;flex-basis:292px!important;border-color:#a786474f!important}
.home-screen #app .gamecard .gameart.illustrated{height:220px!important;min-height:220px!important;max-height:220px!important;flex:0 0 220px!important}
.home-screen #app .gamecard .room-heading{padding:18px 17px 50px!important;background:linear-gradient(#070605d4,#07060566,transparent)!important}
.home-screen #app .gamecard .room-heading h2{font-size:30px!important;max-width:100%;overflow-wrap:normal}
.home-screen #app .gamecard .room-enter{background:linear-gradient(130deg,#f4dca0,#be9448)!important;box-shadow:inset 0 1px 0 #fff1bf70!important}
.home-screen #app .gamecard .room-details{background:linear-gradient(#231c12,#110f0b)!important}
.home-screen #app .carousel-nav{min-width:44px;width:44px;height:48px;background:#17130df0!important}
.home-screen #app .topbar button{min-height:44px;min-width:44px}.home-screen #app .brand .paxton-wordmark{text-shadow:0 1px 10px #b48c3228}
@keyframes lobby-lights{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes lobby-room-drift{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@media(max-width:600px){
 .home-screen #app .topbar{height:66px}.home-screen #app .lobby-welcome{min-height:220px;margin-top:8px;padding:23px 18px 18px;grid-template-columns:minmax(0,1fr) 115px;border-radius:18px 18px 8px 8px;background-position:65% center}
 .home-screen #app .lobby-welcome h1{font-size:38px;margin:13px 0 11px}.home-screen #app .lobby-welcome .eyebrow{font-size:7px;letter-spacing:.13em}.home-screen #app .lobby-welcome .host-greeting{font-size:12px}.home-screen #app .lobby-welcome .home-host-stage{height:190px!important;transform:none}.home-screen #app .lobby-mode-label{font-size:7px;letter-spacing:.08em;margin-top:10px;padding-top:8px}
 .home-screen #app .lobby-destinations{gap:10px;margin-top:10px}.home-screen #app .destination{min-height:335px;border-radius:13px}.home-screen #app .destination:after{inset:5px;border-radius:9px}
 .home-screen #app .destination-copy{padding:113px 13px 13px}.home-screen #app .destination-copy h2{font-size:26px;line-height:1.05;margin:7px 0 9px}.home-screen #app .destination-copy .eyebrow{font-size:7px;letter-spacing:.06em}.home-screen #app .destination-copy p{font-size:10px;line-height:1.6;margin-bottom:11px}
 .home-screen #app .destination-button{min-height:48px!important;padding:8px 9px!important;gap:6px;font-size:11px}.home-screen #app .destination-button svg{width:17px;height:17px}.home-screen #app .destination-button b{font-size:20px}
 .home-screen #app .lobby-story-identity{gap:6px;margin-bottom:10px}.home-screen #app .lobby-story-identity img{width:30px;height:30px}.home-screen #app .lobby-story-identity strong{font-size:10px}.home-screen #app .lobby-story-identity small{font-size:8px}.home-screen #app .lobby-story-progress{margin-bottom:10px}
 .home-screen #app .lobby-shortcuts{gap:7px;padding:11px 0!important}.home-screen #app .home-utility{min-height:76px}.home-screen #app .collection-heading{margin:14px 0 13px}.home-screen #app .collection-heading h2{font-size:25px}.home-screen #app .lobby-resume strong{font-size:12px}
 .home-screen #app .gamecard{height:354px!important;flex-basis:268px!important}.home-screen #app .gamecard .gameart.illustrated{height:207px!important;min-height:207px!important;max-height:207px!important;flex-basis:207px!important}.home-screen #app .gamecard .room-heading h2{font-size:29px!important}
}
@media(max-width:360px){.home-screen #app .lobby-welcome{padding:20px 14px 16px;grid-template-columns:minmax(0,1fr) 90px}.home-screen #app .lobby-welcome h1{font-size:33px}.home-screen #app .destination-copy{padding-left:10px;padding-right:10px}.home-screen #app .destination-copy h2{font-size:23px}.home-screen #app .destination-button svg{display:none}.home-screen #app .destination{min-height:339px}.home-screen #app .gamecard{flex-basis:250px!important}}
@media(prefers-reduced-motion:reduce){.home-screen #app *, .home-screen #app *::before, .home-screen #app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.home-screen.reduce #app *, .home-screen.reduce #app *::before, .home-screen.reduce #app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* A deliberate opening: shown once per launch, never between tables. */
body.home-screen.title-screen #app>main.wrap{max-width:none!important;padding:0!important;margin:0!important;min-height:100svh}
.home-screen.title-screen #app .footer{display:none!important}
.home-screen #app .lobby-title{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100svh;box-sizing:border-box;padding:50px 20px calc(60px + env(safe-area-inset-bottom,0px));overflow:hidden;background:linear-gradient(180deg,#07060555,#06050550 25%,#060505b0 58%,#060505f5),url('assets/home-v2398/arcade-entrance.webp') center/cover;text-align:center}
.home-screen #app .lobby-title:before{content:'';position:absolute;inset:18px;border:1px solid #cfac645c;pointer-events:none;z-index:-1}
.home-screen #app .title-lights{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 18%,#e0ae5933,transparent 65%);animation:lobby-lights 8s ease-in-out infinite}
.home-screen #app .title-content{width:min(100%,650px);display:flex;align-items:center;flex-direction:column;animation:title-arrival .8s ease-out both}
.home-screen #app .title-emblem{display:grid;place-items:center;width:90px;height:90px;margin-bottom:25px;filter:drop-shadow(0 0 24px #e0b05244);font-size:50px;flex:none}
.home-screen #app .lobby-title .eyebrow{font-size:10px;letter-spacing:.24em;color:#ebd093;line-height:1.5}
.home-screen #app .lobby-title h1{font:400 clamp(48px,8vw,82px)/1.15 var(--paxton-script);color:#f6d68c;letter-spacing:0;margin:18px 0 16px;text-shadow:0 2px 16px #000,0 0 25px #e4bd5133}
.home-screen #app .lobby-title p{font:400 17px/1.8 Georgia,serif;color:#efdfbd;margin:0 0 35px}
.home-screen #app .title-enter{display:flex;align-items:center;gap:12px;justify-content:center;min-height:58px;width:min(100%,300px);padding:14px 20px;font-size:16px;border-radius:10px!important}.home-screen #app .title-enter span{flex:1}.home-screen #app .title-enter b{font-size:26px}
.home-screen #app .title-caption{font-size:9px;letter-spacing:.15em;color:#b9a980;margin-top:24px}.home-screen #app .title-version{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom,0px));font-size:10px;color:#a89a7a}
@keyframes title-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:600px){.home-screen #app .lobby-title{background-position:42% center}.home-screen #app .lobby-title h1{font-size:clamp(43px,11vw,62px)}.home-screen #app .title-emblem{width:80px;height:80px;font-size:44px}.home-screen #app .lobby-title .eyebrow{font-size:8px}.home-screen #app .lobby-title p{font-size:15px}.home-screen #app .title-caption{font-size:8px;letter-spacing:.09em}}
@media(max-height:500px){.home-screen #app .lobby-title{min-height:100svh;padding-top:35px;padding-bottom:55px}.home-screen #app .title-emblem{width:44px;height:44px;font-size:26px;margin-bottom:12px}.home-screen #app .lobby-title h1{font-size:44px;margin:12px 0}.home-screen #app .lobby-title p{font-size:13px;line-height:1.4;margin-bottom:14px}.home-screen #app .title-caption{margin-top:15px}.home-screen #app .title-enter{min-height:48px}.home-screen #app .title-version{bottom:18px}}
@media(max-width:600px){.home-screen #app .destination-arcade .destination-art{object-position:24% center}}
@media(prefers-reduced-motion:reduce){.home-screen #app .title-content,.home-screen #app .title-lights{animation:none!important}}
.home-screen.reduce #app .title-content,.home-screen.reduce #app .title-lights{animation:none!important}
/* v2.39.9: give each host a prominent portrait, with the badge below the face. */
.home-screen #app .lobby-welcome{grid-template-columns:minmax(0,1fr) 330px;min-height:310px}
.home-screen #app .lobby-welcome .home-host-stage{height:290px!important;width:330px!important;max-width:none;align-self:end;overflow:hidden}
.home-screen #app .lobby-welcome .home-host-stage img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;mask-image:linear-gradient(to top,transparent,#000 12%);max-width:none}
.home-screen #app .lobby-welcome .home-host-stage>span{bottom:4px;min-width:0;width:auto;max-width:calc(100% - 20px);padding:6px 19px;border-radius:18px;white-space:nowrap}
.home-screen #app .lobby-welcome .home-host-stage small{font-size:7px;letter-spacing:.12em}
.home-screen #app .lobby-welcome .home-host-stage strong{font-size:20px;margin-top:2px}
@media(max-width:600px){
 .home-screen #app .lobby-welcome{display:block;min-height:280px;padding:24px 18px 20px}
 .home-screen #app .lobby-welcome .home-hero-copy{width:55%;position:relative;z-index:2}
 .home-screen #app .lobby-welcome h1{font-size:35px}
 .home-screen #app .lobby-welcome .home-host-stage{position:absolute!important;right:0!important;top:auto!important;bottom:0;width:46%!important;height:264px!important;transform:none;z-index:1}
 .home-screen #app .lobby-welcome .home-host-stage img{object-fit:cover;object-position:50% top;animation:none}
 .home-screen #app .lobby-welcome .home-host-stage>span{bottom:8px;padding:6px 13px;max-width:calc(100% - 20px);background:#12100de8}
 .home-screen #app .lobby-welcome .home-host-stage small{font-size:6px;letter-spacing:.08em}
 .home-screen #app .lobby-welcome .home-host-stage strong{font-size:18px}
}
@media(max-width:360px){
 .home-screen #app .lobby-welcome{min-height:272px;padding:22px 14px 18px}
 .home-screen #app .lobby-welcome h1{font-size:32px}
 .home-screen #app .lobby-welcome .home-host-stage{height:250px!important;width:46%!important}
 .home-screen #app .lobby-welcome .host-greeting{font-size:11px}
}
