/* English1to5 games section: cover + Play button, the full-screen stage, install box. */
.game-launch { position: relative; margin: var(--s5) 0 var(--s3); border: 2px solid var(--ink); border-radius: var(--radius); overflow: hidden; background: var(--panel); box-shadow: 6px 6px 0 var(--rule-soft); aspect-ratio: 16 / 10; }
.game-launch.portrait { max-width: 24rem; margin-left: auto; margin-right: auto; aspect-ratio: 3 / 4; }
.game-launch img { display: block; width: 100%; height: 100%; object-fit: cover; }
.game-launch .game-play { position: absolute; left: 50%; bottom: 7%; transform: translateX(-50%); z-index: 1; text-decoration: none; font-size: 1.5rem; padding: .8rem 2.2rem; border-radius: 999px; box-shadow: 4px 4px 0 var(--ink); background: var(--highlight); color: var(--ink); border: 2px solid var(--ink); font-weight: 700; cursor: pointer; }
.game-launch .game-play:hover { transform: translate(-50%, -3px); }
.game-launch .game-play:focus-visible { outline: 3px solid #1D4ED8; outline-offset: 3px; }
.game-launch::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 55%, rgba(28,43,74,.18)); pointer-events: none; }
.g-stage { position: fixed; inset: 0; z-index: 9999; background: #FBFCFE; display: flex; }
.g-stage iframe { flex: 1; width: 100%; height: 100vh; height: 100dvh; border: 0; display: block; }
.g-stage-close { position: absolute; right: max(10px, env(safe-area-inset-right)); top: max(8px, env(safe-area-inset-top)); z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--ink); background: #fff; font-size: 1.6rem; line-height: 1; box-shadow: 2px 2px 0 var(--ink); cursor: pointer; }
html.g-stage-open, html.g-stage-open body { overflow: hidden; }
.g-install { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; border: 2px dashed var(--ink); border-radius: var(--radius); padding: .8rem 1rem; margin: var(--s4) 0; background: #fff; }
.g-install[hidden] { display: none; }
.g-install p { margin: 0; flex: 1 1 16rem; }
.g-install .ios-steps { flex-basis: 100%; }
.game-card .play-now { font-weight: 700; }
.game-card { overflow: hidden; }
.game-card img { display: block; width: calc(100% + 2 * var(--s5)); max-width: none; height: auto; aspect-ratio: 16 / 10; object-fit: cover; margin: calc(-1 * var(--s4)) calc(-1 * var(--s5)) var(--s3); border-bottom: 2px solid var(--rule-soft); }
.g-filter { display: flex; flex-direction: column; gap: var(--s2); margin: 0 0 var(--s4); }
.g-frow { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.g-frow span { font-weight: 700; margin-right: 4px; }
.g-frow button { font: inherit; font-size: var(--fs-small); font-weight: 600; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--rule-soft); background: var(--panel); color: var(--ink); cursor: pointer; }
.g-frow button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.g-frow button:focus-visible { outline: 3px solid #1D4ED8; outline-offset: 2px; }
.g-count { margin: 0; font-size: var(--fs-small); color: var(--ink-soft); }
[data-gfilter-list] li[hidden] { display: none; }
.g-browse li{padding:0}
.g-browse a,.g-browse span{display:block;padding:.3rem .8rem;color:inherit;text-decoration:none;border-radius:inherit}
.g-browse a:hover,.g-browse a:focus-visible{background:#1e2a4a;color:#fff}
.g-browse span[aria-current]{background:#1e2a4a;color:#fff}
