.app{grid-template-columns:172px minmax(0,1fr);grid-template-rows:76px 1fr}
.header{padding:14px 26px}
.brand img{width:220px}
.header-status{font-size:13px;gap:12px}
.header-status small{font-size:11px}
.profile-gem{display:none}
.header-points>b{font-size:20px}
.rail-main{gap:28px;padding-top:30px}
.nav-item{font-size:17px;padding-inline:25px}
.nav-item span{font-size:10px;margin-bottom:3px}
.nav-item.selected:after{left:25px;bottom:-7px;width:25px;height:2px}
.rail-games{border-top:1px solid var(--line);margin:0 16px;padding-top:22px}
.rail-games>span{display:block;color:var(--muted);font-size:8px;letter-spacing:.12em;margin:0 9px 10px}
.rail-game{display:flex;align-items:center;gap:7px;width:100%;text-align:left;border:0;background:transparent;font-size:11px;padding:10px 7px;border-radius:4px;color:var(--muted)}
.rail-game-gem{font-size:19px;color:var(--blue)}
.rail-game:hover,.rail-game.selected{background:#e2eafa;color:var(--blue)}
.arcade-library{display:flex;flex-direction:column;min-height:calc(100svh - 76px);padding:28px 34px 20px;max-width:1820px;margin:auto}
.library-title-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:23px}
.library-title-row .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:8px}
.library-title-row h1{font-size:34px;letter-spacing:-.025em}
.library-intro{font-size:12px;color:var(--muted);margin-top:8px}
.library-player{text-align:right;font-size:8px;letter-spacing:.13em;color:var(--muted);max-width:180px;overflow-wrap:anywhere}
.library-player span{display:block;font-size:14px;letter-spacing:0;font-weight:600;color:var(--ink);margin-top:6px}
.library-status{border:1px solid var(--line);border-radius:6px;background:#fff;margin-bottom:28px}
.miner-banner{display:flex;align-items:center;gap:11px;padding:13px 17px}
.miner-signal{width:8px;height:8px;background:#a3b4c6;border-radius:50%;flex:none}
.miner-banner[data-status=active] .miner-signal{background:#238363;box-shadow:0 0 0 4px #23836312}
.miner-banner[data-status=locked] .miner-signal,.miner-banner[data-status=disconnected] .miner-signal{background:#a97923;box-shadow:0 0 0 4px #a9792312}
.miner-banner-copy{flex:1;min-width:0}
.miner-banner-copy b{font-size:12px;font-weight:600}
.miner-banner-copy p{font-size:10px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.miner-banner .text-button{font-size:11px;color:var(--blue);white-space:nowrap;padding:7px 0 7px 12px}
.library-round{border-top:1px solid #dbe5ef;background:#f8faff;display:flex;gap:30px;padding:11px 17px;align-items:center;border-radius:0 0 6px 6px}
.library-round>div{display:flex;align-items:baseline;gap:9px;min-width:0}
.library-round>div>span{font-size:10px;color:var(--muted)}
.library-round b{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.library-round #lobby-points{color:var(--blue);font-size:15px}
.library-round .text-button{font-size:11px;margin-left:auto;white-space:nowrap;padding:7px 0}
.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.library-section{display:flex;align-items:center;gap:12px}
.library-section h2{font-size:11px;font-weight:650;letter-spacing:.1em}
.library-section>span{font-size:10px;color:var(--muted);background:#e6edf5;padding:3px 7px;border-radius:3px}
.library-search input{width:220px;height:34px;padding:7px 11px;background:#ffffff9c;border:1px solid var(--line);font-size:11px;border-radius:4px}
.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,210px));gap:24px;align-items:start;margin-bottom:38px}
.library-game{min-width:0}
.game-tile{display:block;width:100%;border:0;background:none;padding:0;text-align:left;color:var(--ink);border-radius:6px}
.tile-cover{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:#152b51;box-shadow:0 3px 9px #21395018;transition:transform .15s,box-shadow .15s}
.tile-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b204712 0%,#071b3500 35%,#071b35c4 75%,#0d2449 100%);pointer-events:none}
.tile-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:72% center}
.tile-tag{position:absolute;top:12px;left:12px;z-index:1;font-size:7px;font-weight:600;letter-spacing:.1em;border:1px solid #d4e4ff73;background:#142e54c7;color:#fff;padding:4px 6px;border-radius:3px}
.tile-wordmark{position:absolute;left:17px;right:10px;bottom:24px;z-index:1;color:#fff;font:650 27px/1.02 Floe,sans-serif;letter-spacing:-.025em;text-shadow:0 2px 10px #071b3544}
.tile-open{position:absolute;z-index:2;right:12px;top:12px;background:#fff;color:#18365c;font-size:9px;padding:4px 7px;border-radius:3px;opacity:0;transition:opacity .15s}
.game-tile:hover .tile-cover,.game-tile:focus-visible .tile-cover{transform:translateY(-3px);box-shadow:0 7px 18px #21395028}
.game-tile:hover .tile-open,.game-tile:focus-visible .tile-open{opacity:1}
.tile-name{display:block;font-size:13px;font-weight:650;margin-top:11px}
.tile-meta{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted);margin-top:5px}
.tile-dot{width:5px;height:5px;border-radius:50%;background:#7a91ac;flex:none}
.game-tile[data-status=active] .tile-dot{background:#238363}
.game-tile[data-status=locked] .tile-dot{background:#a97923}
.next-game-cover{aspect-ratio:3/4;border:1px dashed #b8c9dc;border-radius:6px;background:linear-gradient(135deg,#e9f0f8,#f3f7fb);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#607b99}
.next-game-icon{font-size:38px;font-weight:300;line-height:1.1;margin-bottom:17px}
.next-game-cover h3{font:650 21px/1.1 Floe,sans-serif;letter-spacing:.04em;margin:0 0 9px;color:#607b99}
.next-game-cover p{font-size:12px;line-height:1.7}
.next-game-tile>p{font-size:11px;color:var(--muted);margin-top:12px}
.games-empty{padding:50px 20px;border:1px dashed var(--line);border-radius:6px;text-align:center;margin-bottom:30px}
.games-empty h2{font-size:18px}
.games-empty p{font-size:12px;color:var(--muted);margin:10px 0 18px}
.games-empty .btn{font-size:12px}
.library-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:auto;padding-top:16px;color:var(--muted);font-size:10px}
.game-detail{max-width:1200px;margin:auto;padding:26px 34px 30px}
.detail-navigation{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.detail-navigation .text-button{font-size:12px;color:var(--blue);padding:6px 0}
.detail-navigation>span{font-size:9px;color:var(--muted);letter-spacing:.11em}
.game-card{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr);border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.game-cover{position:relative;background:#e3edf8;min-height:400px;overflow:hidden}
.game-cover img{display:block;width:100%;height:100%;position:absolute;object-fit:cover;object-position:72% center}
.game-live{position:absolute;top:18px;left:18px;font-size:8px;font-weight:600;letter-spacing:.1em;background:#f8fbffed;border:1px solid #b4c7e0;padding:5px 8px;border-radius:3px}
.game-category{position:absolute;bottom:18px;left:18px;font-size:9px;font-weight:600;letter-spacing:.1em;background:#f8fbffed;padding:5px 7px;border-radius:3px}
.game-card-body{padding:28px}
.game-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.game-title-row h2{font:650 clamp(24px,2.5vw,36px)/1.1 Floe,sans-serif;letter-spacing:-.035em}
.game-title-row p{font-size:12px;color:var(--blue);margin-top:7px}
.game-number{display:none}
.game-description{font-size:12px;line-height:1.7;color:var(--muted);margin-top:17px}
.game-live-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin:23px 0 16px}
.game-live-row .occupancy{margin:0;font-size:11px;gap:12px}
.game-live-row .occupancy b{font-size:12px}
.game-device{font-size:10px;color:var(--muted)}
.game-card .play-button{font-size:21px;padding:17px 25px;min-height:58px}
.game-card .hint{max-width:none;font-size:11px;min-height:18px;margin-top:12px}
.detail-round{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;padding:20px 0;font-size:11px}
.detail-round>span{white-space:nowrap}
.detail-round p{color:var(--muted);flex:1}
.detail-round .text-button{font-size:11px;color:var(--blue)}
.join-lobby #welcome-title{font-size:clamp(42px,5vw,82px)}
@media(prefers-reduced-motion:reduce){.tile-cover,.tile-open{transition:none}
.game-tile:hover .tile-cover,.game-tile:focus-visible .tile-cover{transform:none}
}
@media(max-width:1050px){.app{grid-template-columns:146px minmax(0,1fr)}
.arcade-library,.game-detail{padding-inline:25px}
.rail-games{margin-inline:10px}
.rail-game{font-size:10px;gap:5px}
.library-round{gap:20px}
.game-grid{grid-template-columns:repeat(auto-fill,minmax(155px,190px));gap:20px}
.tile-wordmark{font-size:25px;left:14px}
.game-card{grid-template-columns:minmax(170px,.55fr) minmax(0,1fr)}
.game-card-body{padding:23px}
.header-status small{max-width:240px}
}
@media(max-width:800px){.app{grid-template-columns:1fr;grid-template-rows:70px auto 1fr}
.header{padding:12px 18px}
.brand img{width:185px}
.rail{border-right:0;flex-direction:row;border-bottom:1px solid var(--line);align-items:center}
.rail-main{flex-direction:row;gap:26px;padding:16px 18px}
.nav-item{padding:0;font-size:14px}
.nav-item span{display:none}
.nav-item.selected:after{left:0;bottom:-5px}
.settings-nav{margin:0 18px 0 0;font-size:11px;padding:0}
.settings-nav span{display:none}
.rail-games{display:none}
.arcade-library{min-height:calc(100svh - 126px);padding:24px}
.library-round{gap:22px;flex-wrap:wrap}
.library-round>div{gap:7px}
.game-grid{grid-template-columns:repeat(auto-fill,minmax(150px,190px));gap:20px}
.game-detail{padding:20px 24px}
.game-card{grid-template-columns:1fr}
.game-cover{min-height:180px;max-height:180px}
.game-cover img{object-position:50% 75%}
.header-points{min-width:75px;padding-left:15px}
.header-points>b{font-size:18px}
.library-title-row h1{font-size:30px}
}
@media(max-width:540px){.header-status{font-size:10px;gap:7px}
.header-status small{font-size:9px;max-width:130px}
.header-points{display:none}
.status-check{width:20px;height:20px;font-size:12px}
.brand img{width:155px}
.header{gap:10px;padding-inline:16px}
.arcade-library{padding:22px 17px 18px}
.library-title-row{margin-bottom:20px}
.library-title-row h1{font-size:27px}
.library-title-row .eyebrow{font-size:8px}
.library-intro{font-size:11px}
.library-player{max-width:75px;font-size:7px}
.library-player span{font-size:12px}
.miner-banner{padding:12px;gap:9px;flex-wrap:wrap}
.miner-banner-copy{flex-basis:calc(100% - 17px)}
.miner-banner-copy b{font-size:11px}
.miner-banner-copy p{font-size:9px}
.miner-banner .text-button{margin-left:17px;padding:0;font-size:10px}
.library-round{padding:12px;gap:12px 24px}
.library-round>div{flex-direction:column;gap:3px}
.library-round>div>span{font-size:9px}
.library-round .text-button{font-size:10px;margin-left:0;padding:3px 0}
.library-status{margin-bottom:23px}
.library-toolbar{gap:12px;flex-wrap:wrap;margin-bottom:17px}
.library-section{gap:8px}
.library-section h2{font-size:10px}
.library-search{width:100%}
.library-search input{width:100%;font-size:11px}
.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:30px}
.tile-tag{top:9px;left:9px;font-size:6px;padding:3px 5px}
.tile-wordmark{font-size:clamp(19px,5.5vw,26px);left:12px;bottom:18px}
.tile-name{font-size:12px}
.tile-meta{font-size:9px}
.tile-open{display:none}
.next-game-icon{font-size:30px;margin-bottom:13px}
.next-game-cover h3{font-size:18px}
.next-game-cover p{font-size:10px}
.next-game-tile>p{font-size:10px}
.library-footer{flex-direction:column;font-size:9px;gap:5px}
.game-detail{padding:18px 17px}
.detail-navigation{gap:15px}
.detail-navigation>span{font-size:7px}
.game-card-body{padding:20px 18px}
.game-title-row h2{font-size:28px}
.game-cover{min-height:160px;max-height:160px}
.detail-round{gap:10px}
.detail-round p{flex-basis:100%;order:3}
.detail-round .text-button{margin-left:auto}
.join-lobby #welcome-title{font-size:clamp(38px,10vw,58px)}
}
@media(max-width:360px){.brand img{width:130px}
.header-status small{max-width:108px}
.library-title-row h1{font-size:24px}
.library-player{max-width:65px}
.library-title-row{gap:12px}
}
@media(max-width:800px){.app{grid-template-columns:minmax(0,1fr)}
.rail{padding:0}
}
@media(min-width:801px){.rail-games{max-height:calc(100svh - 360px);overflow-y:auto;scrollbar-width:thin}
.rail-game{padding-block:7px}
.rail-games{padding-top:16px}
}
.tile-wordmark{text-transform:uppercase}
body{overflow:hidden}
.app{height:100dvh;min-height:0;grid-template-rows:auto minmax(0,1fr)}
.app>.content{height:auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#99afc6 #e8eff6}
.content>#game{height:auto;min-height:100%}
.content>.lobby{height:auto;min-height:100%}
.content .page-view{height:auto;min-height:100%;overflow:visible}
.content:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
body.arcade-open .content{overflow:hidden}
.header{min-height:76px;gap:22px}
.header-tools{display:flex;align-items:center;gap:24px;min-width:0}
.header-status{border:0;background:transparent;padding:6px 0;text-align:left;min-width:0;color:var(--ink)}
.header-status:hover b{color:var(--blue)}
.header-mining-copy{min-width:0}
.header-status small{max-width:240px}
.header-status[data-status=active] .status-check{background:#238363}
.header-status[data-status=locked] .status-check,.header-status[data-status=delayed] .status-check,.header-status[data-status=disconnected] .status-check{background:#a97923}
.header-round{display:flex;align-items:center;gap:22px;padding:4px 0 4px 24px;border:0;border-left:1px solid var(--line);background:transparent;text-align:right;color:var(--ink)}
.header-round>span{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.header-round b{font-size:16px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}
.header-round small{font-size:10px;color:var(--muted);white-space:nowrap}
.header-round .header-points{border:0;padding:0;min-width:65px}
.header-round .header-points>b{font:650 22px/1.2 Floe,sans-serif;color:var(--blue)}
.header-round .header-elapsed b{font-size:14px;min-width:68px}
.header-round:hover b{color:var(--blue)}
.library-title-row{margin-bottom:30px}
.library-toolbar{gap:18px;align-items:center;margin-bottom:0;border-bottom:1px solid var(--line);padding-bottom:0;flex-wrap:wrap}
.library-filters{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.library-filter{position:relative;border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:12px 0 14px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.library-filter:hover{color:var(--blue)}
.library-filter[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue)}
.library-search{margin-left:auto;padding-bottom:10px}
.library-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 20px;font-size:10px;color:var(--muted)}
.library-filter-summary #game-count{font-weight:600;white-space:nowrap}
.library-filter-summary #game-filter-description{text-align:right}
.arcade-library{padding-top:30px}
@media(max-width:1150px){.brand img{width:185px}
.header-tools{gap:18px}
.header-round{gap:16px;padding-left:18px}
.header-status small{max-width:200px}
.library-filters{gap:18px}
.library-search input{width:180px}
}
@media(max-width:800px){.app{grid-template-rows:auto auto minmax(0,1fr)}
.header{display:grid;grid-template-columns:1fr auto;gap:10px 18px;padding:14px 18px;min-height:0}
.header-tools{display:contents}
.header-status{justify-self:end;font-size:11px;gap:9px}
.header-status small{font-size:10px;max-width:210px}
.header-round{grid-column:1/-1;justify-content:space-between;gap:24px;padding:12px 0 0;border-left:0;border-top:1px solid #d6e1ec}
.header-round>span{align-items:flex-start;text-align:left}
.header-round>span:last-child{align-items:flex-end}
.header-round .header-points{display:flex;min-width:0}
.header-round .header-points>b{font-size:18px}
.header-round b{font-size:15px}
.header-round small{font-size:9px}
.rail-main{gap:26px;padding-block:14px}
.arcade-library{min-height:calc(100dvh - 204px)}
.library-title-row{margin-bottom:22px}
.library-toolbar{gap:0;align-items:flex-start}
.library-filters{gap:22px}
.library-search{flex-basis:100%;order:-1;padding-bottom:8px;margin:0}
.library-search input{width:100%;height:38px;font-size:12px}
.library-filter{font-size:11px;padding-block:12px}
}
@media(max-width:540px){.header{padding:11px 17px;gap:10px}
.header .brand img{width:145px}
.header-status{gap:7px;font-size:10px}
.header-status small{font-size:9px;max-width:155px}
.header-round{gap:14px;padding-top:10px}
.library-filters{gap:18px;width:100%;justify-content:space-between}
.library-filter{font-size:10px}
.library-filter-summary{font-size:9px;gap:12px;align-items:flex-start;margin:13px 0 18px}
.library-filter-summary #game-filter-description{max-width:210px}
}
@media(max-width:360px){.header .brand img{width:126px}
.header-status small{max-width:130px}
.library-filters{gap:10px}
.library-filter{font-size:9px}
}
.content::-webkit-scrollbar{width:10px}
.content::-webkit-scrollbar-track{background:#e8eff6}
.content::-webkit-scrollbar-thumb{background:#99afc6;border:2px solid #e8eff6;border-radius:6px}
.content::-webkit-scrollbar-thumb:hover{background:#718ca8}
