@import url("https://fonts.googleapis.com/css2?family=Pixelify+Sans:wght@400;600;700&family=Silkscreen:wght@400;700&display=swap");
@font-face{font-family:"BWNum";font-style:normal;font-weight:400 900;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+25,U+2b-2c,U+2e,U+30-39,U+3d,U+3f,U+d7,U+f7,U+2212;}
/* =====================================================================
   BrainBox 2.0 -- Block World theme for the games.
   MASTER COPY lives at the repo root (blockworld-games.css); each game
   folder carries an identical copy named bw-theme.css (so the standalone
   domains that serve a game folder as their root keep working):
     for g in multipleazka mathville azkacraft azkauniverse; do cp blockworld-games.css $g/bw-theme.css; done
   Activated by <html class="bw-g" data-bw="race|ville|craft|uni">.
   Everything is presentation only: fonts, square corners, bevelled
   blocks, pixel palette. No markup/logic of the games is touched. */
html.bw-g {
  --bwg-ink: #1b1b1b; --bwg-dirt: #795330; --bwg-grass: #5fb83a; --bwg-stone: #8b8b8b; --bwg-parch: #ecdcb0; --bwg-text: #3b2a14;
  --bwg-bevel: inset 3px 3px 0 rgba(255,255,255,.35), inset -3px -3px 0 rgba(0,0,0,.28);
  --bwg-font: "BWNum", "Pixelify Sans", "Fredoka", sans-serif; --bwg-font-h: "BWNum", "Silkscreen", "Pixelify Sans", monospace;
}
html.bw-g, html.bw-g body, html.bw-g body *:not(svg):not(path):not(rect):not(circle):not(g):not(text) { font-family: var(--bwg-font) !important; letter-spacing: 0; }
html.bw-g h1, html.bw-g h2, html.bw-g .title, html.bw-g [class*="title"]:not(svg *) { font-family: var(--bwg-font-h) !important; }
html.bw-g button { font-weight: 700; }
html.bw-g h1, html.bw-g h2 { text-shadow: 2px 2px 0 rgba(0,0,0,.25); }
html.bw-g *:not(svg *):not(.bw-keep) { border-radius: 0 !important; }
html.bw-g button:not(:disabled), html.bw-g .btn, html.bw-g [role="button"] { box-shadow: var(--bwg-bevel); }
html.bw-g button { image-rendering: auto; text-shadow: 1px 1px 0 rgba(0,0,0,.25); }
html.bw-g img, html.bw-g canvas { image-rendering: pixelated; }
html.bw-g img[src*="icon"], html.bw-g img[src*="logo"] { image-rendering: auto; }

