/* Cinematic Home: native-size controls, warm metallic surfaces and room artwork. */
body.home-screen{background:#0b0b0a!important;color:#f5ead2;overflow:auto!important;--home-gold:#e4c57f;--home-edge:#917441;--home-ink:#17140f}
body.home-screen::before{background:radial-gradient(ellipse at 70% 0%,#5d43232b,transparent 65%)!important;filter:none!important}
body.home-screen::after{background:none!important;pointer-events:none}
body.home-screen #app{height:auto!important;min-height:100svh;overflow:visible!important}
body.home-screen #app>main.wrap{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:1180px!important;height:auto!important;min-height:100svh;margin:0 auto!important;padding:0 26px 20px!important;box-sizing:border-box}
.home-screen .home-surface{display:flex!important;flex-direction:column!important;width:100%;height:auto!important;min-height:0;isolation:isolate}
.home-screen .topbar{height:82px;gap:15px;border-color:#c8a45c30;margin-bottom:0}
.home-screen .brand .paxton-wordmark{font-size:36px!important}.home-screen .brand small{font-size:10px;letter-spacing:.18em;color:#c3b594}
.home-screen .brandmark{width:48px;height:48px}.home-screen .profile{gap:9px}.home-screen .profile button{min-width:44px;min-height:44px}
.home-screen button{background-image:none!important;background:linear-gradient(160deg,#29241a,#12110e)!important;border:1px solid #a18245!important;color:#f7e8bc!important;border-radius:12px!important;box-shadow:inset 0 1px 0 #ffe7a71f,0 3px 8px #0005!important;min-height:44px;letter-spacing:0;font-weight:650;text-shadow:none!important;transition:filter .2s,transform .2s,border-color .2s;touch-action:manipulation}
.home-screen button:hover{filter:brightness(1.14)}.home-screen button:active{transform:translateY(1px)}.home-screen button:focus-visible,.home-screen summary:focus-visible{outline:3px solid #fff0b1;outline-offset:3px}
.home-screen button svg,.home-screen summary svg{width:25px;height:25px;flex:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
.home-screen .mode-hud{padding:11px 0 14px;border:0;background:none;gap:10px;color:#d3bb87}
.home-screen .mode-hud>strong{font-size:10px;letter-spacing:.16em;font-weight:650}.home-screen .mode-hud>button{min-height:36px;font-size:11px;padding:6px 12px}
.home-screen .lounge-clock{background:#18160f;border:1px solid #ac8d493e;border-radius:12px}.home-screen .lounge-clock span{font-size:12px}
.home-screen .home-hero{position:relative;display:grid;grid-template-columns:1fr 260px;align-items:center;min-height:340px;padding:35px 30px 24px;box-sizing:border-box;border:1px solid #b39355;border-radius:24px;overflow:hidden;background:linear-gradient(90deg,#05050540,transparent),url('assets/home-v2397/lounge-hero.webp') 60% center/cover;box-shadow:inset 0 0 0 4px #11110f,0 12px 35px #0007}
.home-hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffe1a60c 45%,transparent 60%);transform:translateX(-100%);animation:home-glint 16s ease-in-out infinite}
.home-hero-copy{position:relative;z-index:2;max-width:500px;padding-bottom:25px}
.home-screen .home-hero .eyebrow{font-size:10px;color:#f1d69b;letter-spacing:.18em;font-weight:650}
.home-screen .home-hero h1{font:600 clamp(38px,4.3vw,58px)/1.02 Georgia,serif;color:#fff0c7;letter-spacing:-.035em;margin:17px 0 16px;text-shadow:0 3px 16px #0008}
.home-screen .home-hero p{font-size:14px;line-height:1.6;color:#ded3bc;margin:0}
.home-screen .home-host-stage{position:relative;z-index:1;top:auto!important;right:auto!important;width:100%!important;height:255px!important;mask-image:none!important;overflow:visible;pointer-events:none;align-self:end;grid-column:2;grid-row:1}
.home-screen .home-host-stage img{width:100%;height:100%;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(to top,transparent,#000 18%);filter:drop-shadow(0 8px 20px #0009);animation:home-host-breathe 9s ease-in-out infinite}
.home-host-stage>span{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);min-width:130px;text-align:center;border:1px solid #dfb86d70;background:#11100ddb;backdrop-filter:blur(8px);padding:8px 18px;border-radius:50px;box-shadow:0 6px 16px #0006}
.home-host-stage small{display:block;color:#c7b27e;font-size:8px;letter-spacing:.12em}.home-host-stage strong{display:block;color:#fff0c7;font:500 22px/1.2 Georgia,serif;margin-top:3px}
.home-screen .home-hero-actions{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;grid-column:1/-1;width:min(100%,700px)}
.home-screen .home-hero-actions button{min-height:64px;padding:10px 16px;display:flex;gap:12px;align-items:center;text-align:left}
.home-screen .home-hero-actions span{flex:1;min-width:0}.home-screen .home-hero-actions small{display:block;font-size:9px;letter-spacing:.13em;margin-bottom:5px;font-weight:650}.home-screen .home-hero-actions strong{display:block;font-size:16px;line-height:1.2}.home-screen .home-hero-actions b{font:28px/1 Georgia;flex:none}
.home-screen button.home-primary{background:linear-gradient(165deg,#fff0be 0%,#e0bd70 48%,#a88039 100%)!important;color:#241c0e!important;border-color:#ffe9ad!important;box-shadow:inset 0 1px 0 #fff9de,inset 0 -3px 0 #7c5d2855,0 6px 15px #0007!important}
.home-screen button.home-story{background:linear-gradient(150deg,#332b1c,#14120e)!important;border-color:#d5b26b!important}
.home-screen .lobby-shortcuts{width:100%!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px 0!important;margin:0}
.home-screen .home-utility{position:relative;min-height:76px;padding:12px 16px!important;display:flex;align-items:center;gap:12px;text-align:left;background:linear-gradient(140deg,#211e17,#12110e)!important;border-color:#8b70394f!important}
.home-screen .home-utility svg{color:#dabe77;width:28px;height:28px}.home-utility span{min-width:0;flex:1}.home-utility strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-utility small{display:block;color:#bcb29b;font-size:11px;margin-top:5px}
.home-notice{width:7px;height:7px;background:#ffe1a0;border-radius:50%;box-shadow:0 0 10px #e7b75988;flex:none}
.home-screen .collection-heading{width:100%!important;margin:17px 0 11px;display:flex;align-items:end;justify-content:space-between;gap:12px}
.home-screen .collection-heading .eyebrow{font-size:9px;letter-spacing:.18em;color:#c5a969}.home-screen .collection-heading h2{margin:5px 0 0;color:#eee3c9;font:500 27px/1.15 Georgia,serif;letter-spacing:-.02em}.home-screen .collection-heading>span{color:#a89e87;font-size:11px}
.home-screen .filters{display:flex!important;flex-wrap:nowrap!important;overflow:auto;width:100%;height:auto!important;padding:0!important;margin:0 0 14px!important;gap:7px;background:none!important;border:0!important;box-shadow:none!important;border-radius:0}
.home-screen .filters button{flex:0 0 auto!important;padding:8px 17px;min-height:44px;font-size:12px;background:#171510!important;border-color:#65523160!important;white-space:nowrap}
.home-screen .filters button.active{background:linear-gradient(#ebd69d,#c09c50)!important;color:#1d180e!important;border-color:#f0d79a!important}
.home-screen .carousel-frame{width:100%!important;max-height:none!important;height:auto!important;min-height:0;flex:none;margin:0}
.home-screen .game-carousel{display:flex!important;grid-template-columns:none!important;gap:17px;overflow-x:auto;overflow-y:hidden;padding:2px 0 13px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b09350 #17140e}
.home-screen .gamecard{position:relative;display:flex;flex-direction:column;flex:0 0 265px!important;max-width:none!important;height:330px!important;padding:0;border:1px solid #9f814b!important;border-radius:18px!important;overflow:hidden;background:#14120e!important;box-shadow:0 6px 18px #0005!important;scroll-snap-align:start;min-width:0}
.home-screen .room-heading{position:absolute;z-index:2;top:0;left:0;right:0;padding:18px 16px 34px!important;background:linear-gradient(#030303d9,#03030391,transparent)!important;border:0!important;pointer-events:none}
.home-screen .room-heading h2{font:600 27px/1.04 Georgia,serif;color:#fff3d0!important;margin:8px 0 0!important;letter-spacing:-.02em;overflow-wrap:anywhere;text-shadow:0 2px 6px #000}.home-screen .room-category{font-size:8px;letter-spacing:.15em;color:#e5cc96}
.home-screen .gameart{position:relative!important;inset:auto!important;flex:0 0 190px!important;width:100%!important;height:190px!important;min-height:190px!important;max-height:190px!important;border:0!important;border-radius:0!important;filter:none!important;transition:filter .3s}
.home-screen .room-details{display:flex;flex-direction:column;gap:7px;padding:12px 14px 14px!important;flex:1;min-height:0;background:linear-gradient(#211c13,#100f0c)!important}
.home-screen .room-details p{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.4;color:#c7bea9;margin:0!important;min-height:32px}
.home-screen .room-status{display:block!important;font-size:8px;color:#c5ab71;letter-spacing:.13em}
.home-screen .room-enter{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto!important;min-height:44px!important;padding:7px 12px!important;background:linear-gradient(#ead9a6,#b9964d)!important;color:#211a0d!important;border-color:#f1d493!important;font-size:12px;font-weight:700}
.home-screen .room-enter svg{width:18px;height:18px}.home-screen .room-enter span{flex:1;text-align:left}.home-screen .room-enter b{font:22px/1 Georgia}
.home-screen .carousel-nav{z-index:4;width:32px;height:48px;min-height:44px;font-size:27px;border-radius:12px!important;top:40%;background:#17130dee!important;box-shadow:0 3px 10px #000b!important}
.home-screen .carousel-nav.prev{left:-10px}.home-screen .carousel-nav.next{right:-10px}
.home-bottom{display:flex;align-items:start;gap:12px;margin:10px 0 4px;min-width:0}.home-domino-options{flex:1;border:1px solid #90713d4d;background:#17140d;border-radius:12px;overflow:hidden;min-width:0}
.home-domino-options summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;min-height:48px;padding:7px 13px;box-sizing:border-box;font-size:12px;color:#e1c68e}.home-domino-options summary::-webkit-details-marker{display:none}.home-domino-options summary>span{margin-left:auto}.home-domino-options summary svg{width:20px!important;height:20px!important}.home-domino-options>div{display:flex;gap:7px;padding:0 10px 10px}.home-domino-options button{flex:1;font-size:11px}
.home-screen .lobby-sound{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px 13px;font-size:18px;flex:none}.home-screen .lobby-sound span{display:inline;font-size:11px}.home-screen .footer{display:flex!important;font-size:10px;border-color:#d7b06b22;color:#9b8e71;margin-top:14px;padding:12px 0}
@keyframes home-glint{0%,65%{transform:translateX(-100%)}95%,100%{transform:translateX(100%)}}
@keyframes home-host-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:600px){body.home-screen #app>main.wrap{padding:0 14px 16px!important}.home-screen .topbar{height:70px;gap:8px}.home-screen .brand .paxton-wordmark{font-size:28px!important}.home-screen .brandmark{width:38px;height:38px}.home-screen .brand small{font-size:8px;letter-spacing:.1em}.home-screen .lounge-counters{display:none}.home-screen .profile{gap:5px}.home-screen .profile .avatar{display:none}.home-screen .profile button{min-width:40px;min-height:40px}.home-screen .mode-hud{padding:8px 0 12px}.home-screen .home-hero{min-height:330px;padding:23px 17px 17px;grid-template-columns:minmax(0,1fr) 110px;border-radius:20px;background-position:60% center}.home-screen .home-hero .eyebrow{font-size:8px;letter-spacing:.12em;max-width:200px;display:block}.home-screen .home-hero h1{font-size:39px;margin:15px 0 13px}.home-screen .home-hero p{font-size:12px;line-height:1.6}.home-screen .home-hero-copy{padding-bottom:23px}.home-screen .home-host-stage{height:205px!important;align-self:center;transform:translateX(6px)}.home-host-stage>span{bottom:4px;min-width:90px;padding:7px 9px}.home-host-stage small{font-size:6px}.home-host-stage strong{font-size:19px}.home-screen .home-hero-actions{gap:8px}.home-screen .home-hero-actions button{min-height:61px;padding:9px 10px;gap:7px;border-radius:11px!important}.home-screen .home-hero-actions svg{width:20px;height:20px}.home-screen .home-hero-actions small{font-size:7px;letter-spacing:.08em;line-height:1.3;margin-bottom:4px}.home-screen .home-hero-actions strong{font-size:12px}.home-screen .home-hero-actions b{font-size:20px}.home-screen .lobby-shortcuts{gap:7px;padding:11px 0!important}.home-screen .home-utility{min-height:79px;padding:10px 9px!important;gap:6px;flex-direction:column;align-items:start;justify-content:center}.home-screen .home-utility svg{width:21px;height:21px}.home-utility span{width:100%;flex:none}.home-utility strong{font-size:11px}.home-utility small{font-size:8px;line-height:1.3;margin-top:4px}.home-notice{position:absolute;right:9px;top:12px}.home-screen .collection-heading{margin:14px 0 10px;align-items:center}.home-screen .collection-heading h2{font-size:23px}.home-screen .collection-heading>span{font-size:8px;max-width:80px;text-align:right;line-height:1.6}.home-screen .filters{gap:5px}.home-screen .filters button{font-size:10px;padding:7px 10px;min-height:44px}.home-screen .gamecard{flex-basis:245px!important;height:323px!important}.home-screen .room-heading h2{font-size:27px!important}.home-screen .gameart{height:180px!important;min-height:180px!important;max-height:180px!important;flex-basis:180px!important}.home-screen .game-carousel{gap:12px}.home-screen .room-details p{font-size:12px;display:-webkit-box!important}.home-screen .room-enter{font-size:12px;min-height:44px!important}.home-screen .lobby-sound{padding:8px 11px}.home-screen .lobby-sound span{display:none}.home-screen .footer{flex-wrap:wrap;gap:8px}.home-domino-options summary{font-size:11px}}
@media(max-width:360px){.home-screen .brand .paxton-wordmark{font-size:24px!important}.home-screen .brandmark{width:33px;height:33px}.home-screen .home-hero{grid-template-columns:minmax(0,1fr) 88px;padding:22px 14px 15px}.home-screen .home-hero h1{font-size:35px}.home-screen .home-hero-actions svg{display:none}.home-screen .home-hero-actions strong{font-size:12px}.home-screen .home-utility small{font-size:7px}.home-screen .gamecard{flex-basis:225px!important}}
@media(prefers-reduced-motion:reduce){.home-screen *, .home-hero::before{animation:none!important;transition:none!important}}
.home-screen.reduce *, .home-screen.reduce .home-hero::before{animation:none!important;transition:none!important}
/* Override the legacy compact-card rules without changing in-game controls. */
.home-screen #app .carousel-frame{height:auto!important;min-height:0!important;overflow:visible}
.home-screen #app .game-carousel{height:auto!important;padding:2px 0 13px!important}
.home-screen #app .gamecard{display:flex!important;grid-template-rows:none!important;height:330px!important}
.home-screen #app .gamecard .gameart.illustrated{height:190px!important;min-height:190px!important;max-height:190px!important;flex:0 0 190px!important}
.home-screen #app .gamecard .room-heading{padding:18px 16px 34px!important}
.home-screen #app .gamecard .room-heading h2{font-size:27px!important;margin:8px 0 0!important;line-height:1.04}
.home-screen #app .gamecard .room-category{font-size:8px!important;margin:0!important}
.home-screen #app .gamecard .room-details{flex:1!important;padding:12px 14px 14px!important;gap:7px!important}
.home-screen #app .gamecard .room-details p{display:-webkit-box!important}
.home-screen #app .gamecard .room-status{display:block!important}
.home-screen #app .gamecard .room-enter{display:flex!important;height:44px!important;min-height:44px!important;margin-top:auto!important}
.home-screen .brand{min-width:0}.home-screen .profile{flex:none}
@media(max-width:600px){.home-screen #app .gamecard{height:323px!important}.home-screen #app .gamecard .gameart.illustrated{height:180px!important;min-height:180px!important;max-height:180px!important;flex-basis:180px!important}}
