:root{color-scheme:dark;font-family:Arial,sans-serif;color:#f1eedc;background:#101512;--accent:#f8c85b}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 60% 0,#263022 0,transparent 60%)}
[hidden]{display:none!important}
a{color:inherit;-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.picker{max-width:1120px;margin:auto;padding:24px max(24px,env(safe-area-inset-right)) 32px max(24px,env(safe-area-inset-left))}
.collection-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #394235;padding-bottom:22px;gap:16px}
.collection-name{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:19px;font-weight:900;letter-spacing:.1em}
.collection-name span{color:var(--accent);margin-left:12px}
.game-count{font:12px monospace;color:#abb59c}
.introduction{margin:56px 0 32px}
.eyebrow{font:11px monospace;letter-spacing:.17em;color:var(--accent);margin:0 0 14px}
.introduction h1{font-size:clamp(40px,6vw,66px);letter-spacing:-.055em;line-height:1;margin:0 0 16px}
.introduction>p:last-child{color:#aeb9a1;font-size:17px;line-height:1.5;margin:0}
.game-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px}
.game-card{display:grid;grid-template-columns:1.12fr 1fr;overflow:hidden;background:#1a2219;border:1px solid #49543c;border-radius:12px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.game-card:hover{border-color:var(--accent);box-shadow:0 12px 40px #0005}
.game-card img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;object-position:left center;border-right:1px solid #49543c;background:#181e1a}
.card-content{padding:32px;display:flex;flex-direction:column;align-items:flex-start}
.card-content h2{font-size:clamp(28px,3vw,38px);font-weight:900;letter-spacing:-.045em;line-height:1.05;margin:0 0 12px}
.tagline{font-size:17px;color:var(--accent);margin:0 0 14px;font-weight:700}
.description{color:#b7c1a8;font-size:16px;line-height:1.65;margin:0 0 24px;max-width:35ch}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 28px;padding:0;list-style:none}
.tags li{font:11px monospace;color:#d0d8c1;background:#293322;border:1px solid #48533a;padding:7px 9px;border-radius:4px}
.play-button{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:48px;padding:13px 18px;border-radius:5px;background:var(--accent);color:#20241b;font-size:15px;font-weight:800;margin-top:auto;min-width:168px}
.play-button span{font-size:20px;line-height:1}
.route-message{border-left:3px solid var(--accent);padding:12px 16px;margin:0 0 24px;line-height:1.5;background:#293322}
.picker footer{margin-top:32px;font-size:12px;color:#95a286;line-height:1.5}
.in-game{height:100dvh;overflow:hidden;background:#101512}
.player{height:100dvh;display:flex;flex-direction:column}
.player-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;min-height:48px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));padding-top:env(safe-area-inset-top);background:#20271d;border-bottom:1px solid #465139}
.player-toolbar a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;text-decoration:none;font-size:14px;font-weight:700;border-radius:4px}
.player-toolbar a:hover{color:var(--accent);background:#303a29}
.player-toolbar h1{font-size:14px;letter-spacing:-.02em;margin:0;color:#d3dcc3}
.playing-label{font:10px monospace;letter-spacing:.12em;color:#99a486}
.game-mount{flex:1;min-height:0}
.game-mount iframe{display:block;width:100%;height:100%;border:0;background:#101512}
@media(max-width:700px){.picker{padding-top:max(12px,env(safe-area-inset-top))}.collection-header{padding-bottom:12px}.introduction{margin-top:36px}.game-card{grid-template-columns:1fr}.game-card img{height:auto;min-height:0;max-height:260px;aspect-ratio:1.4;object-position:center;border-right:0;border-bottom:1px solid #49543c}.card-content{padding:24px}.description{max-width:none}.play-button{width:100%}.playing-label{display:none}.player-toolbar{gap:8px}.player-toolbar h1{font-size:13px}}
@media(prefers-reduced-motion:reduce){.game-card{transition:none}}
