:root{--background:#f6f4ef;--text:#282724;--soft:#eeeae2;--tile:#f6f4ef;--good:#215c44;--good-bg:#e2f0e5;--bad:#ab4c38;--bad-bg:#fae7e2;--maze-wall:#66635d;--maze-trail:#9dbec4;--math-color:#0d5589;--play-color:#71559a;--primary-dark:#083e65;--selected:#e0ecf6;--accent-outline:#a8c6dd;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--background);font-size:16px;--primary:#0d5589;--muted:#66635d;--line:#e5e1d8;--surface:#fff;--tint:#edf4fa}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--primary);outline-offset:4px}button{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:24px;min-height:46px;padding:10px 20px}button:hover:not(:disabled){background:var(--tint)}button.primary,.primary-link{background:var(--primary);color:white;border-color:var(--primary)}button.primary:hover:not(:disabled){background:var(--primary-dark)}.primary-link{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:28px;font-weight:600}.skip{position:absolute;left:20px;top:-100px;z-index:9;background:var(--surface);padding:15px}.skip:focus{top:8px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;padding:32px 20px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.7px;font-weight:650}.brandmark{display:grid;place-items:center;background:var(--primary);color:white;width:34px;height:34px;border-radius:11px;font-weight:400}.sidebar nav{display:grid;gap:6px;margin-top:48px}.sidebar nav a{display:flex;gap:14px;padding:15px 20px;border-radius:28px;color:var(--muted)}.sidebar nav a[aria-current=page]{background:var(--selected);color:var(--primary-dark);font-weight:600}.navicon{width:20px;text-align:center}.sidebar .bottom{margin-top:auto;font-size:13px;color:var(--muted);line-height:1.8}.sidebar .bottom a{text-decoration:underline}.main{margin-left:230px;max-width:1500px;padding:0 48px 36px}.topbar{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.top-actions{display:flex;align-items:center;gap:12px}.top-actions button{font-size:14px;padding:8px 15px;min-height:40px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--primary)}.intro{padding:42px 0 30px}.intro h1{font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-1.8px;font-weight:500;margin:12px 0 16px}.intro p{color:var(--muted);font-size:18px;line-height:1.6;margin:0;max-width:650px}.feature{border-radius:28px;background:var(--soft);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;min-height:280px}.feature-copy{padding:36px}.feature h2{font-size:32px;line-height:1.15;letter-spacing:-1px;font-weight:500;margin:14px 0}.feature p{color:var(--muted);line-height:1.65;max-width:360px;margin-bottom:24px}.feature-art{position:relative;min-height:260px;display:grid;place-items:center;background:#e8e3d9;overflow:hidden}.feature-art.find{background:url('/games/assets/market.webp') center/cover}.number-demo{display:grid;grid-template-columns:repeat(3,74px);gap:12px;transform:rotate(-8deg)}.number-demo span{display:grid;place-items:center;height:74px;border-radius:19px;background:#fff9;box-shadow:0 6px 18px #28272408;font-size:30px;color:var(--primary)}.number-demo span:nth-child(3n){background:var(--primary);color:white}.toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin:34px 0 22px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{font-size:14px;min-height:40px;padding:8px 16px}.filters button[aria-pressed=true]{background:var(--selected);border-color:var(--accent-outline);color:var(--primary-dark)}.search{border:1px solid var(--line);border-radius:24px;background:var(--surface);padding:12px 18px;max-width:100%;width:230px}.section-heading{font-size:21px;font-weight:500;margin:30px 0 18px;letter-spacing:-.4px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;position:relative;transition:box-shadow .15s,transform .15s}.card:hover{box-shadow:0 6px 22px #2827240b;transform:translateY(-2px)}.card>a{display:block}.card-art{height:170px;display:flex;justify-content:center;align-items:center;gap:10px;background:var(--soft)}.card-art.numbers span{font-size:33px;background:var(--surface);border-radius:16px;padding:13px;color:var(--math-color)}.card-art.path{background:#eee9dc}.mini-grid{display:grid;grid-template-columns:repeat(3,39px);gap:5px;transform:rotate(-8deg)}.mini-grid span{font-size:20px;display:grid;place-items:center;background:#fff9;height:36px;border-radius:7px}.mini-grid span:nth-child(-n+3){background:#766c41;color:white}.card-art.find{background:url('/games/assets/market.webp') center/cover}.card-copy{padding:22px}.card small{font-size:12px;color:var(--card-accent,var(--primary));font-weight:600}.card h3{font-size:21px;font-weight:500;margin:10px 0}.card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 20px;min-height:45px}.card .meta{font-size:12px;color:var(--muted)}.favorite{position:absolute;right:12px;top:12px;background:#fffffff2;min-height:40px;width:40px;padding:0;font-size:23px;border:0}.favorite[aria-pressed=true]{color:var(--primary);background:var(--selected)}.quiet-panel{margin:30px 0;padding:24px 28px;background:var(--soft);border-radius:20px;display:flex;gap:24px;justify-content:space-between;align-items:center}.quiet-panel h2{font-size:18px;font-weight:500;margin:0 0 8px}.quiet-panel p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}.quiet-panel a{white-space:nowrap;color:var(--primary);font-weight:600}.footer{display:flex;flex-wrap:wrap;gap:18px;border-top:1px solid var(--line);margin-top:36px;padding-top:22px;color:var(--muted);font-size:12px}.footer a{text-decoration:underline}.footer span{margin-right:auto}.empty{padding:25px;color:var(--muted);grid-column:1/-1}.game-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:30px 0 22px}.game-heading h1{font-size:36px;font-weight:500;letter-spacing:-1px;margin:12px 0 10px}.game-heading p{color:var(--muted);line-height:1.6;margin:0}.game-panel{border:1px solid var(--line);background:var(--surface);border-radius:26px;padding:28px;min-height:340px}.controls{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.controls label{display:grid;gap:8px;font-size:13px;color:var(--muted)}select{border:1px solid var(--line);background:var(--surface);padding:12px;border-radius:12px;color:var(--text);min-height:46px}.status-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:24px 0;font-size:14px;color:var(--muted)}progress{accent-color:var(--primary);width:100%;height:7px}.equation{font-size:clamp(40px,7vw,72px);letter-spacing:-2px;text-align:center;margin:38px 0}.answers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:600px;margin:auto}.answers button{font-size:28px;min-height:80px;border-radius:18px;background:var(--tile)}.answers button.correct{background:var(--good-bg);border:2px solid var(--primary)}.answers button.wrong{background:var(--bad-bg);border:2px solid var(--bad)}.feedback{min-height:30px;line-height:1.6;margin:22px 0 14px;color:var(--good);text-align:center}.game-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.instructions{font-size:15px;line-height:1.8;color:var(--muted);max-width:750px;margin:25px 0}.instructions h2{font-size:18px;color:var(--text);font-weight:500}.puzzle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:380px;margin:20px auto}.puzzle-grid button{height:72px;border-radius:16px;font-size:28px;position:relative;background:var(--tile)}.puzzle-grid button[aria-pressed=true]{background:var(--primary);color:white}.step{position:absolute;top:6px;right:9px;font-size:11px}.target{text-align:center;font-size:25px;margin-top:25px}.target small{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.find-reference{display:flex;gap:15px;align-items:center}.find-reference img{width:62px;height:78px;object-fit:contain}.find-reference p{margin:6px 0;color:var(--muted);font-size:14px}.find-viewport{overflow:auto;max-height:65vh;border-radius:16px;background:var(--soft);position:relative;margin-top:20px;overscroll-behavior:contain}.find-scene{position:relative;width:100%;line-height:0;cursor:crosshair}.find-scene>img{width:100%;display:block;user-select:none;pointer-events:none}.answer-marker{position:absolute;border:3px solid white;box-shadow:0 0 0 3px var(--primary);border-radius:50%;pointer-events:none}.hint-region{position:absolute;background:#ffffff20;border:3px dashed white;box-shadow:0 0 0 2px var(--primary);pointer-events:none}.find-scene .cursor{position:absolute;width:28px;height:28px;border:2px solid white;box-shadow:0 0 0 2px var(--primary);transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.find-controls{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.find-controls button{font-size:14px}.large-text{font-size:19px}.large-text p,.large-text .card p,.large-text button,.large-text label{font-size:1rem}.result{padding:20px;text-align:center}.result h2{font-size:32px;font-weight:500}.result p{color:var(--muted);line-height:1.7}.saved-info{font-size:12px;color:var(--muted);margin-top:14px} [hidden]{display:none!important}@media(min-width:1500px){.main{margin-right:auto}.feature{min-height:310px}}@media(max-width:1100px){.sidebar{width:195px;padding:26px 14px}.main{margin-left:195px;padding:0 28px 28px}.cards{gap:14px}.card-copy{padding:18px}.feature-copy{padding:28px}.feature h2{font-size:28px}}@media(max-width:800px){.sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line);padding:18px 22px}.sidebar nav{display:flex;gap:6px;margin-top:18px}.sidebar nav a{padding:11px 16px}.sidebar .bottom{display:none}.main{margin:0;padding:0 22px 26px}.topbar{min-height:65px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-art{min-height:220px}.feature-copy{padding:26px}.intro{padding-top:30px}.game-heading h1{font-size:30px}}@media(max-width:520px){.topbar>.breadcrumb{max-width:160px}.top-actions{gap:6px}.top-actions .no-account{display:none}.intro h1{font-size:38px}.intro p{font-size:16px}.feature{grid-template-columns:1fr}.feature-art{min-height:185px;grid-row:1}.number-demo{grid-template-columns:repeat(3,48px);gap:8px}.number-demo span{height:48px;font-size:24px;border-radius:12px}.feature-copy{padding:25px}.cards{grid-template-columns:1fr}.card-art{height:185px}.toolbar{gap:16px}.search{width:100%}.quiet-panel{display:block}.quiet-panel a{display:inline-block;margin-top:14px}.game-panel{padding:18px}.answers{grid-template-columns:repeat(2,1fr)}.answers button{min-height:65px}.game-heading{display:block}.game-heading>button{margin-top:15px}.puzzle-grid{gap:8px}.puzzle-grid button{height:62px}.status-row{flex-wrap:wrap}.sidebar nav a{padding:11px 13px}.find-reference img{width:52px}.find-viewport{max-height:60vh}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:800px){.sidebar nav{flex-wrap:wrap}}
.find-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.find-header>button{flex-shrink:0}
.game-expanded{overflow:hidden}
#game:fullscreen,#game.find-expanded{display:flex;flex-direction:column;width:100%;height:100%;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;background:var(--surface);padding:20px;overflow:auto}
#game.find-expanded{position:fixed;inset:0;z-index:20}
#game:fullscreen::backdrop{background:var(--surface)}
#game:fullscreen .find-header,#game.find-expanded .find-header{flex-shrink:0}
#game:fullscreen #explore,#game.find-expanded #explore{display:flex;flex-direction:column;flex:1;min-height:160px}
#game:fullscreen .find-viewport,#game.find-expanded .find-viewport{flex:1;min-height:100px;max-height:none;margin-top:8px}
#game:fullscreen .feedback,#game.find-expanded .feedback{flex-shrink:0;margin:12px 0 8px;min-height:24px}
#game:fullscreen .game-actions,#game.find-expanded .game-actions{flex-shrink:0}
#game:fullscreen .saved-info,#game.find-expanded .saved-info{margin:8px 0}
@media(max-width:520px){.find-header{gap:10px}.find-header>button{font-size:13px;padding:10px 12px}.find-header .find-reference{gap:8px}.find-header .find-reference img{width:40px;height:60px}.find-header .find-reference p{font-size:12px}#game:fullscreen,#game.find-expanded{padding:12px}}

/* Theme surfaces are shared; activity colors identify Math and Play. */
body[data-lane="play"]{--primary:var(--play-color);--primary-dark:#533e75;--selected:#eee5f6;--tint:#f4eff9;--accent-outline:#c9b9df}
.sidebar{background:#fff}.brandmark{background:#34322e}
.sidebar nav a[href="/games/math/"]{color:var(--math-color)}
.sidebar nav a[href="/games/play/"]{color:var(--play-color)}
.sidebar nav a[href="/games/math/"][aria-current="page"]{background:#e0ecf6}
.sidebar nav a[href="/games/play/"][aria-current="page"]{background:#eee5f6}
.card[data-lane="math"]{--card-accent:var(--math-color)}
.card[data-lane="play"]{--card-accent:var(--play-color)}
.card[data-lane="math"] .favorite[aria-pressed="true"]{color:var(--math-color);background:#e0ecf6}
.card[data-lane="play"] .favorite[aria-pressed="true"]{color:var(--play-color);background:#eee5f6}
.number-demo span{color:var(--math-color)}.number-demo span:nth-child(3n){background:var(--math-color);color:white}
/* Activity navigation and reusable quiz surfaces. */
:root{--find-color:#94651a;--logic-color:#176e65;--lang-color:#71559a;--play-color:#b34d2c}
body[data-lane="find"]{--primary:var(--find-color);--primary-dark:#6c4912;--selected:#f3e8d2;--tint:#faf4e8;--accent-outline:#d6bd88}
body[data-lane="logic"]{--primary:var(--logic-color);--primary-dark:#10524c;--selected:#e0efeb;--tint:#eff7f5;--accent-outline:#9cc9bf}
body[data-lane="lang"]{--primary:var(--lang-color);--primary-dark:#533e75;--selected:#eee5f6;--tint:#f4eff9;--accent-outline:#c9b9df}
body[data-lane="play"]{--primary:var(--play-color);--primary-dark:#85371e;--selected:#f6e6df;--tint:#fcf1ed;--accent-outline:#dcae99}
.sidebar nav a[href="/games/find/"]{color:var(--find-color)}.sidebar nav a[href="/games/logic/"]{color:var(--logic-color)}.sidebar nav a[href="/games/lang/"]{color:var(--lang-color)}.sidebar nav a[href="/games/play/"]{color:var(--play-color)}
.sidebar nav a[href="/games/find/"][aria-current="page"]{background:#f3e8d2}.sidebar nav a[href="/games/logic/"][aria-current="page"]{background:#e0efeb}.sidebar nav a[href="/games/lang/"][aria-current="page"]{background:#eee5f6}.sidebar nav a[href="/games/play/"][aria-current="page"]{background:#f6e6df}
.card[data-lane="find"]{--card-accent:var(--find-color)}.card[data-lane="logic"]{--card-accent:var(--logic-color)}.card[data-lane="lang"]{--card-accent:var(--lang-color)}.card[data-lane="play"]{--card-accent:var(--play-color)}
.card[data-lane="play"] .favorite[aria-pressed="true"]{color:var(--play-color);background:#f6e6df}
.card-art{font-size:30px;letter-spacing:-1px;color:var(--card-accent,var(--primary));font-weight:500}.card-art img{height:125px;width:85px;object-fit:contain}.card-art.kanji{font-size:72px}.card-art.words{font-size:42px}.card-art.shapes{font-size:34px;letter-spacing:4px}
.topic-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 25px}.topic-link{background:var(--surface);border:1px solid var(--line);padding:13px 20px;border-radius:16px;color:var(--primary);font-size:14px;font-weight:600}.topic-link:hover{background:var(--tint)}.topic-link span{font-size:12px;margin-left:10px;color:var(--muted)}.topic-link[data-lane="find"]{color:var(--find-color)}.topic-link[data-lane="logic"]{color:var(--logic-color)}.topic-link[data-lane="lang"]{color:var(--lang-color)}.topic-link[data-lane="play"]{color:var(--play-color)}
.sort-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.sort-label select{min-height:40px;padding:8px;border-radius:16px;font-size:13px}
.quiz-prompt{font-size:22px;line-height:1.5;text-align:center;font-weight:500;margin:24px 0}.quiz-expression{font-size:clamp(32px,5vw,58px);line-height:1.5;text-align:center;margin:25px 0;overflow-wrap:anywhere}.quiz-answers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:740px;margin:25px auto}.quiz-answers button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:22px;min-height:78px;border-radius:18px;padding:14px;background:var(--tile)}.quiz-answers button span{overflow-wrap:anywhere;max-width:100%}.quiz-answers button.correct{border:2px solid var(--good);background:var(--good-bg);color:var(--good)}.quiz-answers button.wrong{border:2px solid var(--bad);background:var(--bad-bg)}.quiz-answers button:disabled{opacity:1}.explanation{max-width:740px;margin:20px auto;padding:20px;border-radius:16px;background:var(--tile);line-height:1.8;white-space:pre-line;font-size:16px;color:var(--text)}
.fraction-strip{display:flex;height:86px;max-width:440px;margin:28px auto;gap:3px;background:var(--surface);padding:4px;border:1px solid var(--accent-outline);border-radius:12px;overflow:hidden}.fraction-strip span{flex:1;background:#ece7de}.fraction-strip span.shaded{background:var(--primary)}.visual-caption{text-align:center;font-size:20px;color:var(--muted)}
.number-line{display:flex;max-width:650px;margin:45px auto 35px;gap:0;padding:0 4px}.number-line span{flex:1;text-align:center;position:relative;min-width:0}.number-line b{font-size:14px;font-weight:500;display:block;padding-bottom:10px}.number-line i{height:18px;border-left:2px solid var(--primary);display:block;width:1px;margin:auto}.number-line span:after{content:'';position:absolute;height:2px;left:0;right:0;bottom:8px;background:var(--primary)}
.shape-token{width:60px;height:60px;display:block}.shape-sequence{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0}.shape-sequence>div{text-align:center}.shape-sequence small,.reference-shapes small{display:block;font-size:12px;color:var(--muted);margin-top:8px}.reference-shapes{display:grid;grid-template-columns:repeat(4,1fr);max-width:550px;margin:22px auto;gap:12px;text-align:center}.poly-shape{width:100%;max-width:100px;height:100px;color:var(--primary)}.logic-board{display:grid;grid-template-columns:repeat(4,1fr);max-width:270px;margin:24px auto;gap:3px;background:#d4cec1;border:3px solid #d4cec1;border-radius:10px;overflow:hidden}.logic-board span{display:grid;place-items:center;background:var(--surface);height:60px;font-size:25px;color:var(--muted)}.logic-board span.occupied{background:var(--selected);color:var(--primary)}.logic-board span.asked{background:var(--primary);color:white;font-weight:700}
.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:560px;margin:22px auto;gap:12px}.memory-grid button{height:120px;border-radius:18px;background:var(--selected);color:var(--primary);font-size:34px;padding:8px}.memory-grid button.face-up{background:var(--tile)}.memory-grid button:disabled{opacity:.75}.memory-grid img{width:100%;height:100%;object-fit:contain}.pair-grid button:disabled{opacity:.3}
.maze-board{display:grid;width:100%;max-width:510px;aspect-ratio:1;margin:25px auto;background:var(--surface);border:2px solid #66635d}.maze-board button{min-height:0;border-radius:0;padding:0;background:var(--surface);font-size:22px;line-height:1}.maze-board button.player{color:#0d5589;background:#e0ecf6}.maze-board button.goal{color:#b34d2c;background:#f6e6df}.direction-pad{display:flex;justify-content:center;gap:8px}.direction-pad button{width:52px;min-height:50px;font-size:24px;padding:4px;border-radius:15px}
#field{display:block;width:100%;height:auto;border-radius:18px;margin-bottom:20px}.controls input{border:1px solid var(--line);border-radius:12px;padding:12px;min-height:46px;width:130px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.quiz-answers{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-answers button{font-size:19px}.reference-shapes{grid-template-columns:repeat(2,1fr)}.memory-grid{gap:7px}.memory-grid button{height:90px;border-radius:12px}.number-line b{font-size:10px}.logic-board span{height:55px}.topic-link{padding:11px 15px}.sidebar nav a{font-size:13px}.sidebar nav{gap:3px}.intro h1{font-size:34px}.quiz-expression{font-size:32px}.controls input{width:110px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Appearance: shared neutral surfaces, with readable activity accents. */
:root{color-scheme:light;color:var(--text)}
:root[data-theme="dark"]{color-scheme:dark;--background:#191b1e;--surface:#23262b;--text:#e8e6e1;--muted:#b9b6ad;--line:#44474b;--soft:#2e3136;--tile:#30343a;--math-color:#9cccf2;--find-color:#e6c17b;--logic-color:#8ccfc2;--lang-color:#cbb4ee;--play-color:#f3b199;--good:#a4dbb5;--good-bg:#263f31;--bad:#efb8a8;--bad-bg:#492e2b;--maze-wall:#b9c0c9;--maze-trail:#446b78;--primary:#9cccf2}
:root[data-theme="dark"] body{--primary-dark:var(--primary);--selected:#33414f;--tint:#2e343b;--accent-outline:#667b8d}
:root[data-theme="dark"] body[data-lane="find"]{--selected:#453c2c;--accent-outline:#98815a}
:root[data-theme="dark"] body[data-lane="logic"]{--selected:#2b4440;--accent-outline:#698f87}
:root[data-theme="dark"] body[data-lane="lang"]{--selected:#40384d;--accent-outline:#8f7fa2}
:root[data-theme="dark"] body[data-lane="play"]{--selected:#49372f;--accent-outline:#a28476}
:root[data-theme="dark"] .sidebar nav a[aria-current="page"],:root[data-theme="dark"] .card .favorite[aria-pressed="true"]{background:var(--selected)}
:root[data-theme="dark"] button.primary,:root[data-theme="dark"] .primary-link,:root[data-theme="dark"] .puzzle-grid button[aria-pressed="true"],:root[data-theme="dark"] .logic-board span.asked{color:#17202a}
:root[data-theme="dark"] button.primary:hover:not(:disabled){filter:brightness(.9)}
:root[data-theme="dark"] .favorite{background:#23262bee}
:root[data-theme="dark"] .logic-board{background:var(--line);border-color:var(--line)}
:root[data-theme="dark"] .fraction-strip span:not(.shaded){background:var(--tile)}
:root[data-theme="dark"] .maze-board button.player{color:#9cccf2;background:#33414f}
:root[data-theme="dark"] .maze-board button.goal{color:#f3b199;background:#49372f}
.theme-picker select{font-size:13px;min-height:40px;padding:8px 10px;max-width:100px}
/* Existing video maze, scoped to the Games panel. */
.marathon-game .game-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}
.marathon-game h2{font-size:20px;margin:8px 0}.marathon-game .stats{display:flex;gap:22px;flex-shrink:0}.marathon-game .stats span{display:block;font-size:11px;color:var(--muted)}.marathon-game .stats strong{display:block;font-size:22px;font-variant-numeric:tabular-nums}
.marathon-game .board-wrap{background:var(--tile);position:relative;display:flex;justify-content:center;padding:12px 28px;border-radius:16px}
.marathon-game canvas{display:block;max-width:100%;touch-action:none;--maze-wall:inherit;--maze-trail:inherit}
.marathon-game #status{min-height:24px;text-align:center;color:var(--primary);line-height:1.6}
.marathon-game .controls{justify-content:center;align-items:center;gap:30px}.marathon-game .key-hint{color:var(--muted);font-size:13px}.marathon-game .key-hint>span{padding:5px}
.marathon-game .dpad{display:grid;grid-template-columns:repeat(3,48px);gap:5px}.marathon-game .dpad button{padding:0;font-size:22px;touch-action:none}.marathon-game .dpad button:first-child{grid-column:2}.marathon-game .dpad button:nth-child(2){grid-column:1}
.marathon-game .actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.marathon-game .actions a{color:var(--primary);text-decoration:underline;margin-left:auto}
.choose{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}.choose label{font-size:12px;color:var(--muted)}.choose #pack{flex:1;min-width:0;max-width:100%}.maze-credit{font-size:12px;color:var(--muted);line-height:1.8;margin:24px 0 0}.maze-credit a{text-decoration:underline}
.marathon-game #clear-card{position:absolute;inset:0;display:grid;place-items:center;background:var(--surface);padding:12px;border-radius:16px}.marathon-game .clear-content{text-align:center}.marathon-game .clear-content h2{font-size:40px;color:var(--primary)}.marathon-game .clear-caption{color:var(--muted)}
@media(max-width:600px){.marathon-game .board-wrap{padding:10px}.marathon-game .key-hint{display:none}.marathon-game .game-bar .eyebrow{font-size:10px;overflow-wrap:anywhere}.marathon-game .stats{gap:10px}.choose label:first-child{width:100%}.choose #pack{flex-basis:100%}.top-actions{flex-wrap:wrap}}

.rectangle-diagram{display:block;max-width:340px;width:100%;margin:20px auto;font-size:18px}.quiz-expression{white-space:pre-line}
:root[data-theme="dark"] .sidebar{background:var(--surface)}
:root[data-theme="dark"] select,:root[data-theme="dark"] input{color:var(--text)}
:root[data-theme="dark"] .card-art:not(.find){background:var(--soft)}

.language-link{font-size:13px;text-decoration:underline;white-space:nowrap}.theme-picker{flex-shrink:0}

.classic-grid{display:grid;max-width:440px;margin:25px auto;gap:6px}.classic-grid button{aspect-ratio:1;min-height:0;padding:5px;font-size:clamp(20px,4vw,32px);border-radius:12px;background:var(--tile);border:1px solid var(--line)}.classic-grid .lit{background:var(--primary);color:var(--surface)}.classic-grid .unlit{color:var(--muted)}.classic-grid .given{background:var(--selected);color:var(--text);opacity:1}.classic-grid .editable{color:var(--primary)}.classic-grid .selected{outline:3px solid var(--primary);outline-offset:0}.classic-grid .space{background:var(--surface);opacity:.3}.classic-grid button:disabled{cursor:default}.shape-token{background:#f6f4ef;border-radius:8px}

.brand-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0}.brand>span{line-height:1.1}.brand>span small{display:block;font-size:13px;font-weight:500;letter-spacing:.5px;margin-top:5px;color:var(--muted)}

.clock-diagram{width:100%;max-width:310px;display:block;margin:20px auto;font-size:22px}.marble-bag{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:380px;margin:28px auto}.marble{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;color:white;font-size:18px;font-weight:700}.marble.blue{background:#0d5589}.marble.amber{background:#94651a}

.board-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.board-heading>button{flex-shrink:0}.board-turn{text-align:center;font-size:21px;min-height:30px;line-height:1.6;color:var(--primary)}.strategy-board{display:grid;gap:4px;max-width:560px;margin:15px auto 25px;background:var(--line);padding:5px;border-radius:16px}.connect-board{grid-template-columns:repeat(7,1fr)}.reversi-board{grid-template-columns:repeat(8,1fr)}.board-cell{aspect-ratio:1;display:grid;place-items:center;background:var(--tile);border:0;border-radius:8px;padding:8px;min-height:0;position:relative}.board-cell:disabled{opacity:1}.board-cell.legal{background:var(--selected)}.disc{width:100%;aspect-ratio:1;border-radius:50%;display:block}.blue-disc{background:#0d5589;border:2px solid #90b7dc}.amber-disc{background:#94651a;border:2px solid #ddc491}.dark-disc{background:#282724;border:2px solid #b5b0a7}.light-disc{background:#faf9f6;border:2px solid #66635d}.legal-dot{font-size:30px;color:var(--primary)}.board-cell.winning{outline:3px solid var(--primary);outline-offset:-3px;background:var(--selected)}.drop-columns{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:560px;margin:15px auto 0}.drop-columns button{padding:8px 0;font-size:14px;border-radius:10px;min-height:40px}@media(max-width:600px){.board-heading{flex-wrap:wrap}.board-heading .controls{gap:8px}.board-cell{padding:4px;border-radius:4px}.strategy-board{gap:2px;padding:3px}.board-turn{font-size:17px}.disc{border-width:1px}}

.hunt-grid{display:grid;gap:8px;max-width:540px;margin:25px auto}.hunt-grid button{padding:8px;aspect-ratio:1;border-radius:14px;background:var(--tile);display:grid;place-items:center;min-height:0}.hunt-grid .shape-token{width:100%;height:auto;max-width:60px}.hunt-grid .hinted{outline:2px dashed var(--primary);outline-offset:-3px}.hunt-grid .found{border:3px solid var(--good);background:var(--good-bg)}.hunt-grid .wrong{border-color:var(--bad)}.hunt-grid button:disabled{opacity:.7}.hunt-grid .found:disabled{opacity:1}

.strategy-board,.drop-columns{width:100%}

.language-links{display:flex;flex-wrap:wrap;gap:10px}

.prose-expression{font-size:22px;line-height:1.8;max-width:740px;margin:25px auto;text-align:left}

.coordinate-graph{display:block;width:100%;max-width:460px;margin:20px auto;font-size:16px}.triangle-diagram{display:block;width:100%;max-width:390px;margin:20px auto;font-size:20px}.number-sequence{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:30px auto}.number-sequence span{display:grid;place-items:center;min-width:52px;min-height:65px;padding:12px;background:var(--tile);border:1px solid var(--line);border-radius:14px;font-size:26px}

.large-text .coordinate-graph{font-size:19px}.large-text .visual-caption{font-size:24px}
/* A return path, separate from saved games. */
.sidebar-bottom{margin-top:auto}.sidebar-bottom .bottom{margin-top:14px}#bookmark-site{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:13px;font-size:14px}#bookmark-site>span:first-child{font-size:24px;line-height:1}.bookmark-dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:22px;max-width:480px;width:calc(100% - 44px);padding:26px}.bookmark-dialog::backdrop{background:#0008}.bookmark-dialog h2{font-size:23px;font-weight:500;margin:0 0 20px}.bookmark-dialog p{font-size:15px;line-height:1.8;color:var(--muted)}.bookmark-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.bookmark-actions a{text-decoration:underline;color:var(--primary)}
:root{--maze-color:#91713e}.sidebar nav a[href="/games/maze/"]{color:var(--maze-color)}.sidebar nav a[href="/games/maze/"][aria-current="page"]{background:#f0e8d8}.card[data-lane="maze"] .card-art{background:#efe6d4;color:#79592b}:root[data-theme="dark"]{--maze-color:#dac194}:root[data-theme="dark"] .card[data-lane="maze"] .card-art{background:#3c352a;color:#dac194}
@media(max-width:800px){.sidebar-bottom{margin-top:12px}#bookmark-site{width:auto;padding:8px 12px;min-height:38px;font-size:13px}}
.hakoniwa-viewport{overflow:auto;background:var(--soft);border-radius:18px;max-height:65vh;margin:20px 0;overscroll-behavior:contain}.hakoniwa-viewport canvas{display:block;height:auto;max-width:none;outline-offset:-3px}.hakoniwa-tools{display:flex;gap:10px;justify-content:center;margin:16px 0}.hakoniwa-compass{flex-wrap:wrap}.hakoniwa-compass button{width:auto;font-size:15px;padding:10px 16px}.card-art.hakoniwa img{height:140px;max-width:85%;object-fit:contain}.hakoniwa-viewport canvas:focus-visible{outline:3px solid var(--primary)}#series-video a{display:inline-block;margin:20px 0;color:var(--primary);text-decoration:underline}
.prism-diagram{display:block;width:100%;max-width:400px;margin:24px auto}.prism-diagram text{font:18px system-ui}.large-text .prism-diagram text{font-size:20px}
.picture-wrap{overflow:auto;margin:24px auto;max-width:550px}.picture-grid{border-collapse:collapse;width:100%;table-layout:fixed}.picture-grid th{font-size:15px;font-weight:600;text-align:center;padding:7px 3px;color:var(--muted)}.picture-grid th:first-child{width:58px}.picture-grid td{padding:2px}.picture-grid button{border-radius:6px;min-height:0;aspect-ratio:1;width:100%;padding:0;font-size:20px;background:var(--tile)}.picture-grid button.filled{background:var(--primary);color:var(--surface)}.code-inputs{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:24px 0}.code-inputs label{display:grid;gap:8px;font-size:13px;color:var(--muted)}.code-inputs select{min-width:64px;font-size:26px;text-align:center}.code-attempts{max-width:500px;margin:24px auto;padding-left:24px}.code-attempts li{padding:12px;border-bottom:1px solid var(--line);font-size:14px}.code-digits{display:inline-block;min-width:150px;font-size:23px;color:var(--primary);margin-right:16px}.tower-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px auto;max-width:640px}.tower-peg{display:flex;flex-direction:column;min-height:260px;align-items:center;padding:12px 4px;background:var(--tile)}.tower-label{font-size:13px}.tower-stack{display:flex;flex-direction:column;justify-content:end;align-items:center;gap:4px;flex:1;width:100%;padding-bottom:8px;border-bottom:5px solid var(--muted);position:relative}.tower-stack:before{content:'';position:absolute;background:var(--line);width:6px;top:22px;bottom:0;left:calc(50% - 3px)}.tower-disk{display:block;position:relative;border-radius:6px;height:25px;line-height:25px;background:var(--primary);color:var(--surface);font-size:15px}.tower-peg[aria-pressed=true]{outline:3px solid var(--primary);outline-offset:2px}.mine-grid{display:grid;gap:4px;max-width:520px;margin:24px auto}.mine-grid button{aspect-ratio:1;min-height:0;padding:0;border-radius:7px;font-size:18px;background:var(--tile)}.mine-grid button.opened{background:var(--surface);border-color:var(--line);color:var(--primary)}.mine-grid button.hazard{background:var(--bad-bg);color:var(--bad)}@media(max-width:520px){.tower-board{gap:6px}.tower-peg{min-height:235px}.picture-grid th:first-child{width:42px}.picture-grid th{font-size:12px}.picture-grid button{font-size:16px}.mine-grid{gap:3px}.mine-grid button{font-size:15px}.code-inputs{gap:8px}.code-inputs select{min-width:54px}.code-digits{min-width:0;display:block;margin-bottom:6px}}
.picture-grid[data-size="7"]{min-width:400px}.mine-wrap{overflow:auto;max-width:520px;margin:24px auto;overscroll-behavior:contain}.mine-wrap .mine-grid{margin:0;width:100%;max-width:none}
.data-diagram{display:block;width:100%;max-width:520px;margin:30px auto}.data-diagram text{font:18px system-ui}.large-text .data-diagram text{font-size:20px}
.word-definition{font-size:21px;text-align:center;line-height:1.7;max-width:600px;margin:28px auto;color:var(--text)}.word-built,.word-letters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:24px auto}.word-built button,.word-letters button{font-size:25px;min-width:48px;min-height:56px;padding:8px}.word-built button{background:var(--selected);border-color:var(--primary)}.word-letters button{background:var(--tile)}.word-letters button:disabled{opacity:.3}.word-built button:disabled{opacity:1}@media(max-width:520px){.word-built,.word-letters{gap:6px}.word-built button,.word-letters button{min-width:44px;min-height:48px;font-size:22px;padding:6px}}
