/* arcade.css — shared styling for the Critical Thinking Arcade games.
   Uses the site palette variables (defined inline on each page). One engine
   (arcade.js) drives every game; only the ARCADE_DATA object differs. */
*{box-sizing:border-box}
body{margin:0;font-family:'Nunito',system-ui,sans-serif;background:var(--paper);color:var(--ink);
  -webkit-text-size-adjust:100%}
.awrap{max-width:760px;margin:0 auto;padding:18px 16px 40px;position:relative}
.atop{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-bottom:6px}
.alang{display:flex;align-items:center;gap:6px}
.alang .globe{font-size:1.1rem}
.alang select{font-family:inherit;font-weight:700;font-size:.82rem;color:var(--navy);background:#fff;
  border:2px solid var(--line);border-radius:100px;padding:6px 12px;cursor:pointer}
.alang select:focus{outline:none;border-color:var(--navy)}
.acrumb{font-size:.85rem;margin:2px 0 10px}
.acrumb a{color:var(--ink-soft);font-weight:700;text-decoration:none}
.acrumb a:hover{color:var(--navy)}
.ahero{text-align:center;margin:6px 0 14px}
.ahero .aico{font-size:3rem;line-height:1}
.ahero h1{font-family:'Fredoka',sans-serif;font-weight:700;color:var(--navy);margin:.2rem 0 .1rem;font-size:2rem}
.ahero p{color:var(--ink-soft);font-weight:600;margin:.2rem auto;max-width:52ch}
.ahud{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.ahud .hstat{background:#fff;border:2px solid var(--line);border-radius:12px;padding:8px 14px;text-align:center;min-width:82px}
.ahud .hn{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.3rem;color:var(--navy);line-height:1}
.ahud .hl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-top:3px}
.ahud .hstat.time.low .hn{color:var(--bad)}
.astage{position:relative;background:#fff;border:3px solid var(--line);border-radius:20px;
  padding:26px 18px;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.astage.flash-good{border-color:var(--good);box-shadow:0 0 0 4px rgba(47,158,68,.15)}
.astage.flash-bad{border-color:var(--bad);box-shadow:0 0 0 4px rgba(224,49,49,.15)}
.acard-ico{font-size:3.4rem;line-height:1;margin-bottom:6px}
.acard-txt{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.35rem;color:var(--ink);max-width:22ch}
.aprompt{color:var(--ink-soft);font-weight:700;font-size:.9rem;margin-bottom:8px}
.abtns{display:flex;gap:14px;justify-content:center;margin:16px 0 4px;flex-wrap:wrap}
.abtn{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.15rem;border:0;border-radius:16px;
  padding:16px 26px;cursor:pointer;color:#fff;min-width:150px;box-shadow:0 6px 18px rgba(10,20,60,.18);transition:transform .06s}
.abtn:active{transform:translateY(2px)}
.abtn.left{background:var(--good)}
.abtn.right{background:var(--red)}
.abtn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.akey{font-size:.72rem;opacity:.8;display:block;font-weight:700;margin-top:3px}
.afeed{min-height:26px;font-weight:800;margin-top:8px;font-size:.98rem}
.afeed.good{color:var(--good)}
.afeed.bad{color:var(--bad)}
.aover{position:absolute;inset:0;background:rgba(255,255,255,.97);border-radius:18px;display:flex;
  flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;gap:6px}
.aover.hide{display:none}
.aover .ost{font-size:2.6rem}
.aover h2{font-family:'Fredoka',sans-serif;color:var(--navy);margin:.1rem 0;font-size:1.6rem}
.aover p{color:var(--ink-soft);font-weight:600;margin:.2rem auto;max-width:40ch}
.aover .obig{font-family:'Fredoka',sans-serif;font-weight:700;font-size:2.2rem;color:var(--navy)}
.abtn-go{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.15rem;border:0;border-radius:100px;
  padding:13px 30px;cursor:pointer;color:#fff;background:var(--navy);box-shadow:0 6px 18px rgba(10,46,99,.28);margin-top:8px}
.abtn-go:active{transform:translateY(2px)}
.aclear{background:var(--bg-b);border-radius:12px;padding:10px 14px;font-size:.86rem;font-weight:700;color:var(--navy);max-width:44ch;margin:6px auto 0}
.acta{font-weight:800;color:var(--navy);text-decoration:none;margin-top:6px;display:inline-block}
.acta:hover{text-decoration:underline}
.afoot{text-align:center;color:var(--ink-soft);font-size:.78rem;font-weight:600;margin-top:22px}
.afoot a{color:var(--navy);font-weight:700}
@media(max-width:520px){.ahero h1{font-size:1.6rem}.abtn{min-width:130px;font-size:1.05rem;padding:14px 18px}.acard-txt{font-size:1.15rem}}
