/* Public arcade and waiting rooms. In-game boards retain their own layout. */
body.arcade-site,body.arcade-lobby{--arcade-accent:#bba0ff;--arcade-accent-rgb:187,160,255;--arcade-ink:#171127;--arcade-panel:#1a162b;--arcade-border:#aca0ce38;--text-secondary:#c5bed6;--text-muted:#a59eb8;--accent-cyan:var(--arcade-accent);--accent-blue:var(--arcade-accent);background:#100e1b;color:#f6f1ff}
body[data-arcade-theme="draw"]{--arcade-accent:#bba0ff;--arcade-accent-rgb:187,160,255}
body[data-arcade-theme="cah"]{--arcade-accent:#ffad99;--arcade-accent-rgb:255,173,153}
body[data-arcade-theme="casino-freemode"]{--arcade-accent:#8ae5d2;--arcade-accent-rgb:138,229,210}
body[data-arcade-theme="casino-shared"]{--arcade-accent:#f4d57e;--arcade-accent-rgb:244,213,126}
body.arcade-site::before,body.arcade-lobby::before{background:radial-gradient(ellipse at 50% -15%,rgba(var(--arcade-accent-rgb),.15),transparent 55%),radial-gradient(ellipse at 95% 55%,#8c315b17,transparent 50%),linear-gradient(#100e1b,#171121 72%,#100e1b)!important}
body.arcade-site::after,body.arcade-lobby::after{background:repeating-linear-gradient(0deg,transparent 0 63px,#b8a4ea09 64px),repeating-linear-gradient(90deg,transparent 0 63px,#b8a4ea09 64px);opacity:.6;mask-image:linear-gradient(transparent,#0008 40%,transparent)}
.arcade-site .site-header,.arcade-lobby .room-header{max-width:1440px;border-bottom-color:var(--arcade-border)}
.arcade-site .site-nav a[aria-current],.arcade-site .site-nav a:hover,.arcade-site .text-link,.arcade-site .back-link:hover{color:var(--arcade-accent)}
.arcade-site .site-brand .brand-dot,.arcade-lobby .room-header-brand b{color:var(--arcade-accent)}
.arcade-site .player-chip{border-radius:6px;background:#272036;border-color:#b49ecd55;color:#eee6ff}
.arcade-site .btn,.arcade-lobby .btn{border-radius:6px;min-height:48px;font-size:16px;letter-spacing:0;transition:background .16s,border-color .16s,transform .16s}
.arcade-site .btn-primary,.arcade-lobby .btn-primary{background:var(--arcade-accent);border-color:var(--arcade-accent);color:var(--arcade-ink);box-shadow:0 3px 0 rgba(var(--arcade-accent-rgb),.24)}
.arcade-site .btn-primary:hover,.arcade-lobby .btn-primary:hover{background:color-mix(in srgb,var(--arcade-accent),white 13%);transform:translateY(-2px);box-shadow:0 5px 0 rgba(var(--arcade-accent-rgb),.19)}
.arcade-site :focus-visible,.arcade-lobby :focus-visible{outline:3px solid var(--arcade-accent);outline-offset:4px}
.arcade-site .public-main{max-width:1360px;padding-inline:32px}.arcade-home .public-main{max-width:1360px}
.arcade-site [hidden],.arcade-lobby [hidden]{display:none!important}
.arcade-overline{font-size:13px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--arcade-accent);line-height:1.5;margin:0 0 10px}
.arcade-marquee{position:relative;isolation:isolate;text-align:center;max-width:1000px;margin:26px auto 36px;padding:46px 24px 30px;overflow:hidden}
.arcade-marquee::before,.arcade-marquee::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:36%;height:2px;top:53%;background:linear-gradient(90deg,transparent,#bda1ff98);box-shadow:0 0 18px #b18dfc55;transform:rotate(-12deg)}
.arcade-marquee::before{left:-3%}.arcade-marquee::after{right:-3%;transform:rotate(12deg) scaleX(-1)}
.arcade-marquee-art{height:76px;position:relative;display:grid;place-items:center;margin-bottom:18px}.arcade-marquee-art>img{width:74px;height:74px;filter:drop-shadow(0 0 24px #bda1ff40)}
.marquee-orbit{position:absolute;width:260px;height:78px;border:1px solid #ad88e849;border-radius:50%;transform:rotate(-20deg);z-index:-1}.orbit-two{width:330px;height:95px;transform:rotate(18deg);border-color:#ebbd7b33}.marquee-spark{position:absolute;color:#f4d57e;font-size:30px}.spark-one{left:calc(50% - 150px);top:0}.spark-two{right:calc(50% - 175px);bottom:0;color:#9ce4d5;font-size:22px}
.arcade-marquee h1{font-size:clamp(64px,8.5vw,118px);font-weight:900;line-height:.95;letter-spacing:-.065em;margin:10px 0 22px;color:#f6edff;text-shadow:0 4px 0 #665071,0 0 45px #b385ed1c}.arcade-marquee h1>span{color:#ffb39c}.arcade-marquee-caption{font-size:clamp(19px,2vw,25px);line-height:1.5;color:#d6cbe6;margin:0}.arcade-marquee-link{display:inline-flex;align-items:center;gap:16px;min-height:48px;color:var(--arcade-accent);font-weight:700;font-size:16px;margin-top:14px;text-decoration:none}.arcade-marquee-link:hover span{transform:translateY(3px)}
.arcade-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.arcade-section-heading h2{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.035em;line-height:1.2;margin:0}.arcade-section-heading>span{font-size:15px;color:#bcb0cf}.arcade-categories{max-width:800px;margin:0 auto 58px;scroll-margin-top:24px}.arcade-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,240px));justify-content:center;gap:24px}.arcade-category{position:relative;display:flex;flex-direction:column;width:100%;aspect-ratio:1;border:1px solid #a087ce65;border-radius:8px;overflow:hidden;text-decoration:none!important;background:#271d41;box-shadow:0 5px 0 #08071070;transition:transform .18s,border-color .18s,box-shadow .18s}.arcade-category:hover{transform:translateY(-5px);border-color:#d7c4ff;box-shadow:0 10px 0 #08071050,0 0 35px #ba91ef16}.arcade-category-art{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#b98ce832,transparent 80%)}.arcade-drawing{width:100%;height:100%}.arcade-category-caption{padding:12px 18px 16px;position:relative;border-top:1px solid #d7bcff26;background:#171021aa}.arcade-category-caption h3{font-size:24px;line-height:1.15;margin:0 0 5px;color:#f7efff;letter-spacing:-.025em}.arcade-category-caption>span{font-size:13px;color:#cdc2dc;line-height:1.35;display:block;max-width:calc(100% - 14px)}.arcade-category-caption>i{position:absolute;right:16px;top:17px;font-style:normal;color:#cbb1fd;font-size:23px}.arcade-category.game-cah{background:#452838;border-color:#d79b9866}.arcade-category.game-cah .arcade-category-art{background:radial-gradient(ellipse at top,#eecfa43d,transparent)}.arcade-category.game-cah .arcade-category-caption>i{color:#ffb19d}.arcade-category.game-casino{border-color:#dfc68d66;background:#493b23}.arcade-category.game-casino .arcade-category-caption>i{color:#efd082}.arcade-category.game-casino .arcade-category-art>img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:saturate(.85)}.arcade-category-art::after{content:"";position:absolute;inset:0;box-shadow:inset 0 -22px 30px #16102555;pointer-events:none}.arcade-paper-card{position:absolute;width:80px;height:108px;top:20px;left:calc(50% - 64px);padding:12px 8px;font-size:11px;font-weight:700;line-height:1.3;border-radius:5px;box-shadow:5px 8px 15px #0006}.arcade-paper-card b{display:block;font-size:41px;margin-top:9px}.arcade-paper-card.card-dark{background:#1b1329;color:#eee2ff;border:1px solid #a68dc0;transform:rotate(-18deg)}.arcade-paper-card.card-light{background:#ffede1;color:#623646;left:calc(50% - 1px);transform:rotate(15deg)}.arcade-casino-chip{position:absolute;bottom:12px;right:15px;width:49px;height:49px;display:grid;place-items:center;border:4px dashed #ffe19b;border-radius:50%;background:#8b541b;color:#ffeeb0;font-size:25px;font-weight:900;box-shadow:0 4px 12px #0008;transform:rotate(12deg)}
.arcade-shelf{max-width:1200px;margin:0 auto 48px}.arcade-shelf .arcade-section-heading h2{font-size:25px}.arcade-carousel-controls{display:flex;gap:8px;flex-shrink:0}.arcade-carousel-controls button{width:46px;height:46px;display:grid;place-items:center;padding:0;font-size:24px;line-height:1;border:1px solid #9e8db45e;border-radius:5px;background:#292039;color:#eee2ff;cursor:pointer;transition:background .16s}.arcade-carousel-controls button:hover:enabled{background:#4a375f}.arcade-carousel-controls button:disabled{opacity:.3;cursor:default}.arcade-game-track{display:flex;gap:16px;overflow:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#746087 #1a1428;padding:5px 2px 17px;scroll-padding-inline:2px}.arcade-game{position:relative;flex:0 0 176px;aspect-ratio:1;overflow:hidden;scroll-snap-align:start;border:1px solid #c4b2db44;border-radius:6px;background:#23192e;color:#fff;text-decoration:none!important;transition:transform .18s,border-color .18s}.arcade-game:hover{transform:translateY(-4px);border-color:#d0b5f8}.arcade-game-cover{position:absolute;inset:0}.arcade-game-cover img{width:100%;height:100%;object-fit:cover}.arcade-game-cover:has(svg){display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#595488,#272239 70%)}.arcade-game[data-arcade-game="roulette"] .arcade-game-cover{background:radial-gradient(circle at 50% 30%,#396456,#17332c)}.arcade-game[data-arcade-game="blackjack"] .arcade-game-cover{background:radial-gradient(circle at 50% 30%,#265a54,#122b2c)}.arcade-game[data-arcade-game="crash"] .arcade-game-cover{background:radial-gradient(circle at 50% 30%,#4a5689,#23233c)}.arcade-game-cover svg{width:80px;height:80px;color:#eee1b6;margin-top:-23px;filter:drop-shadow(0 7px 8px #0005)}.arcade-game>span{position:absolute;bottom:0;inset-inline:0;min-height:54px;display:flex;align-items:flex-end;padding:30px 31px 13px 12px;font-size:16px;font-weight:750;line-height:1.2;background:linear-gradient(transparent,#120d20e8 50%);text-shadow:0 1px 3px #000}.arcade-game>i{position:absolute;bottom:14px;right:10px;font-size:20px;font-style:normal}.arcade-shelf-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#bcb1ce;font-size:14px;margin:13px 0 0}.arcade-shelf-note a{color:#c6aaf8;text-decoration:none;font-weight:700}
.arcade-join-dock{display:flex;align-items:center;justify-content:space-between;gap:26px;max-width:1100px;margin:0 auto 64px;padding:24px;border:1px solid #a998c13d;border-radius:8px;background:linear-gradient(105deg,#30223a,#1c192b);box-shadow:0 4px 0 #08070e50}.arcade-join-copy{display:flex;align-items:center;gap:15px;flex-shrink:0}.arcade-join-copy h2{font-size:21px;margin:0 0 7px;line-height:1.2}.arcade-join-copy p{font-size:15px;margin:0;color:#c3b6d0}.arcade-dock-icon{width:44px;height:44px;display:grid;place-items:center;color:#b99fea}.arcade-dock-icon svg{width:32px;height:32px}.arcade-join-dock form{display:flex;align-items:flex-end;gap:12px;min-width:0}.arcade-join-dock .form-group{margin:0;max-width:180px;min-width:0;flex:1}.arcade-join-dock .form-label{font-size:14px;margin-bottom:8px}.arcade-join-dock .form-input{width:100%;min-height:48px;border-radius:5px;background:#130f20;border-color:#87739d70}.arcade-join-dock .code-field{font-size:22px;letter-spacing:4px}.arcade-join-dock .btn{min-width:116px;padding-inline:20px;height:50px}
/* The setup is one centered panel, with compact square choices inside it. */
body.arcade-site .setup-grid{display:grid;grid-template-columns:1fr;max-width:1000px;margin:16px auto 60px;gap:30px}.arcade-site .setup-copy{max-width:760px;margin:auto;text-align:center}.arcade-site .setup-copy h1{font-size:clamp(38px,5vw,62px);letter-spacing:-.045em;margin:12px 0 20px}.arcade-site .setup-copy .eyebrow{color:var(--arcade-accent)}.arcade-site .setup-copy .setup-tagline{display:none}.arcade-site .setup-copy .game-instructions{display:none}.arcade-site .setup-copy>p{margin-inline:auto;max-width:660px}.arcade-site .setup-copy .text-link{font-size:14px;min-height:40px;margin-top:6px}.arcade-site .setup-panel{max-width:none;width:100%;border-radius:8px;background:#211a30;border-color:var(--arcade-border);padding:30px}.arcade-site .setup-panel>h2,.arcade-site .setup-panel>.panel-intro{text-align:center}.arcade-site .form-input{background-color:#130f20;border-radius:5px;border-color:#8f7da657}.arcade-site .form-input:focus{border-color:var(--arcade-accent);box-shadow:0 0 0 3px rgba(var(--arcade-accent-rgb),.1)}
/* Waiting room: one title, one invitation rail, then players and settings. */
body.arcade-lobby .lobby-page{display:grid;grid-template-columns:1fr;align-items:start;justify-content:initial;max-width:1280px;margin:0 auto;min-height:0;padding:38px 32px;gap:22px}.arcade-lobby .lobby-intro{position:relative;max-width:900px;margin:0 auto;text-align:center;padding:0!important;grid-column:1/-1}.arcade-lobby .lobby-intro::before{display:none}.lobby-theme-icon{width:52px;height:52px;margin:0 auto 13px;display:grid;place-items:center;border:1px solid rgba(var(--arcade-accent-rgb),.45);background:rgba(var(--arcade-accent-rgb),.08);color:var(--arcade-accent);border-radius:8px}.lobby-theme-icon svg{width:30px;height:30px}.arcade-lobby .lobby-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.15;letter-spacing:-.04em;margin:0 0 16px}.arcade-lobby .lobby-intro p{font-size:17px;line-height:1.6;color:#c8bdd8;margin:0 auto;max-width:740px}.lobby-mode-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 26px;padding:17px 0 0;margin:0;list-style:none}.lobby-mode-stats li{display:flex;align-items:center;gap:9px;color:#bfb2ce;font-size:15px}.lobby-mode-stats strong{font-size:16px;color:#f3eafd;font-variant-numeric:tabular-nums}.arcade-lobby .room-code-display{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:22px;max-width:740px;width:100%;margin:0 auto 6px;padding:16px 22px;border:1px solid var(--arcade-border);border-radius:6px;background:#211a2ddd;box-shadow:none}.arcade-lobby .room-code-label{font-size:14px;letter-spacing:0;margin:0;color:#c6b8d4}.arcade-lobby .room-code{font-size:30px;letter-spacing:6px;margin:0;color:var(--arcade-accent);line-height:1.2}.arcade-lobby .room-code-actions{display:flex;gap:8px;margin:0}.arcade-lobby .room-code-actions .btn{min-height:44px;padding:8px 13px;border-radius:4px;font-size:14px;background:#2d223b}.arcade-lobby .lobby-grid{grid-column:1/-1;display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:24px;max-width:100%;align-items:start}.arcade-lobby .lobby-grid>.glass-card{padding:25px;border-radius:8px;background:#211b2f;border-color:var(--arcade-border);box-shadow:0 5px 0 #08070e60;height:auto!important}.arcade-lobby .card-title{font-size:22px;color:#f0e5fc;display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.lobby-player-count{font-size:14px;color:#bcb0ca;font-weight:400}.arcade-lobby .player-list{display:flex;flex-direction:column;gap:10px}.arcade-lobby .player-item{border:1px solid #a791c22f;border-radius:6px;background:#171220;padding:13px;gap:12px}.arcade-lobby .player-item.is-me{border-color:rgba(var(--arcade-accent-rgb),.55);background:rgba(var(--arcade-accent-rgb),.06)}.arcade-lobby .player-info{gap:10px;min-width:0}.arcade-lobby .player-info>div:last-child{min-width:0}.arcade-lobby .player-avatar{width:40px;height:40px;font-size:18px;border-radius:5px;flex-shrink:0}.arcade-lobby .player-name{font-size:16px;overflow-wrap:anywhere}.arcade-lobby .player-name small{font-size:13px;color:var(--arcade-accent)}.arcade-lobby .player-host{font-size:12px;color:#c9bada;margin-top:4px;letter-spacing:.02em}.lobby-player-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.arcade-lobby .player-status{font-size:13px;white-space:nowrap}.arcade-lobby .player-status.status-ready{color:#a2e4c3}.arcade-lobby .player-status.status-waiting{color:#c6b8d4}.arcade-lobby .player-kick{min-height:32px;padding:5px 8px;font-size:12px}.arcade-lobby .lobby-btn-row{display:flex;gap:10px;align-items:stretch}.arcade-lobby .lobby-btn-row .btn{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:52px}.arcade-lobby #btn-ready{flex:1}.arcade-lobby #btn-start{margin-top:12px;min-height:52px}.arcade-lobby #btn-ready[aria-pressed=true]{background:#463621;color:#ffdda0;border:1px solid #c09a5f}.arcade-lobby .lobby-status{margin:18px 0 0;padding-top:15px;border-top:1px solid var(--arcade-border);font-size:15px!important;line-height:1.6;color:#cdbedb!important;text-align:left}.arcade-lobby .lobby-status[data-ready=true]{color:#b2e3c7!important}.arcade-lobby .settings-edit-row{padding:13px 0;min-height:64px;border-bottom:1px solid #b59bcb29}.arcade-lobby .setting-label{font-size:16px;line-height:1.4;color:#c8bdd6}.arcade-lobby .settings-edit-row .form-input{min-height:48px;font-size:16px;border-radius:5px;border-color:#a790c047;background-color:#140f20}.arcade-lobby .setting-value{font-size:16px;color:#eee3f8;line-height:1.5}.arcade-lobby .setting-row{padding:13px 0;gap:18px}.arcade-lobby .invite-url{font-size:14px;line-height:1.6;background:#150f21;border-radius:4px;padding:12px;color:#c1b2d3}.arcade-lobby .divider{font-size:13px;color:#bcabce}.arcade-lobby .private-footer{grid-column:1/-1;margin:12px 0 0;font-size:14px;padding:0}.arcade-lobby .room-header-context{font-size:14px;color:#b8a9c8}.arcade-lobby .room-header-nav{font-size:14px}.arcade-lobby .settings-save-row .btn{min-height:48px}.arcade-lobby .settings-save-status{font-size:14px;color:#d7bd91;line-height:1.5;margin:0}
@media(min-width:1800px){.arcade-site .public-main,.arcade-site .site-header{max-width:1520px}.arcade-marquee{margin-top:36px;padding-top:60px;margin-bottom:42px}.arcade-categories{max-width:820px}.arcade-shelf{max-width:1360px}.arcade-game{flex-basis:208px}.arcade-game>span{font-size:18px}.arcade-shelf .arcade-section-heading h2{font-size:30px}.arcade-join-dock{max-width:1200px;padding:28px}.arcade-join-copy h2{font-size:24px}.arcade-join-copy p,.arcade-shelf-note{font-size:16px}.arcade-join-dock .btn{height:58px}.arcade-join-dock .form-input{min-height:58px}.arcade-lobby .lobby-page{max-width:1440px;padding-top:46px}.arcade-lobby .lobby-intro p{font-size:19px}.arcade-lobby .player-name,.arcade-lobby .setting-value,.arcade-lobby .settings-edit-row .form-input,.arcade-lobby .setting-label{font-size:18px}.arcade-lobby .settings-edit-row .form-input{min-height:58px}.arcade-lobby .player-status,.arcade-lobby .lobby-status,.arcade-lobby .lobby-mode-stats li,.arcade-lobby .room-code-actions .btn{font-size:16px!important}.arcade-lobby .lobby-grid>.glass-card{padding:30px}.arcade-lobby .player-item{padding:16px}.arcade-lobby .lobby-btn-row .btn,.arcade-lobby #btn-start{font-size:18px;min-height:58px}}
@media(max-width:1000px){.arcade-site .public-main{padding-inline:24px}.arcade-marquee{margin-top:12px;padding-top:32px}.arcade-join-dock{flex-wrap:wrap}.arcade-join-dock form{flex:1;justify-content:flex-end}.arcade-lobby .lobby-grid{grid-template-columns:1fr}.arcade-lobby .lobby-page{padding-inline:24px;max-width:800px}.arcade-lobby .lobby-grid>.glass-card:first-child{width:100%}.arcade-lobby .player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.arcade-lobby .player-item{align-items:flex-start;flex-wrap:wrap}.arcade-lobby .lobby-player-meta{justify-content:flex-start;margin-left:50px}.arcade-lobby .lobby-actions{max-width:520px;margin-inline:auto}.arcade-lobby #settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.arcade-site .public-main{padding-inline:16px}.arcade-marquee{padding:28px 0 20px;margin:0 auto 25px}.arcade-marquee-art{height:58px;margin-bottom:16px}.arcade-marquee-art>img{width:56px;height:56px}.marquee-orbit{width:190px;height:60px}.orbit-two{width:270px}.spark-one{left:calc(50% - 125px)}.spark-two{right:calc(50% - 130px)}.arcade-overline{font-size:11px;letter-spacing:.07em}.arcade-marquee h1{font-size:64px;margin-bottom:18px}.arcade-marquee-caption{font-size:19px}.arcade-marquee-link{font-size:15px}.arcade-marquee:before,.arcade-marquee:after{top:44%;width:18%}.arcade-section-heading{gap:12px;margin-bottom:16px}.arcade-section-heading h2{font-size:25px}.arcade-section-heading>span{font-size:12px;max-width:100px;text-align:right}.arcade-categories{margin-bottom:38px;max-width:420px}.arcade-category-grid{grid-template-columns:repeat(2,minmax(0,180px));gap:14px;justify-content:center}.arcade-category-grid>.arcade-category:last-child{grid-column:1/-1;justify-self:center;width:calc((100% - 14px)/2)}.arcade-category-caption{padding:9px 11px 12px}.arcade-category-caption h3{font-size:20px}.arcade-category-caption>span{font-size:11px;line-height:1.3}.arcade-category-caption>i{font-size:19px;right:10px;top:10px}.arcade-paper-card{width:61px;height:78px;top:9px;padding:8px 6px;font-size:9px;left:calc(50% - 48px)}.arcade-paper-card.card-light{left:calc(50% - 1px)}.arcade-paper-card b{font-size:27px;margin-top:5px}.arcade-casino-chip{width:36px;height:36px;font-size:19px;border-width:3px;right:9px;bottom:8px}.arcade-shelf{margin-bottom:30px}.arcade-shelf .arcade-section-heading h2{font-size:22px;max-width:220px}.arcade-shelf .arcade-overline{font-size:10px}.arcade-carousel-controls{gap:6px}.arcade-carousel-controls button{width:40px;height:44px;font-size:22px}.arcade-game-track{gap:12px}.arcade-game{flex-basis:160px}.arcade-game>span{font-size:15px}.arcade-shelf-note{font-size:13px;gap:4px;line-height:1.6}.arcade-shelf-note a{min-height:40px;display:inline-flex;align-items:center}.arcade-join-dock{padding:20px 16px;gap:20px;margin-bottom:36px}.arcade-join-copy{gap:12px}.arcade-join-copy h2{font-size:21px}.arcade-join-dock form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:14px 10px}.arcade-join-dock .form-group{max-width:none}.arcade-join-dock .btn{grid-column:1/-1;width:100%;height:50px}.arcade-join-dock form:not(:has(#home-nickname)){grid-template-columns:minmax(0,1fr) auto}.arcade-join-dock form:not(:has(#home-nickname)) .btn{grid-column:auto}.arcade-join-dock .form-label{font-size:13px}.arcade-join-dock .code-field{font-size:20px;letter-spacing:3px}.arcade-site .setup-copy h1{font-size:36px}.arcade-site .setup-copy>p{font-size:16px}.arcade-site .setup-panel{padding:20px 14px}.arcade-lobby .lobby-page{padding:26px 16px;gap:20px}.arcade-lobby .lobby-intro p{font-size:16px}.lobby-theme-icon{width:44px;height:44px;margin-bottom:12px}.arcade-lobby .lobby-intro h1{font-size:32px}.lobby-mode-stats{gap:8px 15px;padding-top:15px}.lobby-mode-stats li{font-size:13px}.lobby-mode-stats strong{font-size:15px}.arcade-lobby .room-code-display{display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:12px;padding:16px}.arcade-lobby .room-code{font-size:30px;letter-spacing:4px}.arcade-lobby .room-code-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.arcade-lobby .room-code-actions .btn{font-size:14px}.arcade-lobby .lobby-grid{gap:18px}.arcade-lobby .lobby-grid>.glass-card{padding:20px 15px}.arcade-lobby .card-title{font-size:21px}.arcade-lobby .player-list{grid-template-columns:1fr}.arcade-lobby .player-item{align-items:center;flex-wrap:nowrap}.arcade-lobby .lobby-player-meta{margin-left:0;justify-content:flex-end}.arcade-lobby .player-name{font-size:15px}.arcade-lobby .player-status{font-size:12px}.arcade-lobby .player-kick{font-size:11px}.arcade-lobby .lobby-status{font-size:14px!important}.arcade-lobby #settings-form,.arcade-lobby .settings-list{grid-template-columns:1fr}.arcade-lobby .private-footer{font-size:13px}.arcade-lobby .room-header-context{display:none}.arcade-lobby .room-header{padding:18px 16px}.arcade-lobby .room-header-nav{font-size:14px}.arcade-lobby .room-header-brand{font-size:23px}.arcade-lobby .setting-value{font-size:16px}}
@media(prefers-reduced-motion:reduce){.arcade-marquee-link span,.arcade-category,.arcade-game,.arcade-carousel-controls button,.arcade-site .btn,.arcade-lobby .btn{transition:none!important}.arcade-category:hover,.arcade-game:hover,.arcade-site .btn:hover,.arcade-lobby .btn:hover{transform:none}.arcade-game-track{scroll-behavior:auto}}

/* Room code stays at hand while settings scroll beside the player sidebar. */
body.arcade-lobby .room-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:none;margin:0;padding:14px max(24px,calc((100vw - 1380px)/2));background:#171222f5;backdrop-filter:blur(16px);border-bottom:1px solid var(--arcade-border)}
body.arcade-lobby .room-header .room-code-display{width:auto;max-width:none;flex:0 1 auto;gap:16px;padding:0;margin:0;border:0;background:none;display:flex;align-items:center;justify-content:center}
body.arcade-lobby .room-header .room-code{font-size:26px;letter-spacing:4px}.arcade-lobby .room-header .room-code-label{font-size:13px}.arcade-lobby .room-header .room-code-actions .btn{padding:8px 12px;background:#292034;font-size:13px;white-space:nowrap}
body.arcade-lobby .lobby-grid{grid-template-columns:310px minmax(0,1fr)}
body.arcade-lobby .lobby-grid>.glass-card:first-child{position:sticky;top:100px}.arcade-lobby .player-item{flex-wrap:wrap;align-items:flex-start}.arcade-lobby .lobby-player-meta{margin-left:50px;justify-content:flex-start}.arcade-lobby .player-info{width:100%}
.arcade-site .site-footer{display:grid;grid-template-columns:1fr auto;align-items:start;gap:22px 48px;max-width:1280px;margin:0 auto;padding:30px 32px 24px;border-top:1px solid #a18ab747;background:#120e1b50}.arcade-site .site-footer>div{grid-column:1}.arcade-site .site-footer>div>p{font-size:14px;color:#ab9bbb;max-width:360px}.arcade-site .site-footer nav{grid-column:1;grid-row:2;gap:12px 24px;justify-content:flex-start}.arcade-site .site-footer nav a{font-size:15px;min-height:40px}.arcade-site .creator-signature{grid-column:2;grid-row:1/3;align-self:center;text-align:right;border-left:1px solid #9f89b238;padding:10px 0 10px 32px}.arcade-site .creator-signature>span{font-size:12px;letter-spacing:.03em;color:#b4a5c1}.arcade-site .creator-signature .ravdev-logo{width:122px;max-width:122px;margin-top:9px}.arcade-site .footer-note{grid-column:1/-1;border-top:1px solid #9f89b226;padding-top:18px;font-size:13px;line-height:1.6;color:#aa9bb6}
@media(min-width:1800px){body.arcade-lobby .lobby-grid{grid-template-columns:350px minmax(0,1fr)}.arcade-site .site-footer{max-width:1456px}.arcade-site .site-footer nav a,.arcade-site .site-footer>div>p{font-size:16px}}
@media(max-width:1000px){body.arcade-lobby .room-header{gap:14px;padding-inline:22px;flex-wrap:wrap}.arcade-lobby .room-header .room-header-nav .ravdev-logo{display:none}.arcade-lobby .room-header .room-code-label{display:none}body.arcade-lobby .lobby-grid{grid-template-columns:1fr}body.arcade-lobby .lobby-grid>.glass-card:first-child{position:static}.arcade-lobby .player-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.arcade-lobby .room-header{padding:12px 16px;gap:12px}.arcade-lobby .room-header-brand{font-size:21px}.arcade-lobby .room-header-nav{margin-left:auto}body.arcade-lobby .room-header .room-code-display{order:3;width:100%;justify-content:space-between;gap:8px}.arcade-lobby .room-header .room-code{font-size:24px;letter-spacing:4px}.arcade-lobby .room-header .room-code-actions{display:flex;gap:6px}.arcade-lobby .room-header .room-code-actions .btn{font-size:12px;min-height:40px;padding:7px 10px}.arcade-lobby .player-list{grid-template-columns:1fr}.arcade-site .site-footer{padding:26px 18px 22px;margin-inline:16px;gap:20px}.arcade-site .site-footer nav{grid-column:1/-1;grid-row:auto;gap:9px 16px}.arcade-site .site-footer nav a{font-size:14px}.arcade-site .site-footer>div>p{font-size:12px;max-width:180px}.arcade-site .creator-signature{padding-left:15px;grid-row:1;align-self:start}.arcade-site .creator-signature>span{font-size:10px}.arcade-site .creator-signature .ravdev-logo{width:91px;max-width:91px}.arcade-site .footer-note{font-size:12px}.arcade-shelf .arcade-section-heading{align-items:flex-end}.arcade-shelf .arcade-section-heading h2{max-width:210px}.arcade-carousel-controls button{width:34px}.arcade-carousel-controls{gap:4px}}

body.arcade-site.arcade-home::before{background:linear-gradient(180deg,#100e1b25,#100e1b50 48%,#100e1bf5 98%),url('/assets/img/arcade-room.webp') center top/cover no-repeat!important}
body.arcade-site:not(.arcade-home)::before,body.arcade-lobby::before{background:linear-gradient(180deg,#100e1bb8,#100e1bf2 75%),radial-gradient(ellipse at top,rgba(var(--arcade-accent-rgb),.1),transparent 70%),url('/assets/img/arcade-room.webp') center top/cover no-repeat!important}
.arcade-home .arcade-marquee{background:radial-gradient(ellipse at center,#19112545,transparent 68%)}
.arcade-kettle{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;isolation:isolate}
.arcade-kettle::before,.arcade-kettle::after{content:"";position:absolute;left:40%;bottom:77%;height:16px;width:8px;border-left:2px solid #b3efcc8a;border-radius:50%;pointer-events:none;opacity:0;animation:arcade-steam 4.6s ease-out infinite}
.arcade-kettle::after{left:59%;animation-delay:2.1s;height:12px;border-color:#eedac37a}
.arcade-marquee-art>.arcade-kettle img{width:74px;height:74px;filter:drop-shadow(0 0 24px #bda1ff40)}
.arcade-marquee-art>.arcade-kettle::before,.arcade-marquee-art>.arcade-kettle::after{height:26px;width:14px;border-width:3px;bottom:83%}
@keyframes arcade-steam{0%{opacity:0;transform:translateY(4px) rotate(-10deg) scale(.7)}25%{opacity:.65}85%{opacity:0;transform:translateY(-18px) rotate(16deg) scale(1.2)}100%{opacity:0}}
@media(max-width:600px){body.arcade-site.arcade-home::before{background:linear-gradient(180deg,#100e1b35,#100e1bbb 65%,#100e1b 98%),url('/assets/img/arcade-room.webp') 48% top/auto 850px no-repeat!important}.arcade-marquee-art>.arcade-kettle img{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.arcade-kettle::before,.arcade-kettle::after{animation:none;opacity:.3;transform:translateY(-5px)}}

.arcade-site .play-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,240px));justify-content:center;width:100%;max-width:494px;gap:14px;margin:24px auto;border:0;padding:0}.arcade-site .play-mode-options legend{font-size:16px;margin-bottom:12px;text-align:left}.arcade-site .play-mode-options label{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;max-width:240px;aspect-ratio:1;box-sizing:border-box;padding:18px;gap:12px;border:1px solid #ab92c453;border-radius:6px;background:#211a31;text-align:left;cursor:pointer}.arcade-site .play-mode-options label:has(input:checked){background:rgba(var(--arcade-accent-rgb),.1);border-color:var(--arcade-accent);box-shadow:inset 0 0 0 1px var(--arcade-accent)}.arcade-site .play-mode-options input{position:absolute;top:15px;right:15px;accent-color:var(--arcade-accent);width:19px;height:19px}.arcade-site .play-mode-options strong{font-size:21px;line-height:1.2}.arcade-site .play-mode-options small{font-size:14px;line-height:1.4;margin-top:7px;color:#cfc1de}.arcade-choice-icon{display:inline-flex;width:34px;height:34px;color:var(--arcade-accent);flex-shrink:0}.arcade-choice-icon svg{width:100%;height:100%}
@media(max-width:600px){.arcade-site .play-mode-options{gap:10px}.arcade-site .play-mode-options label{padding:12px;gap:9px;min-height:0}.arcade-site .play-mode-options strong{font-size:17px}.arcade-site .play-mode-options small{font-size:13px;line-height:1.35}.arcade-choice-icon{width:26px;height:26px}}
body.arcade-site .setup-panel{border-radius:8px;background:linear-gradient(145deg,#292035,#1b1728);border-color:#a992c44a}
html:has(body.arcade-lobby){overflow-x:clip;overflow-y:auto}body.arcade-lobby{overflow:visible!important}

/* Angular controls, consistent card edges and a persistent right-hand roster. */
.arcade-site :is(.btn,.form-input,.player-chip,.setup-panel,.arcade-category,.arcade-game,.arcade-join-dock,.arcade-carousel-controls button,.play-mode-options label,.casino-mode-tile,.casino-setting-card,.casino-setup-help summary,.deck-fieldset,.deck-option),.arcade-lobby :is(.btn,.form-input,.glass-card,.player-item,.player-avatar,.lobby-theme-icon,.invite-url,.casino-mode-tile,.casino-setup-help summary){border-radius:0!important}
.arcade-site .deck-fieldset{background:#1b1528;border:1px solid var(--arcade-border);padding:18px;margin-block:20px}.arcade-site .deck-fieldset legend{font-size:16px;color:#eee1fb;padding:0 6px}.arcade-site .deck-option{min-height:48px;padding:10px 12px;font-size:16px;gap:12px}.arcade-site .deck-option input{width:20px;height:20px;accent-color:var(--arcade-accent)}
@media(min-width:1001px){body.arcade-lobby .lobby-grid{grid-template-columns:minmax(0,1fr) 310px}.arcade-lobby .lobby-settings-panel{grid-column:1;grid-row:1}.arcade-lobby .lobby-players-panel{grid-column:2;grid-row:1}}
@media(min-width:1800px){body.arcade-lobby .lobby-grid{grid-template-columns:minmax(0,1fr) 350px}}
.arcade-lobby .player-just-joined{animation:lobby-join-in .42s cubic-bezier(.2,.7,.2,1)}
@keyframes lobby-join-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
.lobby-chat-toggle{position:fixed;z-index:61;left:20px;bottom:18px;min-height:48px;display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--arcade-accent);border-radius:0;background:#211930;color:#f5eeff;font:600 16px inherit;box-shadow:0 8px 30px #0007;cursor:pointer}.lobby-chat-toggle svg{width:22px;height:22px}.lobby-chat-toggle b{background:var(--arcade-accent);color:#161020;padding:2px 6px;font-size:13px}.lobby-chat-toggle[aria-expanded=true]{background:var(--arcade-accent);color:#171020}
.lobby-chat-drawer{position:fixed;z-index:60;left:20px;bottom:78px;width:360px;height:min(530px,calc(100dvh - 185px));display:flex;flex-direction:column;background:#1b1429;border:1px solid var(--arcade-border);box-shadow:0 20px 70px #0009;animation:lobby-chat-open .2s ease-out}.lobby-chat-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--arcade-border)}.lobby-chat-drawer h2{font-size:20px;margin:0}.lobby-chat-drawer button{min-width:44px;min-height:44px;border:1px solid var(--arcade-border);background:#302440;color:#efe4fa;cursor:pointer;font-size:24px;border-radius:0}.lobby-chat-messages{min-height:0;flex:1;overflow:auto;padding:16px;overscroll-behavior:contain}.lobby-chat-empty{font-size:15px;color:#c5b9d1;line-height:1.5}.lobby-chat-message{padding:0 0 15px;overflow-wrap:anywhere}.lobby-chat-message strong{font-size:13px;color:var(--arcade-accent)}.lobby-chat-message p{font-size:16px;line-height:1.5;margin:4px 0 0;color:#efe7f8}.lobby-chat-message.is-me strong{color:#bab1c9}.lobby-chat-drawer form{display:flex;gap:8px;padding:12px 12px 0;border-top:1px solid var(--arcade-border)}.lobby-chat-drawer form input{flex:1;min-width:0;min-height:48px;font-size:16px}.lobby-chat-drawer form button{background:var(--arcade-accent);color:#191023}.lobby-chat-drawer #lobby-chat-status{padding:0 12px;min-height:12px;font-size:14px;color:#ffc1b6}.arcade-lobby .private-footer{padding-bottom:64px}
@keyframes lobby-chat-open{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:600px){.lobby-chat-toggle{left:12px;bottom:12px}.lobby-chat-drawer{left:12px;bottom:72px;width:calc(100vw - 24px);height:min(490px,calc(100dvh - 195px))}}
@media(prefers-reduced-motion:reduce){.arcade-lobby .player-just-joined,.lobby-chat-drawer{animation:none}}
@media(max-width:600px){.arcade-join-dock{display:grid;grid-template-columns:1fr}.arcade-join-dock form{min-width:0;max-width:100%;flex:none}.arcade-join-copy{min-width:0}.arcade-join-dock .form-group{width:100%}}
.arcade-site .deck-option{background:#241b31;color:#e9def2}.arcade-site .play-mode-options input[type=radio]{opacity:0;position:absolute;inset:0;width:100%;height:100%;margin:0}.arcade-site .play-mode-options label:has(input:focus-visible){outline:3px solid var(--arcade-accent);outline-offset:3px}
.arcade-lobby .casino-setting-card{border:0;border-bottom:1px solid var(--arcade-border);border-radius:0!important;background:none;padding:14px 0;box-shadow:none}.arcade-lobby .casino-setting-card:hover{background:none;border-color:var(--arcade-border)}.arcade-lobby .casino-setting-card.is-inactive{background:none}.arcade-lobby .casino-setting-card-label{min-height:36px}.arcade-lobby .player-status,.arcade-lobby .toast,.arcade-site .toast,.arcade-lobby .toggle-switch,.arcade-lobby .toggle-switch::before{border-radius:0!important}.arcade-lobby .deck-checkboxes label{min-height:36px;font-size:15px!important}.arcade-lobby .deck-checkboxes input{width:18px;height:18px;accent-color:var(--arcade-accent)}
body.arcade-lobby .casino-mode-tiles{grid-template-columns:repeat(2,minmax(0,190px));max-width:394px}.arcade-lobby .casino-mode-tile{max-width:190px!important}.arcade-lobby .casino-mode-tile strong{font-size:20px!important}.arcade-lobby .casino-mode-tile>span:not(.casino-setting-icon){font-size:13px!important}
.arcade-lobby .lobby-chat-toggle{font-family:inherit;font-size:16px;font-weight:600}.arcade-lobby .lobby-chat-drawer input{background:#140f20}
.arcade-categories>.arcade-section-heading{justify-content:center;text-align:center}.arcade-shelf>.arcade-section-heading{position:relative;justify-content:center;text-align:center;min-height:46px}.arcade-shelf>.arcade-section-heading .arcade-carousel-controls{position:absolute;right:0;top:0}.arcade-shelf .arcade-section-heading h2{max-width:none;padding-inline:48px}.arcade-game-track{scrollbar-width:none}.arcade-game-track::-webkit-scrollbar{display:none}
.ui-native-select{display:block;min-width:0;width:100%}.arcade-lobby .settings-edit-row>.ui-native-select{width:230px;max-width:55%;min-width:135px}.arcade-lobby .casino-setting-card>.ui-native-select{width:100%;max-width:none}.arcade-site .ui-native-select .ui-select-trigger,.arcade-lobby .ui-native-select .ui-select-trigger{min-height:50px;font-size:16px;background:#160f23;border-color:#9e85b44a}.arcade-lobby .ui-native-select .ui-select-trigger{min-height:48px}.arcade-lobby .ui-native-select .ui-select-trigger svg{width:18px;height:18px}.arcade-site select[data-custom-select],.arcade-lobby select[data-custom-select]{display:none!important}
@media(min-width:1800px){.arcade-site .ui-native-select .ui-select-trigger,.arcade-lobby .ui-native-select .ui-select-trigger{min-height:58px;font-size:18px}}
.arcade-site .deck-fieldset .deck-option{background:#241b31!important}

/* The main navigation stays available while browsing the arcade. */
html:has(body.arcade-site){overflow-x:clip;overflow-y:auto}body.arcade-site{overflow:visible!important}
body.arcade-site>.site-header{position:sticky;top:0;z-index:100;max-width:none!important;margin:0;padding:18px max(24px,calc((100vw - 1424px)/2));background:#171222f5;backdrop-filter:blur(16px);border-bottom:1px solid var(--arcade-border);box-shadow:0 6px 24px #08071035}
.arcade-game-track{scroll-snap-type:none;scroll-behavior:auto;cursor:grab;touch-action:pan-x pan-y;user-select:none}.arcade-game-track.is-dragging,.arcade-game-track.is-dragging .arcade-game{cursor:grabbing}.arcade-game-track.is-dragging .arcade-game{transform:none}.arcade-game-track img{-webkit-user-drag:none;user-select:none}
.arcade-carousel-controls button{width:36px;height:36px;font-size:19px}.arcade-shelf>.arcade-section-heading .arcade-carousel-controls{top:5px}
body.arcade-site #gry{scroll-margin-top:110px}body.arcade-site #main{scroll-margin-top:100px}
@media(max-width:600px){body.arcade-site>.site-header{padding:12px 18px;gap:12px}body.arcade-site #gry{scroll-margin-top:145px}body.arcade-site #main{scroll-margin-top:135px}}

/* Three separate arcade stations sit in the room, with their own screen and light. */
.arcade-home .arcade-launch{position:relative;isolation:isolate;max-width:1000px;margin:28px auto 40px;padding:20px 36px 28px;background:none;border:0;box-shadow:none}
.arcade-home .arcade-launch::before{content:'';position:absolute;inset:8% 0 -4%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 43%,#151020dc 0%,#151020a0 36%,transparent 72%)}
.arcade-home .arcade-launch .arcade-section-heading{margin:0 0 34px}.arcade-home .arcade-launch h1{font-size:clamp(30px,3.1vw,46px);line-height:1.1;letter-spacing:-.045em;color:#f7edff;margin:0;text-align:center;text-shadow:0 3px 0 #30203e,0 0 30px #c6a6fa25}
.arcade-home .arcade-category-grid{gap:40px;perspective:1000px;align-items:start}
.arcade-home .arcade-category{--station:#bca3ff;--station-rgb:188,163,255;--station-x:50%;--station-y:40%;--tilt-x:0deg;--tilt-y:0deg;isolation:isolate;overflow:visible;padding:10px 10px 0;border:2px solid #a897be;background:linear-gradient(135deg,#635372,#1b1528 9%,#1a1425 90%,#4b3c5b);box-shadow:5px 5px 0 #322840,8px 8px 0 #100b1a,0 18px 25px #0008,inset 0 1px 0 #f1e4ff70;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .2s ease-out,box-shadow .2s,border-color .2s;animation:station-arrive .55s ease-out both}
.arcade-home .arcade-category.game-cah{--station:#ffad99;--station-rgb:255,173,153;border-color:#c2948a;background:linear-gradient(135deg,#76534d,#261923 9%,#21151f 90%,#593b43);animation-delay:.08s}
.arcade-home .arcade-category.game-casino{--station:#f4d57e;--station-rgb:244,213,126;border-color:#bba168;background:linear-gradient(135deg,#79653e,#241f19 9%,#211a18 90%,#51442c);animation-delay:.16s}
.arcade-home .arcade-category::before{content:'';position:absolute;pointer-events:none;z-index:-1;inset:auto 0 -27px;height:36px;background:radial-gradient(ellipse,rgba(var(--station-rgb),.42),transparent 65%);filter:blur(8px);transform:scale(1);opacity:.6;transition:opacity .2s,transform .2s}
.arcade-home .arcade-category::after{content:'';position:absolute;inset:4px 15% auto;height:2px;background:var(--station);box-shadow:0 0 9px var(--station),0 0 24px rgba(var(--station-rgb),.45);pointer-events:none}
.arcade-home .arcade-category:hover,.arcade-home .arcade-category:focus-visible{border-color:var(--station);box-shadow:5px 5px 0 #322840,8px 8px 0 #100b1a,0 20px 35px #0009,0 0 30px rgba(var(--station-rgb),.14);transform:perspective(900px) translateY(-6px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
.arcade-home .arcade-category:hover::before,.arcade-home .arcade-category:focus-visible::before{opacity:1;transform:scale(1.06)}
.arcade-home .arcade-category-art{border:3px solid #0c0912;outline:1px solid #ffffff19;background:radial-gradient(ellipse at 40% 30%,rgba(var(--station-rgb),.29),#21152e 85%);box-shadow:inset 0 0 22px #0008;transform:translateZ(0)}
.arcade-home .arcade-category-art::after{background:radial-gradient(circle at var(--station-x) var(--station-y),#ffffff1c,transparent 52%),linear-gradient(118deg,transparent 38%,#ffffff0a 39%,#ffffff0a 48%,transparent 49%),repeating-linear-gradient(0deg,transparent 0 3px,#00000010 3px 4px);box-shadow:inset 0 0 20px #08061170;border-top:1px solid #f0e4ff15}
.arcade-home .arcade-category-art>img,.arcade-home .arcade-drawing{transition:transform .3s ease-out,filter .3s;transform:scale(1.02)}.arcade-home .arcade-category:hover .arcade-category-art>img,.arcade-home .arcade-category:hover .arcade-drawing,.arcade-home .arcade-category:focus-visible .arcade-category-art>img,.arcade-home .arcade-category:focus-visible .arcade-drawing{transform:scale(1.1);filter:saturate(1.12)}
.arcade-home .arcade-category.game-casino .arcade-category-art>img{object-position:50% 28%;filter:saturate(1.04)}
.arcade-home .arcade-paper-card{width:67px;height:88px;top:12px;padding:9px 7px;font-size:10px;border-radius:0}.arcade-home .arcade-paper-card b{font-size:35px;margin-top:6px}.arcade-home .arcade-paper-card.card-dark{left:calc(50% - 57px)}.arcade-home .arcade-paper-card.card-light{left:calc(50% - 2px)}
.arcade-home .arcade-casino-chip{width:36px;height:36px;right:9px;bottom:8px;font-size:20px;border-width:3px}
.arcade-station-console{position:relative;display:flex;gap:5px;align-items:center;flex:0 0 17px;padding:0 8px;border-bottom:1px solid #0009;background:linear-gradient(#54435a,#2b2232 45%,#17111e);box-shadow:inset 0 1px #ffffff18}.arcade-station-console i{display:block;width:5px;height:5px;background:var(--station);box-shadow:0 0 6px rgba(var(--station-rgb),.5);transform:skewX(-12deg)}.arcade-station-console i:nth-child(2){opacity:.65}.arcade-station-console i:nth-child(3){opacity:.35}.arcade-station-console b{width:25px;height:3px;background:#09060d;margin-left:auto;box-shadow:0 1px #92829c4a}
.arcade-home .arcade-category-caption{flex:0 0 64px;margin:0 -10px;padding:8px 13px 11px;border-top:0;background:linear-gradient(#21172bd9,#130e1e);box-shadow:inset 0 -3px #08051090}.arcade-home .arcade-category-caption h3{font-size:24px}.arcade-home .arcade-category-caption>span{font-size:12px;color:#cfc3d9}.arcade-home .arcade-category-caption>i{top:13px;right:13px;color:var(--station)}
.arcade-home .arcade-shelf{padding:22px 0 0;margin-bottom:30px}.arcade-home .arcade-shelf>.arcade-section-heading{margin-bottom:14px}.arcade-home .arcade-join-dock{margin-bottom:42px}
@keyframes station-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(min-width:1800px){.arcade-home .arcade-launch{margin-top:36px;margin-bottom:44px;padding:26px 44px 36px}.arcade-home .arcade-launch .arcade-category-grid{gap:50px}}
@media(max-width:600px){.arcade-home .arcade-launch{padding:18px 8px 26px;margin:14px auto 30px}.arcade-home .arcade-launch .arcade-section-heading{margin-bottom:24px}.arcade-home .arcade-launch .arcade-category-grid{gap:25px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.arcade-home .arcade-launch .arcade-category:last-child{grid-column:1/-1;justify-self:center;width:calc((100% - 20px)/2)}.arcade-home .arcade-category{padding:7px 7px 0}.arcade-home .arcade-category-art{border-width:2px}.arcade-home .arcade-category-caption{flex-basis:52px;padding:7px 8px 8px;margin-inline:-7px}.arcade-home .arcade-launch .arcade-category-caption h3{font-size:19px}.arcade-home .arcade-launch .arcade-category-caption>span{font-size:10px}.arcade-home .arcade-launch .arcade-category-caption>i{right:7px;top:9px;font-size:19px}.arcade-station-console{flex-basis:13px}.arcade-home .arcade-paper-card{width:46px;height:59px;top:5px;font-size:7px;padding:6px 5px}.arcade-home .arcade-paper-card b{font-size:22px;margin-top:4px}.arcade-home .arcade-paper-card.card-dark{left:calc(50% - 39px)}.arcade-home .arcade-paper-card.card-light{left:calc(50% - 1px)}.arcade-home .arcade-casino-chip{width:26px;height:26px;font-size:13px;bottom:5px;right:6px;border-width:2px}.arcade-home .arcade-shelf{padding-top:5px}}
@media(prefers-reduced-motion:reduce){.arcade-home .arcade-category{animation:none;transform:none!important}.arcade-home .arcade-category::before,.arcade-home .arcade-category-art>img,.arcade-home .arcade-drawing{transition:none}.arcade-home .arcade-category:hover .arcade-category-art>img,.arcade-home .arcade-category:hover .arcade-drawing{transform:none}}

/* One shared page edge aligns navigation, headings and public content. */
body.arcade-site{--public-content-width:1424px;--public-gutter:32px}body.arcade-site>.public-main{width:100%;max-width:calc(var(--public-content-width) + 2 * var(--public-gutter));padding-inline:var(--public-gutter);margin-inline:auto}body.arcade-site>.site-header{padding-inline:max(var(--public-gutter),calc((100vw - var(--public-content-width))/2));gap:22px}
body.arcade-site .article-page,body.arcade-site .ranking-page-heading{margin-left:0;margin-right:0}body.arcade-site .support-layout{max-width:1260px}body.arcade-site .site-header .site-nav{margin-left:0;gap:24px}body.arcade-site .site-header .player-chip{margin-left:0;flex-shrink:0}
.header-room-form{position:relative;display:flex;gap:0;align-items:center;margin-left:auto;flex:0 0 auto}.header-room-label{font-size:12px;color:#c7bad9;margin-right:10px;white-space:nowrap}.header-room-code{width:95px;height:44px;min-width:0;padding:10px 11px;border:1px solid #baa1d65c;border-right:0;background:#17102170;color:#f3eaff;border-radius:0;letter-spacing:2px;text-transform:uppercase;font:600 15px/1.2 system-ui}.header-room-submit{height:44px;padding:10px 13px;border:1px solid #c5a9e879;background:#bca2eb22;color:#ead9ff;font:600 14px/1.2 system-ui;border-radius:0;cursor:pointer}.header-room-submit:hover{background:#bca2eb40}.header-join-details{position:absolute;right:0;top:calc(100% + 12px);z-index:120;width:290px;padding:20px;background:#241a31;border:1px solid #9279a8;box-shadow:0 12px 32px #0008}.header-join-details label{display:block;font-size:15px;font-weight:600;margin-bottom:9px}.header-join-details input{width:100%;height:46px;padding:10px 12px;font:16px system-ui;color:#f1e6fc;border:1px solid #846c9b;background:#150e20;border-radius:0}.header-join-details button{width:100%;min-height:44px;margin-top:12px;font:600 15px system-ui;border:1px solid #cbb2ee;background:#c0a4ee;color:#241232;cursor:pointer;border-radius:0}
body.arcade-home>.site-header{background:transparent;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none;transition:background .2s,border-color .2s,box-shadow .2s}body.arcade-home>.site-header.is-scrolled{background:#171222eb;border-bottom-color:#a68fb52e;backdrop-filter:blur(16px);box-shadow:0 6px 24px #08071035}
.arcade-home .arcade-launch{max-width:1000px;padding-top:26px;margin-bottom:46px}.arcade-home-intro{font-size:18px;line-height:1.6;margin:15px 0 0;color:#d5c6e2}.arcade-home .arcade-launch .arcade-section-heading{margin-bottom:36px}.arcade-reel-art{position:relative;aspect-ratio:1;background:#201529;border:1px solid #b799d653;overflow:hidden;box-shadow:0 10px 20px #0007}.arcade-reel-art>img{width:100%;height:100%;object-fit:cover}.arcade-reel-symbol{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(ellipse at 50% 30%,#695089,#202438)}.arcade-reel-symbol svg{width:45%;height:45%;color:#f0d597}.arcade-reel-title{position:absolute;bottom:0;left:0;right:0;font-size:13px;font-weight:700;padding:22px 10px 10px;line-height:1.3;background:linear-gradient(transparent,#130d21);color:#f1e7fa}

@media(min-width:1800px){.arcade-reel-title{font-size:16px}.arcade-home-intro{font-size:20px}}
@media(max-width:1100px){body.arcade-site{--public-gutter:24px}.header-room-label{display:none}body.arcade-site .site-header{gap:16px;flex-wrap:wrap}.header-room-form{order:3;margin-left:auto}}
@media(max-width:760px){body.arcade-site .site-header{flex-wrap:wrap}.header-room-form{order:3;margin-left:0}body.arcade-site .site-header .site-nav{order:4;width:auto;flex:1;justify-content:flex-end;gap:16px}body.arcade-site .site-header .player-chip{margin-left:auto}.header-room-code{width:85px}.header-room-submit{padding-inline:10px}.header-room-submit span{display:none}.header-join-details{right:auto;left:0;width:280px}}
@media(max-width:600px){body.arcade-site{--public-gutter:18px}body.arcade-site>.site-header{padding:12px var(--public-gutter)}body.arcade-site .site-header .site-nav{width:100%;flex-basis:100%;justify-content:space-between;order:3;gap:14px}.header-room-form{order:4;width:100%}.header-room-code{flex:1;width:auto}.header-room-label{display:block;font-size:13px}.header-room-submit{padding-inline:16px}.header-join-details{width:min(290px,100%);left:auto;right:0}.arcade-home .arcade-launch{padding-top:14px;margin-top:12px}.arcade-home-intro{font-size:16px;max-width:300px;margin:12px auto 0}.arcade-home .arcade-launch .arcade-section-heading{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){body.arcade-home>.site-header{transition:none}}

.arcade-home .arcade-category::after{animation:station-light 3.8s ease-in-out infinite alternate}.arcade-home .arcade-category.game-cah::after{animation-delay:-1.2s}.arcade-home .arcade-category.game-casino::after{animation-delay:-2.4s} .arcade-motion-paused .arcade-category::after{animation-play-state:paused}
@keyframes station-light{from{opacity:.6}to{opacity:1}}

@media(prefers-reduced-motion:reduce){.arcade-home .arcade-category::after{animation:none}}
body.arcade-site>.site-footer{width:100%;max-width:calc(var(--public-content-width) + 2 * var(--public-gutter));margin-inline:auto;padding-inline:var(--public-gutter)}

/* One decorative, continuous reel of games; it never captures clicks or scrolling. */
.arcade-film{max-width:1360px;margin:0 auto 48px;min-width:0}.arcade-film-heading{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;min-height:40px;margin:0 0 18px}.arcade-film-heading h2{margin:0;font-size:25px;letter-spacing:-.025em;line-height:1.3}.arcade-film-window{width:100%;overflow:clip;pointer-events:none;user-select:none;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.arcade-film-track{display:flex;width:max-content;animation:arcade-film-drift 72s linear infinite;will-change:transform}.arcade-film-set{display:flex;gap:16px;padding-right:16px;flex:0 0 auto}.arcade-film .arcade-reel-art{width:176px;flex:0 0 176px;box-shadow:none}.arcade-film .arcade-reel-title{padding:30px 12px 13px;font-size:16px;min-height:62px;display:flex;align-items:flex-end}.arcade-motion-paused .arcade-film-track{animation-play-state:paused}
@keyframes arcade-film-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(min-width:1800px){.arcade-film .arcade-reel-art{width:208px;flex-basis:208px}.arcade-film-heading h2{font-size:30px}.arcade-film .arcade-reel-title{font-size:18px}}
@media(max-width:600px){.arcade-film{margin-bottom:34px}.arcade-film-heading{justify-content:space-between;min-height:36px}.arcade-film-heading h2{font-size:23px}.arcade-film-set{gap:12px;padding-right:12px}.arcade-film .arcade-reel-art{width:150px;flex-basis:150px}.arcade-film .arcade-reel-title{font-size:14px;min-height:54px;padding:25px 10px 10px}}
@media(prefers-reduced-motion:reduce){.arcade-film-track{animation:none;will-change:auto}}