/* ---------------- Math Race ---------------- */
html.bw-g[data-bw="race"] { --brand: #3f8f2f; --brand-dark: #2a6a1f; --brand-light: #e4f3d8; --kids: #e0953a; --parent: #4f86f7; --good: #3fae4f; --neutral: #4f86f7; --card: #ecdcb0; --text: #3b2a14; --muted: #6b5a3a; --radius: 0; --shadow: 0 6px 0 rgba(0,0,0,.3); }
html.bw-g[data-bw="race"] body, html.bw-g[data-bw="race"] body[data-theme] { --page-bg: linear-gradient(180deg, #5aa9f0 0%, #bfe3ff 60%, #5fb83a 60%, #4a9a2c 100%); --lane-kids-bg: linear-gradient(180deg, #8ad05a, #5fb83a); --lane-parent-bg: linear-gradient(180deg, #7ab8f5, #4f86f7); --lane-p3-bg: linear-gradient(180deg, #c9a0f0, #9a6cd6); --track-bg: rgba(0,0,0,.18); --kids-name: #1f4d12; --parent-name: #0b2a66; --p3-name: #3d0a52; background: var(--page-bg); background-attachment: fixed; }
html.bw-g[data-bw="race"] .card, html.bw-g[data-bw="race"] .panel, html.bw-g[data-bw="race"] [class*="card"] { border: 4px solid var(--bwg-ink); box-shadow: var(--bwg-bevel), 0 6px 0 rgba(0,0,0,.28); }
html.bw-g[data-bw="race"] .track, html.bw-g[data-bw="race"] [class*="track"] { border: 3px solid var(--bwg-ink); }
html.bw-g[data-bw="race"] button.primary, html.bw-g[data-bw="race"] .btn-primary, html.bw-g[data-bw="race"] button[class*="primary"] { background: var(--bwg-grass); border: 4px solid var(--bwg-ink); color: #fff; }

/* ---------------- MathVille (+ Ninja Runner, Focus Round) ---------------- */
html.bw-g[data-bw="ville"], html.bw-g[data-bw="ville"][data-theme] { --wood: #8a5a34; --wood-dark: #6a4224; --cherry: #e5484d; --cherry-dark: #b8343a; --gold: #f5c542; --taupe: #b9cd8c; --cream: #d6eab0; --ink: #3b2a14; --ink-soft: #6b5a3a; --card: #f6ecc8; --good: #3fae4f; --bad: #e5484d; }
html.bw-g[data-bw="ville"] body { background-color: var(--bwg-dirt); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 16 16' shape-rendering='crispEdges'%3E%3Crect width='16' height='16' fill='%23795330'/%3E%3Crect x='1' y='2' width='2' height='2' fill='%23634125'/%3E%3Crect x='7' y='1' width='3' height='2' fill='%23876038'/%3E%3Crect x='12' y='4' width='2' height='2' fill='%23634125'/%3E%3Crect x='10' y='9' width='3' height='2' fill='%23634125'/%3E%3Crect x='2' y='12' width='3' height='2' fill='%23876038'/%3E%3C/svg%3E"); background-size: 64px 64px; }

/* ---------------- Language & Arts ---------------- */
html.bw-g[data-bw="craft"] { --brand: #3f8f2f; --brand-dark: #2a6a1f; --accent-1: #e0953a; --accent-1-dark: #b87326; --accent-2: #f5c542; --accent-3: #4f86f7; --accent-3-dark: #3566c4; --accent-4: #3566c4; --bg-1: #bfe3ff; --bg-2: #cfeccb; --sky-gradient: linear-gradient(180deg, #5aa9f0 0%, #bfe3ff 60%, #5fb83a 60%, #4a9a2c 100%); --paper: #ecdcb0; --ink: #3b2a14; --card-border: #1b1b1b; --radius-lg: 0; --radius-md: 0; --radius-sm: 0; }

/* ---------------- SolarQuest (keeps its space look = "The End") ---------------- */
html.bw-g[data-bw="uni"] { --primary: #4caf50; --primary-dark: #2a6a1f; --secondary: #4f86f7; --accent-pink: #e86fb3; --accent-yellow: #f5c542; --success: #4caf50; --gentle: #4f86f7; --card-shadow: 0 6px 0 rgba(0,0,0,.45); }

/* readable digits: answer / keypad buttons stay in the plain pixel font */
html.bw-g[data-bw="race"] .answer-btn, html.bw-g[data-bw="race"] .key { background: #ecdcb0; border: 4px solid var(--bwg-ink); color: #3b2a14; box-shadow: var(--bwg-bevel), 0 4px 0 rgba(0,0,0,.3); font-size: 1.5rem; }
html.bw-g[data-bw="race"] .answer-btn:active, html.bw-g[data-bw="race"] .key:active { transform: translateY(3px); }

/* ---------------- Game Room kit (gamekit.js pages) ---------------- */
html.bw-g .kit-card, html.bw-g .kit-modal { border: 3px solid var(--bwg-ink); box-shadow: var(--bwg-bevel), 0 5px 0 rgba(0,0,0,.25); }
html.bw-g .kit-opt { border: 3px solid var(--bwg-ink) !important; background: var(--bwg-parch); box-shadow: var(--bwg-bevel); font-size: 1.05rem; }
html.bw-g .kit-opt.right { background: #8be08f !important; } html.bw-g .kit-opt.wrong { background: #ff9d8a !important; }
html.bw-g .kit-opt:active:not(:disabled) { transform: translateY(2px); }
html.bw-g .kit-btn { border: 3px solid var(--bwg-ink); }
html.bw-g .kit-bar { border: 2px solid var(--bwg-ink); background: #3a3a3a; } html.bw-g .kit-bar > i { background: repeating-linear-gradient(90deg, #5fb83a 0 10px, #4a9a2c 10px 12px); }
html.bw-g .kit-back { border: 2px solid var(--bwg-ink); background: var(--bwg-stone); color: #fff; }
html.bw-g .gr-card { border: 3px solid var(--bwg-ink) !important; box-shadow: var(--bwg-bevel), 0 4px 0 rgba(0,0,0,.25); background: var(--bwg-parch); }
html.bw-g .gr-tag { border: 2px solid var(--bwg-ink); background: #fff; }

/* Back button always on top: start menus, mode pickers, question boxes and
   tutorials are full-screen overlays that used to sit OVER the top-left ←,
   so mid-game there was no way back to the hub. Lifting the back link above
   every overlay keeps it tappable on every screen. */
html.bw-g a[href="../"]:not([style*="position"]),
html.bw-g a[href="../index.html"],
html.bw-g a[href="../game-room/"],
html.bw-g .kit-back { position: relative; z-index: 2147483000; }
