/* The basic arithmetic section's pages (built by tools/build_arithmetic_pages.py): the play card, the hub's game
   cards, the make-a-game box and the counting switch. Same tokens as /assets/css/wm-tools.css. */
.kids .tool-head p { max-width: 760px; }
.kids .play-hero { max-width: 880px; margin: 6px auto 0; padding: 0 24px; display: grid; grid-template-columns: 1.4fr 1fr; gap: 22px; align-items: center; }
.kids .play-shot { display: block; border-radius: 16px; overflow: hidden; border: 1px solid var(--wm-line); box-shadow: 0 10px 24px rgba(15, 23, 42, .12); }
.kids .play-shot img { display: block; width: 100%; height: auto; }
.kids .play-side { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.kids .play-kicker { margin: 0; font-size: .85rem; color: var(--wm-mute); }
.kids .play-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 24px; border-radius: 999px; border: 0; background: var(--wm-green); color: #fff; font: inherit; font-weight: 700; font-size: 1.05rem; text-decoration: none; box-shadow: 0 3px 0 #0f5f2d; cursor: pointer; }
.kids .play-btn:hover, .kids .play-btn:focus-visible { background: var(--wm-green-2); color: #fff; }
.kids .play-btn[aria-disabled="true"] { opacity: .45; pointer-events: none; box-shadow: none; }
.kids .play-note { margin: 0; font-size: .88rem; color: var(--wm-text); }
.kids a.play-link { font-weight: 700; color: var(--wm-green); }
.kids a.play-link::before { content: "\25B6\00A0"; font-size: .75em; }
@media (max-width: 720px) { .kids .play-hero { grid-template-columns: 1fr; } }

/* hub: the five games as picture cards */
.kids .game-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin: 18px 0 8px; }
.kids .game-card { display: block; border: 1px solid var(--wm-line); border-radius: 14px; overflow: hidden; background: #fff; color: inherit; text-decoration: none; transition: box-shadow var(--wm-fast) var(--wm-ease); }
.kids .game-card:hover { box-shadow: 0 8px 18px rgba(15, 23, 42, .1); }
.kids .game-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.kids .game-card .gc-name { display: block; padding: 10px 14px 2px; font-weight: 700; color: var(--wm-ink); }
.kids .game-card .gc-what { display: block; padding: 0 14px 12px; font-size: .88rem; color: var(--wm-mute); }

/* related cards: a plain description line (no inline styles: the folder's CSP allows none) */
.kids .related-card .desc { display: block; margin-top: 4px; font-size: .88rem; color: var(--wm-mute); }

/* make-a-game */
.kids .maker-box { max-width: 832px; margin: 8px auto 0; padding: 18px 22px 20px; border: 1px solid var(--wm-green-line); border-radius: 16px; background: var(--wm-green-bg); }
.kids .maker-box label { display: block; margin-bottom: 6px; font-weight: 700; color: var(--wm-ink); }
.kids .maker-box textarea { display: block; width: 100%; min-height: 70px; padding: 10px 12px; border: 2px solid var(--wm-green); border-radius: 12px; background: #fff; font: 600 1.25rem/1.4 var(--wm-math); color: var(--wm-ink); resize: vertical; box-sizing: border-box; }
.kids .maker-box textarea:focus { outline: 3px solid #93c5fd; outline-offset: 1px; }
.kids .mk-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.kids .mk-key { min-width: 46px; height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--wm-line); background: #fff; font: 600 1.2rem var(--wm-math); color: var(--wm-ink); cursor: pointer; }
.kids .mk-chip { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--wm-green-line); background: #fff; font: inherit; font-size: .88rem; color: var(--wm-green); cursor: pointer; }
.kids .mk-label { font-size: .88rem; color: var(--wm-mute); }
.kids .mk-preview { margin-top: 12px; }
.kids .mk-preview p { margin: 6px 0 4px; font-size: .92rem; font-weight: 700; color: var(--wm-ink); }
.kids .mk-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; counter-reset: q; }
.kids .mk-list li { counter-increment: q; padding: 3px 10px; border-radius: 8px; border: 1px solid var(--wm-line); background: #fff; font: 600 1.05rem var(--wm-math); color: var(--wm-ink); }
.kids .mk-list li::before { content: counter(q) ". "; font-size: .75em; color: var(--wm-mute); }
.kids .mk-skipped { margin: 0; padding-left: 1.2em; font-size: .9rem; color: #92400e; }
.kids .mk-link { margin: 12px 0 0; font-size: .85rem; color: var(--wm-mute); word-break: break-all; }
.kids .mk-copy { padding: 11px 20px; border-radius: 999px; border: 2px solid var(--wm-green); background: #fff; font: inherit; font-weight: 700; color: var(--wm-green); cursor: pointer; }
.kids .mk-copy:disabled { opacity: .45; cursor: default; }

/* the counting switch on the about page */
.kids .count-switch { margin: 14px 0; padding: 14px 16px; border: 1px solid var(--wm-line); border-radius: 12px; background: var(--wm-soft); }
.kids .count-switch p { margin: 0 0 10px; }
.kids .count-switch button { padding: 9px 16px; border-radius: 999px; border: 2px solid var(--wm-green); background: #fff; font: inherit; font-weight: 700; color: var(--wm-green); cursor: pointer; }
.kids .count-switch button:disabled { opacity: .5; cursor: default; }
