/* Consistent outline icons, independent of emoji fonts. */
.icon{width:19px;height:19px;display:inline-block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.play-button .icon{width:16px;height:16px;fill:none}
.play-button .play-label{font-size:12px;margin-left:0;font-weight:700}
.nav-button .icon{width:18px;height:18px}
.game-card{display:flex;flex-direction:column}
.card-body{display:flex;flex-direction:column;flex:1}
.card-features{margin-bottom:auto;padding-bottom:18px}
.game-card .favorite-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;height:auto;margin:0 0 10px;padding:11px 12px;border:1px solid #9276c8;background:#b69af416;color:var(--violet);border-radius:7px;font-size:12px;line-height:1.2;flex-shrink:0;touch-action:manipulation}
.favorite-button .favorite-label{font-size:12px;font-weight:600}
.favorite-button .icon{width:22px;height:22px;stroke-width:1.8}
.game-card .favorite-button:hover{background:#b69af42a;border-color:var(--violet)}
.game-card .favorite-button[aria-pressed=true]{background:var(--violet);border-color:var(--violet);color:var(--button-ink)}
.favorite-button[aria-pressed=true] .icon{fill:currentColor;fill-opacity:1}
.note-symbol{width:30px;height:30px;box-sizing:content-box;padding:0 5px}
.recent-icon{width:25px;height:25px}
.player-bar button{display:flex;align-items:center;gap:8px}
.dialog-close{display:grid;place-items:center}
.player-bar{padding-top:env(safe-area-inset-top);height:calc(57px + env(safe-area-inset-top))}
#frame-slot{height:calc(100% - 57px - env(safe-area-inset-top))}
.player-dialog{overscroll-behavior:none}
.hero[data-game=vaultbreak]{background:#122c35;border-color:#35535c}
.hero[data-game=vaultbreak] .hero-art{background:radial-gradient(ellipse at center,#66b99c26,transparent 70%)}
.hero[data-game=vaultbreak] .hero-art img{transform:none;width:100%;object-fit:cover;opacity:.9}
.hero[data-game=vaultbreak] .hero-tagline{color:#c6e7da}
.hero[data-game=vaultbreak] .hero-description,.hero[data-game=vaultbreak] .hero-note,.hero[data-game=vaultbreak] .hero-tag{color:#9abcb8}
.hero[data-game=vaultbreak] .play-button{background:#9de8cf;color:#12362c}
.game-card[data-game=vaultbreak] .card-art{background:#102734}
@media(min-width:1450px){.game-grid{grid-template-columns:repeat(2,1fr)}}
.hero[data-game=toads-adventure]{background:#193e3c;border-color:#66816c}
.hero[data-game=toads-adventure] h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(37px,4.6vw,62px);font-weight:400;letter-spacing:-2px;line-height:1.04;max-width:390px}
.hero[data-game=toads-adventure] .hero-art img{transform:none;object-fit:cover;width:100%;height:100%;opacity:.95}
.hero[data-game=toads-adventure] .hero-tagline{color:#f5d5a3}
.hero[data-game=toads-adventure] .hero-description,.hero[data-game=toads-adventure] .hero-note,.hero[data-game=toads-adventure] .hero-tag{color:#b0c9b8}
.hero[data-game=toads-adventure] .play-button{background:#f3cb8c;color:#263f35}
.game-card[data-game=toads-adventure] .card-art{background:#2b5753}
@media(max-width:560px){.hero[data-game=toads-adventure] h2{font-size:45px;max-width:250px}.hero[data-game=toads-adventure] .hero-art{right:-47px;top:102px}.filters{max-width:100%;flex-wrap:wrap}}
.hero[data-game=neon-clash]{background:#2f2d44;border-color:#7c626d}
.hero[data-game=neon-clash] h2{font-style:italic;font-weight:800;letter-spacing:-2.5px}
.hero[data-game=neon-clash] .hero-art img{transform:none;object-fit:cover;width:100%;height:100%;opacity:.95}
.hero[data-game=neon-clash] .hero-tagline{color:#f4c6a7}
.hero[data-game=neon-clash] .hero-description,.hero[data-game=neon-clash] .hero-note,.hero[data-game=neon-clash] .hero-tag{color:#c8b7c4}
.hero[data-game=neon-clash] .play-button{background:#f5b18f;color:#302436}
.game-card[data-game=neon-clash] .card-art{background:#2b3048}
.hero[data-game=rally]{background:#15343b;border-color:#45646a}
.hero[data-game=rally] .hero-art img{transform:rotate(-3deg);width:95%;height:90%;object-fit:contain;opacity:1}
.hero[data-game=rally] .hero-tagline{color:#b6ead7}
.hero[data-game=rally] .hero-description,.hero[data-game=rally] .hero-note,.hero[data-game=rally] .hero-tag{color:#aac7c8}
.hero[data-game=rally] .play-button{background:#9de8cf;color:#12362c}
.game-card[data-game=rally] .card-art{background:#102b34}

.player-dialog{padding:0}
.hero[data-game=coil-arena]{background:#172e37;border-color:#496276}
.hero[data-game=coil-arena] .hero-art img{transform:none;width:100%;object-fit:cover}
.hero[data-game=coil-arena] .hero-tagline{color:#b9e8d8}
.hero[data-game=coil-arena] .play-button{background:#9be6d1;color:#153d35}
.game-card[data-game=coil-arena] .card-art{background:#152333}
@media(pointer:coarse) and (max-width:1000px){.player-bar{height:calc(43px + env(safe-area-inset-top));padding-left:10px;padding-right:10px}.player-bar button{min-height:40px}#frame-slot{height:calc(100% - 43px - env(safe-area-inset-top))}}
