:root{--primary:#5d3483;--soft:#eadff5;--bg:#faf7fc;--font-head:"Outfit",sans-serif;--font-body:"Outfit",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#252d30;font:17px/1.75 var(--font-body),sans-serif;--surface:var(--bg);--surface-2:var(--soft);--accent:var(--soft);--text:#252d30;--muted:#535c60;--border:#aeb8b1;--primary-contrast:#fff}a{color:var(--primary)}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--primary);outline-offset:4px}p,li,h1,h2,h3,a{overflow-wrap:anywhere}.skip{position:absolute;top:-100px;left:20px;z-index:99}.skip:focus{top:10px;background:white;padding:15px}.site-header{padding:22px max(22px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--border);display:flex;align-items:center;gap:25px;flex-wrap:wrap}.brand{font:bold 32px/1.1 var(--font-head);text-decoration:none;white-space:nowrap}.brand-mark{display:inline-block;margin-right:5px}.site-header nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.site-header nav a{padding:8px 12px;text-decoration:none;min-height:44px;display:flex;align-items:center;font-size:14px}.site-header nav a[aria-current]{border-bottom:2px solid var(--primary)}.languages{margin-left:auto}.nav-toggle{display:none}main,footer{max-width:1240px;padding:35px 24px;margin:auto}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:center;padding:30px 0 45px;border-bottom:1px solid var(--border)}h1{font:600 clamp(36px,4.5vw,66px)/1.09 var(--font-head);letter-spacing:-.035em;margin:15px 0 25px}h2{font:600 clamp(24px,2.6vw,34px)/1.25 var(--font-head)}h3{font:600 21px/1.35 var(--font-head)}.lead{font-size:20px;max-width:720px}.kicker{font-size:13px;font-weight:bold;letter-spacing:.07em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.pill{border:1px solid var(--primary);background:var(--primary);color:#fff;text-decoration:none;padding:12px 20px;min-height:48px;border-radius:6px;display:inline-flex;align-items:center;font-size:15px;font-weight:bold}.pill.external{background:transparent;color:var(--primary)}.hero-art{height:340px;background:var(--soft);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.hero-art b{position:absolute;font:700 55px var(--font-head);color:var(--primary);background:var(--bg);padding:10px 22px}.hero-art span{position:absolute;width:65%;height:65%;border:1px solid var(--primary);transform:rotate(25deg)}.hero-art span:nth-child(2){transform:rotate(45deg)}.hero-art span:nth-child(3){transform:rotate(65deg)}.hero-art span:nth-child(4){transform:rotate(85deg)}#play{scroll-margin-top:20px;display:grid;grid-template-columns:.65fr 1.35fr;gap:30px;padding:45px 0;border-bottom:1px solid var(--border)}.demo-caption{padding:20px 15px 0 0}#game-root{border:1px solid var(--border);border-radius:14px;min-width:0}#game-root .board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:20px}#game-root .tile{min-width:0;min-height:65px;display:flex;align-items:center;justify-content:center;font:600 30px var(--font-head);background:var(--bg);border:1px solid var(--primary);border-radius:8px;color:var(--primary)}#game-root .tile.hit{background:var(--primary);color:#fff}#game-root .tile.miss{background:#81372c;color:#fff}#game-root .tile:disabled{cursor:default}#game-root .math-note{font-size:14px;line-height:1.7;padding:0 15px}#game-root .fraction{font-size:13px}#game-root .g-msg.win{color:#145e30}#game-root .g-msg.lose{color:#8a3025}.reading{display:grid;grid-template-columns:240px minmax(0,1fr);gap:50px;margin:45px 0}.toc a{display:block;font-size:14px;padding:10px 0}.reading article{max-width:820px}.reading section{margin-bottom:36px;scroll-margin-top:30px}.reading section+section{border-top:1px solid var(--border);padding-top:15px}details{border-top:1px solid var(--border);padding:10px 0}summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:bold}.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.related a{display:block;border:1px solid var(--border);padding:20px;text-decoration:none;background:var(--soft)}.related p{font-size:14px;color:#404d50}.crumb{font-size:14px;margin:10px 0}.crumb a{display:inline-flex;padding:10px 0}footer{border-top:1px solid var(--border);font-size:14px}footer nav{display:flex;gap:10px 24px;flex-wrap:wrap}footer nav a{padding:10px 0;min-height:44px}table{width:100%;border-collapse:collapse}td,th{border:1px solid var(--border);padding:8px}.g-controls [hidden]{display:none!important}@media(max-width:979px){.site-header{padding:18px 20px;gap:15px}.nav-toggle{display:block;min-height:44px;padding:8px 15px;background:var(--soft);border:1px solid var(--primary);color:var(--primary);margin-left:auto}.site-header #site-nav{display:none;width:100%}.site-header.nav-open #site-nav{display:flex}.languages{margin:0}.hero{gap:24px}.hero-art{height:250px}.reading{grid-template-columns:1fr;gap:20px}.toc{border-bottom:1px solid var(--border);padding-bottom:20px}#play{grid-template-columns:1fr;gap:15px}.demo-caption{padding:0}.related{grid-template-columns:1fr 1fr}}@media(max-width:600px){main,footer{padding:25px 18px}.hero{grid-template-columns:1fr;gap:18px;padding-top:10px}.hero-art{height:170px;order:-1}.hero-art b{font-size:40px}.hero-art span{width:50%;height:110%}.hero h1{font-size:38px}.lead{font-size:18px}.related{grid-template-columns:1fr}#game-root .board{gap:6px;padding:12px}#game-root .tile{min-height:54px;font-size:25px}.brand{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}.hero-art{border-radius:50%}.hero-art span{border-radius:50%}#game-root .board{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}#game-root .tile{min-height:50px;border-radius:50%;font-size:21px}.site-header{border-bottom:4px double var(--primary)}
/* Script-complete multilingual font fallbacks */
body:lang(bn){--font-body:"Noto Sans Bengali",sans-serif;--font-head:"Noto Sans Bengali",sans-serif;line-height:1.8}body:lang(bn) h1,body:lang(bn) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(hi){--font-body:"Noto Sans Devanagari",sans-serif;--font-head:"Noto Sans Devanagari",sans-serif;line-height:1.8}body:lang(hi) h1,body:lang(hi) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(ne){--font-body:"Noto Sans Devanagari",sans-serif;--font-head:"Noto Sans Devanagari",sans-serif;line-height:1.8}body:lang(ne) h1,body:lang(ne) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(my){--font-body:"Noto Sans Myanmar",sans-serif;--font-head:"Noto Sans Myanmar",sans-serif;line-height:1.8}body:lang(my) h1,body:lang(my) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(th){--font-body:"Noto Sans Thai",sans-serif;--font-head:"Noto Sans Thai",sans-serif;line-height:1.8}body:lang(th) h1,body:lang(th) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(km){--font-body:"Noto Sans Khmer",sans-serif;--font-head:"Noto Sans Khmer",sans-serif;line-height:1.8}body:lang(km) h1,body:lang(km) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(zh){--font-body:"Noto Sans TC",sans-serif;--font-head:"Noto Sans TC",sans-serif;line-height:1.8}body:lang(zh) h1,body:lang(zh) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(ja){--font-body:"Noto Sans JP",sans-serif;--font-head:"Noto Sans JP",sans-serif;line-height:1.8}body:lang(ja) h1,body:lang(ja) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(ko){--font-body:"Noto Sans KR",sans-serif;--font-head:"Noto Sans KR",sans-serif;line-height:1.8}body:lang(ko) h1,body:lang(ko) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(si){--font-body:"Noto Sans Sinhala",sans-serif;--font-head:"Noto Sans Sinhala",sans-serif;line-height:1.8}body:lang(si) h1,body:lang(si) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(am){--font-body:"Noto Sans Ethiopic",sans-serif;--font-head:"Noto Sans Ethiopic",sans-serif;line-height:1.8}body:lang(am) h1,body:lang(am) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(kk){--font-body:"Noto Sans",sans-serif;--font-head:"Noto Sans",sans-serif;line-height:1.8}body:lang(kk) h1,body:lang(kk) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(uz){--font-body:"Noto Sans",sans-serif;--font-head:"Noto Sans",sans-serif;line-height:1.8}body:lang(uz) h1,body:lang(uz) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(az){--font-body:"Noto Sans",sans-serif;--font-head:"Noto Sans",sans-serif;line-height:1.8}body:lang(az) h1,body:lang(az) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(ru){--font-body:"Noto Sans",sans-serif;--font-head:"Noto Sans",sans-serif;line-height:1.8}body:lang(ru) h1,body:lang(ru) .g-lbl{letter-spacing:0;text-transform:none}
body:lang(uk){--font-body:"Noto Sans",sans-serif;--font-head:"Noto Sans",sans-serif;line-height:1.8}body:lang(uk) h1,body:lang(uk) .g-lbl{letter-spacing:0;text-transform:none}

#xtb a.xtb-b,#xtb .xtb-m a,#xtb summary{font-family:var(--font-body),sans-serif!important}
