:root{--ink:#183e2d;--green:#245f44;--deep:#173f2b;--cream:#faf9f0;--pale:#e8eedc;--pink:#ad357b;--yellow:#f3d36d;--text:#354d3f;--muted:#657364;--line:#d9dfcf;--white:#fff;--shadow:0 15px 42px #1d4d3310}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--text);font:calc(16px * var(--mw-font-scale,1))/1.9 Tahoma,"Noto Sans Thai",Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a{color:var(--green);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--pink);outline-offset:4px}button,input,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.site-shell{max-width:1260px;margin:auto;padding:0 52px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 18px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;background:none;border:0;text-align:left;color:var(--ink);padding:0}.brand img{border-radius:50%;object-fit:contain;background:#fff}.brand strong{font:bold calc(27px * var(--mw-font-scale,1))/1.25 Georgia,serif;display:block}.brand small{font-size:calc(9px * var(--mw-font-scale,1));letter-spacing:.16em;color:var(--pink);display:block;margin-top:5px}.header-actions{display:flex;gap:17px}.text-button{border:0;background:none;color:var(--green);padding:10px 0;font-size:calc(12px * var(--mw-font-scale,1));min-height:44px}.storage-status{font-size:calc(11px * var(--mw-font-scale,1));color:var(--muted);min-height:23px;margin:8px 0}.view{padding:17px 0 48px;min-height:65vh}.eyebrow{display:block;font-size:calc(10px * var(--mw-font-scale,1));letter-spacing:.12em;font-weight:bold;color:var(--green);margin:0 0 17px}.home-view{display:grid;grid-template-columns:1fr 1fr;gap:25px 45px;align-items:center;padding-top:32px}.home-copy h1{font-size:calc(clamp(36px,4.3vw,58px) * var(--mw-font-scale,1));line-height:1.5;letter-spacing:-.025em;color:var(--ink);margin:0 0 19px}.home-copy h1 em{font-style:normal;color:var(--green)}.home-lede{font-size:calc(17px * var(--mw-font-scale,1));color:var(--muted);line-height:1.9;margin-bottom:25px}.home-actions{display:flex;gap:10px;flex-wrap:wrap}.button{border:1px solid transparent;min-height:51px;padding:12px 22px;border-radius:8px;display:inline-flex;gap:18px;justify-content:center;align-items:center;font-size:calc(14px * var(--mw-font-scale,1));font-weight:bold;text-decoration:none;line-height:1.8}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#174b32}.button.pale{background:var(--pale);color:var(--green)}.button.outline{background:transparent;border-color:#b8c8b3;color:var(--green)}.button.compact{font-size:calc(12px * var(--mw-font-scale,1));min-height:44px;padding:8px 15px}.soft-note{font-size:calc(12px * var(--mw-font-scale,1));color:var(--muted);margin:14px 0}.garden-scene{height:425px;position:relative;background:#e5edda;border-radius:160px 160px 20px 20px;overflow:hidden;isolation:isolate}.scene-tag{position:absolute;top:25px;left:50%;transform:translateX(-50%);font-size:calc(10px * var(--mw-font-scale,1));letter-spacing:.08em;color:var(--green);white-space:nowrap;z-index:4}.garden-sun{width:175px;height:175px;background:#f1da88;border-radius:50%;position:absolute;top:50px;left:50%;transform:translateX(-50%)}.garden-hill{position:absolute;width:150%;height:210px;border-radius:50%;bottom:-85px;left:-25%;background:#8fa77a}.hill-back{background:#bdcca5;bottom:-30px;left:-40%;transform:rotate(16deg)}.hill-front{transform:rotate(-12deg)}.lantern{position:absolute;left:51%;top:136px;width:135px;z-index:3;transform:rotate(5deg)}.lantern-handle{width:54px;height:36px;border:7px solid var(--deep);border-bottom:0;border-radius:35px 35px 0 0;margin:0 auto}.lantern-glow{height:128px;background:#f9dc73;border:8px solid var(--deep);border-radius:25px;box-shadow:0 0 45px #fff3b69c;display:flex;align-items:center;justify-content:center;font:bold calc(31px * var(--mw-font-scale,1)) Georgia,serif;color:var(--deep)}.lantern-base{height:14px;border-radius:0 0 12px 12px;background:var(--deep);width:110px;margin:auto}.wizard-hat{position:absolute;top:182px;left:15%;width:0;height:0;border-left:54px solid transparent;border-right:54px solid transparent;border-bottom:124px solid #386b48;transform:rotate(-14deg);z-index:2}.wizard-hat:after{content:"";position:absolute;top:107px;left:-74px;width:148px;height:28px;background:var(--deep);border-radius:50%}.wizard-hat span{position:absolute;top:65px;left:-12px;color:var(--yellow);font-size:calc(29px * var(--mw-font-scale,1))}.scene-star{position:absolute;color:var(--pink);font-size:calc(34px * var(--mw-font-scale,1));z-index:4}.star-one{top:104px;left:19%}.star-two{top:89px;right:19%;font-size:calc(24px * var(--mw-font-scale,1))}.star-three{top:197px;right:10%;font-size:calc(21px * var(--mw-font-scale,1));color:var(--green)}.scene-caption{position:absolute;bottom:21px;left:25px;z-index:4;color:var(--deep);background:#faf9f0ed;border:1px solid #ffffffa0;padding:10px 17px;border-radius:8px;right:25px}.scene-caption span{font-size:calc(9px * var(--mw-font-scale,1));letter-spacing:.1em;display:block}.scene-caption strong{font-size:calc(20px * var(--mw-font-scale,1));line-height:1.5}.home-bottom{grid-column:1/-1;border-top:1px solid var(--line);margin-top:14px;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.tiny-label{font-size:calc(10px * var(--mw-font-scale,1));font-weight:bold;letter-spacing:.1em;color:var(--muted)}.home-bottom p{font-size:calc(13px * var(--mw-font-scale,1));margin:6px 0}.home-bottom p span{color:var(--pink);margin:0 6px}.challenge-card{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;color:var(--ink);text-align:left}.challenge-card strong{font-size:calc(14px * var(--mw-font-scale,1));display:block}.challenge-card small{font-size:calc(10px * var(--mw-font-scale,1));color:var(--muted)}.challenge-icon{font-size:calc(29px * var(--mw-font-scale,1));color:var(--pink)}.site-footer{border-top:1px solid var(--line);padding:21px 0 26px;font-size:calc(10px * var(--mw-font-scale,1));color:var(--muted);display:flex;justify-content:space-between;gap:15px}.view-top{display:flex;justify-content:space-between;align-items:start;gap:20px}.view-top .eyebrow{margin-bottom:7px}.view-top h1{font-size:calc(30px * var(--mw-font-scale,1));line-height:1.6;color:var(--ink);margin:0 0 10px}.step-position{font-size:calc(12px * var(--mw-font-scale,1));color:var(--muted);margin:0}.mission-track{display:flex;gap:6px;margin:21px 0 30px}.mission-dot{height:5px;flex:1;background:#dce3d0;border-radius:4px}.mission-dot.done{background:#9cb28a}.mission-dot.current{background:var(--pink)}.lesson-heading h1{font-size:calc(clamp(27px,3.5vw,40px) * var(--mw-font-scale,1));line-height:1.6;color:var(--ink);margin:0 0 10px}.lesson-heading>p{color:var(--muted);font-size:calc(14px * var(--mw-font-scale,1));margin:0 0 23px}.learning-panel{background:#fff;border:1px solid var(--line);padding:30px;border-radius:15px;box-shadow:var(--shadow)}.story-text{font-size:calc(clamp(19px,2.8vw,25px) * var(--mw-font-scale,1));line-height:1.95;color:var(--ink);max-width:780px;margin:0 0 13px}.question{font-size:calc(18px * var(--mw-font-scale,1));font-weight:bold;color:var(--green);margin:14px 0 20px}.audio-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 24px}.audio-row button{border:1px solid var(--line);background:var(--cream);padding:7px 13px;border-radius:6px;font-size:calc(12px * var(--mw-font-scale,1));min-height:44px}.audio-note{font-size:calc(11px * var(--mw-font-scale,1));color:var(--muted);max-width:480px}.choices{display:grid;gap:10px;margin:19px 0}.choice-button{display:flex;gap:13px;align-items:center;text-align:left;border:1px solid var(--line);background:#fafbf6;border-radius:9px;padding:16px 18px;min-height:58px;font-size:calc(15px * var(--mw-font-scale,1));color:var(--ink);line-height:1.8}.choice-button .choice-number{border:1px solid #c9d6bf;border-radius:50%;height:29px;width:29px;min-width:29px;display:grid;place-items:center;font-size:calc(11px * var(--mw-font-scale,1));color:var(--green)}.choice-button[aria-pressed="true"]{border-color:var(--green);background:#eaf2e1;box-shadow:inset 0 0 0 1px var(--green)}.feedback{font-size:calc(14px * var(--mw-font-scale,1));min-height:30px;margin:18px 0;color:var(--text)}.feedback.error{color:#9b3850}.feedback.success{color:var(--green)}.lesson-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.model-layout{display:grid;grid-template-columns:1fr 45px 1fr;gap:15px;align-items:center}.light-group{border:1px solid var(--line);background:#f6f8ee;border-radius:13px;padding:20px 16px;text-align:center;color:var(--ink);width:100%}.light-group:disabled{opacity:1;cursor:default}.light-group strong{display:block;font-size:calc(15px * var(--mw-font-scale,1));margin-bottom:12px}.ten-frame{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-width:310px;margin:auto}.light-cell{aspect-ratio:1;border:1px dashed #b3c5a3;border-radius:50%;background:#fff;display:grid;place-items:center;position:relative}.light-cell.filled{background:var(--yellow);border:2px solid #e2bb42;box-shadow:0 2px 9px #d9bd5830}.light-cell.filled:after{content:"✦";font-size:calc(20px * var(--mw-font-scale,1));line-height:1;color:#8c6b18}.light-group p{font-size:calc(12px * var(--mw-font-scale,1));margin:13px 0 0}.model-arrow{font-size:calc(27px * var(--mw-font-scale,1));color:var(--pink);text-align:center}.model-controls{display:flex;justify-content:center;gap:10px;margin:23px 0}.model-message{font-size:calc(18px * var(--mw-font-scale,1));color:var(--green);text-align:center;font-weight:bold}.answer-form{max-width:460px}.answer-form label{display:block;font-size:calc(13px * var(--mw-font-scale,1));font-weight:bold;color:var(--ink);margin:12px 0 8px}.input-row{display:flex;align-items:center;gap:12px}.numeric-input{min-width:0;width:100%;max-width:240px;border:2px solid #b6c9a6;border-radius:10px;background:#fff;font-size:calc(29px * var(--mw-font-scale,1));padding:9px 15px;color:var(--ink);min-height:64px}.input-unit{font-size:calc(16px * var(--mw-font-scale,1));color:var(--muted)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-width:280px;margin:15px 0}.keypad button{min-height:45px;background:#f1f5e9;border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:calc(18px * var(--mw-font-scale,1))}.keypad button:last-child{font-size:calc(12px * var(--mw-font-scale,1))}.hint-box{margin:20px 0;background:#fcf7df;border-left:3px solid var(--yellow);padding:14px 18px;max-width:700px}.hint-box ol{padding-left:22px;margin:5px 0}.hint-box li{font-size:calc(13px * var(--mw-font-scale,1));margin:6px 0}.hint-button{background:transparent;border:1px solid #dbc76e;color:#6b5c20}.drawing-wrap{max-width:700px}.writing-canvas{display:block;width:100%;height:230px;border:2px dashed #b7cba7;border-radius:13px;background:#fbfcf8;touch-action:none;margin:16px 0}.writing-tools{display:flex;gap:8px;flex-wrap:wrap}.fine{font-size:calc(11px * var(--mw-font-scale,1));line-height:1.9;color:var(--muted)}.writing-tools button{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px 14px;font-size:calc(12px * var(--mw-font-scale,1))}.summary-hero{background:#eaf2df;border:1px solid #cfdcbe;padding:26px;border-radius:12px;text-align:center}.summary-hero .summary-star{font-size:calc(45px * var(--mw-font-scale,1));color:var(--pink);display:block}.summary-hero h2{font-size:calc(29px * var(--mw-font-scale,1));color:var(--ink);margin:3px 0 12px}.summary-hero p{font-size:calc(14px * var(--mw-font-scale,1));max-width:650px;margin:10px auto}.summary-list{padding:0;list-style:none;margin:21px 0}.summary-list li{border-bottom:1px solid var(--line);padding:13px 0;font-size:calc(14px * var(--mw-font-scale,1));display:flex;justify-content:space-between;gap:14px}.summary-list li strong{color:var(--green);font-size:calc(12px * var(--mw-font-scale,1));white-space:nowrap}.challenge-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:24px;margin:25px 0}.score-strip{display:flex;justify-content:space-between;gap:18px;background:#eaf0e1;border:1px solid #d3dfc8;padding:17px 23px;border-radius:12px;margin-bottom:17px}.score-strip small{font-size:calc(11px * var(--mw-font-scale,1));color:var(--muted);display:block}.score-strip strong{font-size:calc(23px * var(--mw-font-scale,1));color:var(--green);font-variant-numeric:tabular-nums}.ranking-panel{background:#f1f2e8;padding:25px 23px;border:1px solid var(--line);border-radius:13px;align-self:start}.ranking-panel h2{font-size:calc(21px * var(--mw-font-scale,1));color:var(--ink);margin:8px 0}.ranking-list{list-style:none;padding:0;margin:18px 0}.ranking-list li{padding:12px 0;border-bottom:1px solid #d5dfcd;font-size:calc(12px * var(--mw-font-scale,1))}.ranking-list strong{color:var(--green)}.challenge-question{font-size:calc(28px * var(--mw-font-scale,1));color:var(--ink);line-height:1.6;margin:0 0 21px}.parent-gate{max-width:650px;margin:25px auto;background:#fff;border:1px solid var(--line);padding:30px;border-radius:13px}.parent-gate h2{color:var(--ink);font-size:calc(24px * var(--mw-font-scale,1));margin:0}.parent-gate p{font-size:calc(14px * var(--mw-font-scale,1))}.parent-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;margin:25px 0}.parent-box{background:#fff;border:1px solid var(--line);padding:25px;border-radius:12px}.parent-box h2{font-size:calc(21px * var(--mw-font-scale,1));color:var(--ink);margin:0 0 15px}.parent-box p{font-size:calc(13px * var(--mw-font-scale,1))}.contact-list{list-style:none;padding:0;margin:15px 0}.contact-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:calc(12px * var(--mw-font-scale,1))}.inline-confirm{border:1px solid #d9bf87;background:#fff7df;padding:18px;border-radius:10px;margin:20px 0}.inline-confirm p{font-size:calc(13px * var(--mw-font-scale,1));margin:0 0 13px}.skip-link{position:absolute;left:20px;top:-80px;z-index:100;background:var(--green);color:#fff;padding:12px}.skip-link:focus{top:10px}.noscript{padding:25px;background:#fff0bd;color:var(--ink)}
@media(max-width:950px){.site-shell{padding:0 30px}.home-view{gap:28px}.garden-scene{height:370px}.lantern{left:50%;top:115px;width:122px}.wizard-hat{left:12%;top:153px}.scene-caption{bottom:17px;left:18px;right:18px}.garden-sun{width:150px;height:150px}.home-copy h1{font-size:calc(40px * var(--mw-font-scale,1))}.home-lede{font-size:calc(15px * var(--mw-font-scale,1))}.home-bottom{gap:15px}.challenge-layout{grid-template-columns:1fr 280px}.model-layout{gap:9px;grid-template-columns:1fr 28px 1fr}.light-group{padding:17px 10px}.ten-frame{gap:5px}.light-cell.filled:after{font-size:calc(16px * var(--mw-font-scale,1))}.parent-columns{gap:20px}}
@media(max-width:700px){.site-shell{padding:0 20px}.site-header{padding:17px 0 13px;gap:10px}.brand img{width:45px;height:45px}.brand{gap:9px}.brand strong{font-size:calc(21px * var(--mw-font-scale,1))}.brand small{font-size:calc(7px * var(--mw-font-scale,1));letter-spacing:.08em}.header-actions{gap:10px;align-items:center}.text-button{font-size:calc(10px * var(--mw-font-scale,1));padding:6px 0;max-width:85px;line-height:1.6}.storage-status{font-size:calc(10px * var(--mw-font-scale,1));line-height:1.7;margin:8px 0}.view{padding:12px 0 30px}.home-view{grid-template-columns:1fr;gap:20px;padding-top:14px}.home-copy h1{font-size:calc(37px * var(--mw-font-scale,1));line-height:1.55;margin-bottom:12px}.eyebrow{font-size:calc(9px * var(--mw-font-scale,1));margin-bottom:13px}.home-lede{font-size:calc(15px * var(--mw-font-scale,1));margin-top:8px;margin-bottom:20px}.home-copy{order:1}.garden-scene{order:2;height:295px;border-radius:90px 90px 16px 16px}.home-bottom{order:3;flex-direction:column;align-items:stretch;padding-top:20px;margin-top:0}.garden-sun{width:130px;height:130px;top:36px}.scene-tag{top:16px}.lantern{top:85px;left:53%;width:108px}.lantern-glow{height:103px;border-width:6px;font-size:calc(27px * var(--mw-font-scale,1))}.lantern-handle{height:27px;width:43px;border-width:5px}.lantern-base{width:90px;height:12px}.wizard-hat{top:115px;left:16%;transform:scale(.8) rotate(-14deg);transform-origin:top left}.scene-caption{bottom:13px;padding:7px 14px}.scene-caption strong{font-size:calc(17px * var(--mw-font-scale,1))}.scene-caption span{font-size:calc(8px * var(--mw-font-scale,1))}.star-one{top:73px;left:17%;font-size:calc(28px * var(--mw-font-scale,1))}.star-two{top:58px;right:18%}.star-three{top:118px;right:11%}.site-footer{flex-direction:column;gap:3px;font-size:calc(9px * var(--mw-font-scale,1))}.view-top{gap:12px}.view-top h1{font-size:calc(25px * var(--mw-font-scale,1))}.button{padding:12px 17px;font-size:calc(13px * var(--mw-font-scale,1));min-height:49px}.button.compact{font-size:calc(11px * var(--mw-font-scale,1));padding:7px 12px;min-height:44px}.mission-track{margin:18px 0 22px;gap:4px}.lesson-heading h1{font-size:calc(27px * var(--mw-font-scale,1))}.lesson-heading>p{font-size:calc(13px * var(--mw-font-scale,1));margin-bottom:19px}.learning-panel{padding:21px 17px;border-radius:11px}.story-text{font-size:calc(19px * var(--mw-font-scale,1))}.question{font-size:calc(16px * var(--mw-font-scale,1))}.choice-button{padding:13px 12px;gap:10px;font-size:calc(13px * var(--mw-font-scale,1));min-height:59px}.model-layout{grid-template-columns:1fr;gap:10px}.model-arrow{transform:rotate(-90deg);font-size:calc(22px * var(--mw-font-scale,1));line-height:1.2}.ten-frame{max-width:255px;gap:6px}.light-cell.filled:after{font-size:calc(20px * var(--mw-font-scale,1))}.light-group{padding:13px}.light-group strong{font-size:calc(14px * var(--mw-font-scale,1));margin-bottom:9px}.light-group p{margin-top:8px}.model-controls{margin:16px 0;flex-wrap:wrap}.model-message{font-size:calc(16px * var(--mw-font-scale,1))}.lesson-actions{gap:8px}.challenge-layout{grid-template-columns:1fr;gap:20px}.score-strip{padding:13px 15px;gap:10px}.score-strip strong{font-size:calc(21px * var(--mw-font-scale,1))}.score-strip small{font-size:calc(10px * var(--mw-font-scale,1))}.challenge-question{font-size:calc(25px * var(--mw-font-scale,1))}.parent-columns{grid-template-columns:1fr;gap:18px}.parent-box,.parent-gate{padding:22px 18px}.summary-list li{font-size:calc(12px * var(--mw-font-scale,1))}.summary-list li strong{font-size:calc(11px * var(--mw-font-scale,1));white-space:normal;text-align:right}.summary-hero{padding:20px 16px}.summary-hero h2{font-size:calc(25px * var(--mw-font-scale,1))}.writing-canvas{height:200px}.feedback{font-size:calc(13px * var(--mw-font-scale,1))}.input-unit{font-size:calc(14px * var(--mw-font-scale,1))}.audio-row{gap:8px;margin-bottom:18px}.audio-note{font-size:calc(10px * var(--mw-font-scale,1))}.challenge-card{padding:14px 17px}.challenge-card small{font-size:calc(10px * var(--mw-font-scale,1))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Six grade routes share the same gentle practice controls. */
.grade-picker{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 11px}.grade-picker button{background:#fff;border:1px solid #c3d0b8;color:var(--green);min-width:62px;min-height:47px;border-radius:8px;padding:8px 15px;font-size:calc(14px * var(--mw-font-scale,1));font-weight:bold}.grade-picker button[aria-pressed="true"]{color:#fff;background:var(--green);border-color:var(--green)}.grade-profile{font-size:calc(12px * var(--mw-font-scale,1));color:var(--muted);line-height:1.9;max-width:470px;min-height:47px;margin:10px 0 20px}.guided-card{max-width:570px}.guided-card>p{margin:5px 0 12px}.practice-layout{grid-template-columns:minmax(0,780px);justify-content:center}.practice-layout .score-strip{justify-content:flex-start;gap:55px}.lantern-glow{font-family:Georgia,serif}.challenge-question{overflow-wrap:anywhere}.home-view{align-items:start}.garden-scene{margin-top:30px}@media(max-width:700px){.grade-picker{gap:7px;margin:15px 0 10px}.grade-picker button{flex:1;min-width:50px;padding:8px 11px}.grade-profile{min-height:0;font-size:calc(12px * var(--mw-font-scale,1));margin-bottom:17px}.garden-scene{margin-top:0}.home-bottom{align-items:stretch}.guided-card{max-width:none}.practice-layout .score-strip{gap:35px}.home-copy h1{font-size:calc(35px * var(--mw-font-scale,1))}.keypad{max-width:280px}}

/* Round-local adventure rewards reflect real first answers and completion. */
.round-adventure{border:1px solid #d1ddbf;background:#edf3e3;border-radius:14px;padding:19px 23px;margin:21px 0 25px;display:grid;grid-template-columns:1fr auto;gap:15px 25px}.mascot-message{display:flex;align-items:center;gap:13px}.mascot-message img{border-radius:50%;object-fit:contain;background:#fff;border:2px solid #fff;width:58px;height:58px;flex-shrink:0}.mascot-message p{font-size:calc(14px * var(--mw-font-scale,1));color:var(--green);font-weight:bold;margin:0;line-height:1.8}.round-stars{display:flex;gap:10px;align-items:center}.round-stars>span{font-size:calc(31px * var(--mw-font-scale,1));color:#a47a10}.round-stars small{font-size:calc(10px * var(--mw-font-scale,1));color:var(--muted);display:block}.round-stars strong{font-size:calc(24px * var(--mw-font-scale,1));color:var(--green);line-height:1.5}.adventure-path{grid-column:1/-1;list-style:none;padding:0;margin:3px 0 0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}.adventure-path:before{content:"";height:3px;background:#cad9b8;position:absolute;top:23px;left:10%;right:10%}.path-stop{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:1}.path-symbol{width:48px;height:48px;border:2px solid #b9cda7;background:#f9fbf5;border-radius:50%;display:grid;place-items:center;color:var(--muted);font-weight:bold;font-size:calc(17px * var(--mw-font-scale,1))}.path-stop.current .path-symbol{border-color:var(--pink);box-shadow:0 0 0 4px #ad357b13;color:var(--pink)}.path-stop.correct .path-symbol{background:var(--yellow);border-color:#d4b147;color:#8c6b18;font-size:calc(24px * var(--mw-font-scale,1))}.path-stop.tried:not(.correct) .path-symbol{background:#d5e6c5;border-color:#9db889;color:var(--green)}.path-stop small{font-size:calc(10px * var(--mw-font-scale,1));color:var(--muted)}.path-stop.current small{color:var(--pink);font-weight:bold}.path-stop.earned .path-symbol{animation:star-bloom .6s ease-out}.adventure-note{grid-column:1/-1;font-size:calc(10px * var(--mw-font-scale,1));color:var(--muted);text-align:center;margin:1px 0 0}.success-bloom{animation:feedback-bloom .5s ease-out}.completion-badge{position:relative;max-width:320px;margin:2px auto 23px;padding:12px 35px;text-align:center;color:var(--green)}.completion-badge .medal{width:78px;height:78px;border-radius:50%;border:5px solid #e3bd4d;box-shadow:inset 0 0 0 4px #fff0b7;background:var(--yellow);font-size:calc(35px * var(--mw-font-scale,1));color:#8c6b18;display:grid;place-items:center;margin:0 auto 13px;animation:star-bloom .65s ease-out}.completion-badge>strong{display:block;font-size:calc(20px * var(--mw-font-scale,1))}.completion-badge>small{font-size:calc(12px * var(--mw-font-scale,1));color:var(--muted)}.completion-spark{position:absolute;color:var(--pink);font-size:calc(23px * var(--mw-font-scale,1));animation:spark-rise .8s ease-out}.spark-a{left:25px;top:18px}.spark-b{right:24px;top:3px;color:#c29b2d}.spark-c{right:14px;top:71px;font-size:calc(17px * var(--mw-font-scale,1));color:var(--green)}@keyframes star-bloom{0%{transform:scale(.65) rotate(-12deg)}65%{transform:scale(1.13) rotate(5deg)}100%{transform:scale(1) rotate(0)}}@keyframes feedback-bloom{0%{transform:translateY(5px);opacity:.4}100%{transform:translateY(0);opacity:1}}@keyframes spark-rise{0%{transform:translateY(12px);opacity:0}100%{transform:translateY(0);opacity:1}}@media(max-width:700px){.round-adventure{padding:16px 13px;gap:15px 10px;margin:17px 0 20px}.mascot-message{gap:9px}.mascot-message img{width:43px;height:43px}.mascot-message p{font-size:calc(12px * var(--mw-font-scale,1))}.round-stars{gap:5px}.round-stars>span{font-size:calc(24px * var(--mw-font-scale,1))}.round-stars strong{font-size:calc(20px * var(--mw-font-scale,1))}.round-stars small{font-size:calc(8px * var(--mw-font-scale,1))}.path-symbol{width:39px;height:39px;font-size:calc(14px * var(--mw-font-scale,1))}.adventure-path:before{top:19px}.path-stop.correct .path-symbol{font-size:calc(20px * var(--mw-font-scale,1))}.path-stop small{font-size:calc(9px * var(--mw-font-scale,1))}.adventure-note{font-size:calc(9px * var(--mw-font-scale,1));line-height:1.8}.completion-badge{padding:10px 25px}.completion-badge>strong{font-size:calc(18px * var(--mw-font-scale,1))}}
@media(prefers-reduced-motion:reduce){.path-stop.earned .path-symbol,.success-bloom,.completion-badge .medal,.completion-spark{animation:none!important}}

.scratchpad{margin:22px 0 8px;border:1px solid #d7cfa8;border-radius:10px;background:#fcfbef;overflow:hidden}.scratchpad>summary{padding:14px 17px;cursor:pointer;font-weight:bold;font-size:calc(14px * var(--mw-font-scale,1));color:var(--green);min-height:49px}.scratchpad>summary:focus-visible{outline:3px solid var(--pink);outline-offset:-4px}.scratchpad[open]>summary{border-bottom:1px solid #e1dbbd;background:#f4f1d9}.scratchpad-body{padding:5px 17px 17px}.scratchpad-invite{font-size:calc(14px * var(--mw-font-scale,1));color:var(--green);margin:12px 0}.scratchpad-canvas{height:240px;background-color:#fffef7;background-image:linear-gradient(#dbe6d580 1px,transparent 1px);background-size:100% 30px;border-style:solid;border-width:1px;border-color:#d7dfcb}.scratchpad .feedback{margin:9px 0;min-height:0;font-size:calc(12px * var(--mw-font-scale,1))}.scratchpad .fine{margin-bottom:0}@media(max-width:700px){.scratchpad>summary{font-size:calc(13px * var(--mw-font-scale,1));padding:13px 14px}.scratchpad-body{padding:4px 12px 14px}.scratchpad-canvas{height:215px}.scratchpad-invite{font-size:calc(13px * var(--mw-font-scale,1))}}

/* A visual before/after comparison replaces the long explanation prompt. */
.explanation-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 12px}.comparison-card{margin:0;border:1px solid #cbd8bf;border-radius:12px;background:#f7faf1;padding:18px 19px 14px}.comparison-label{font-size:calc(17px * var(--mw-font-scale,1));font-weight:bold;color:var(--green);margin:0 0 13px;text-align:center}.comparison-groups{display:grid;grid-template-columns:1fr 1fr;gap:14px}.comparison-group{min-width:0}.comparison-count{display:block;text-align:center;font-size:calc(13px * var(--mw-font-scale,1));color:var(--ink);margin-bottom:9px}.comparison-frame{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.comparison-frame .light-cell{max-width:43px}.comparison-frame .light-cell.filled:after{font-size:calc(17px * var(--mw-font-scale,1))}.comparison-frame .moved-light{border:2px solid var(--pink);background:#f4d9e7}.comparison-frame .moved-light:after{color:#9a366d}.comparison-total{margin:14px 0 0;text-align:center;font-weight:bold;color:var(--green);font-size:calc(14px * var(--mw-font-scale,1))}.comparison-note{text-align:center;font-size:calc(11px * var(--mw-font-scale,1));color:var(--muted);margin:6px 0 23px}@media(max-width:700px){.explanation-comparison{grid-template-columns:1fr;gap:13px}.comparison-card{padding:13px 14px}.comparison-label{font-size:calc(15px * var(--mw-font-scale,1));margin-bottom:9px}.comparison-groups{gap:12px;max-width:300px;margin:auto}.comparison-frame{gap:4px}.comparison-frame .light-cell.filled:after{font-size:calc(15px * var(--mw-font-scale,1))}.comparison-count{font-size:calc(12px * var(--mw-font-scale,1));margin-bottom:6px}.comparison-total{font-size:calc(13px * var(--mw-font-scale,1));margin-top:10px}.comparison-note{font-size:calc(10px * var(--mw-font-scale,1));margin-bottom:19px}}
/* A dedicated writing playground: five games and a mixed 14-activity route. */
.home-game-picker{margin:19px 0 21px}.home-game-picker h2{font-size:calc(20px * var(--mw-font-scale,1));color:var(--ink);line-height:1.6;margin:0 0 12px}.workshop-mixed{display:flex;align-items:center;gap:13px;width:100%;border:1px solid var(--green);background:var(--green);color:#fff;text-align:left;padding:15px 17px;border-radius:11px;min-height:76px}.workshop-mixed strong{display:block;font-size:calc(17px * var(--mw-font-scale,1));line-height:1.5}.workshop-mixed small{display:block;font-size:calc(10px * var(--mw-font-scale,1));color:#e1ebd6;margin-top:3px}.workshop-mixed>span:last-child{margin-left:auto;font-size:calc(20px * var(--mw-font-scale,1))}.workshop-game-icon{font-size:calc(32px * var(--mw-font-scale,1));color:var(--yellow)}.workshop-game-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.workshop-game-grid button{display:grid;grid-template-columns:29px 1fr;gap:1px 8px;align-items:center;text-align:left;border:1px solid #ccd9c0;background:#f2f6e9;border-radius:9px;min-height:70px;padding:10px 12px;color:var(--ink)}.workshop-game-grid button>span{grid-row:1/3;font-size:calc(27px * var(--mw-font-scale,1));color:var(--green)}.workshop-game-grid strong{font-size:calc(13px * var(--mw-font-scale,1));line-height:1.7}.workshop-game-grid small{font-size:calc(9px * var(--mw-font-scale,1));color:var(--muted);line-height:1.7}.workshop-game-grid button[data-workshop-mode="trace"]{background:#fbf3d7;border-color:#e5d49a}.workshop-game-grid button[data-workshop-mode="copy"]{background:#f7eaf1;border-color:#e1c8d7}.workshop-game-grid button[data-workshop-mode="copy"]>span{color:var(--pink)}.workshop-game-grid button[data-workshop-mode="coins"]{grid-column:1/-1;background:#fcf5dd;border-color:#dfcf95}.workshop-game-grid button[data-workshop-mode="coins"]>span{color:#a8821b}.random-practice-label{margin-bottom:9px}.handwriting-view .view-top h1{font-size:calc(31px * var(--mw-font-scale,1))}.workshop-progress{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:12px 0 10px}.workshop-progress>p{font-size:calc(12px * var(--mw-font-scale,1));color:var(--muted);margin:0}.workshop-stars{display:flex;align-items:center;gap:8px;font-size:calc(11px * var(--mw-font-scale,1));color:var(--green)}.workshop-stars>span:first-child{color:#b08b22;font-size:calc(22px * var(--mw-font-scale,1))}.workshop-stars strong{font-size:calc(16px * var(--mw-font-scale,1))}.workshop-progress-track{height:6px;border-radius:5px;background:#e3ead8;overflow:hidden;margin-bottom:24px}.workshop-progress-track>span{display:block;height:100%;background:var(--green);border-radius:5px;transition:width .2s ease}.handwriting-panel{max-width:940px;margin:auto}.workshop-instruction{font-size:calc(17px * var(--mw-font-scale,1));line-height:1.95;color:var(--green);margin:0 0 12px}.handwriting-game-canvas{display:block;width:100%;height:320px;touch-action:none;border:2px solid #cfdbbd;border-radius:12px;background:#fffef9;margin:15px 0 12px;user-select:none}.number-copy-target{font:bold calc(54px * var(--mw-font-scale,1))/1.4 Georgia,serif;text-align:center;color:var(--green);padding:10px 20px;background:#eef3e4;border:1px solid #d2dfc2;border-radius:10px;max-width:330px;margin:10px auto 19px;letter-spacing:.06em}.tap-matching{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:12px 0 20px}.tap-match-column{display:grid;gap:8px;align-content:start}.tap-match-column>.tiny-label{text-align:center;margin-bottom:3px}.tap-match-button{text-align:center;min-height:51px;line-height:1.8;font-size:calc(13px * var(--mw-font-scale,1));color:var(--ink);background:#f4f7ed;border:1px solid #cbd9be;border-radius:8px;padding:10px 12px;overflow-wrap:anywhere}.tap-match-button[aria-pressed="true"]{border-color:var(--pink);background:#f5e7ef;box-shadow:inset 0 0 0 1px var(--pink)}.tap-match-button:disabled{opacity:.6;border-style:dashed;background:#dcebd0}.handwriting-complete{text-align:center;padding:15px 20px}.handwriting-complete .medal{display:grid;place-items:center;width:85px;height:85px;background:var(--yellow);border:5px solid #dfbb4d;border-radius:50%;font-size:calc(40px * var(--mw-font-scale,1));color:var(--green);margin:0 auto 22px}.handwriting-complete h2{font-size:calc(27px * var(--mw-font-scale,1));color:var(--ink);margin:0 0 14px}.handwriting-complete p{font-size:calc(14px * var(--mw-font-scale,1))}.handwriting-complete .fine{font-size:calc(11px * var(--mw-font-scale,1))}.coin-game{max-width:670px;margin:auto}.coin-goal{text-align:center;font-size:calc(25px * var(--mw-font-scale,1));font-weight:bold;color:var(--green);margin:8px 0 20px}.coin-tray{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;border:3px solid #d4bf7c;background:#faf3d9;padding:19px;border-radius:16px;min-height:120px;box-shadow:inset 0 3px 9px #8b74250d}.coin-slot{aspect-ratio:1;border-radius:50%;border:2px dashed #c8b36b;display:grid;place-items:center;background:#fffdf4;color:#ae9c62;font:bold calc(24px * var(--mw-font-scale,1))/1 Georgia,serif;min-height:44px;padding:0;max-width:85px;justify-self:center;width:100%}.coin-slot.filled{background:#f2d272;border:4px solid #d1ac3e;color:#86641b;box-shadow:inset 0 0 0 3px #ffeeb1}.coin-slot.original{background:#e4dab8;border-color:#b6a571;color:#786838;opacity:1}.coin-reserve{display:flex;justify-content:center;align-items:center;gap:17px;text-align:left;color:var(--green);border:1px solid #d8ddb9;background:#f2f5e7;border-radius:10px;padding:12px 18px;min-height:78px;width:100%;margin:20px 0;touch-action:none;user-select:none;font-size:calc(13px * var(--mw-font-scale,1))}.reserve-coin,.coin-drag-ghost{width:54px;height:54px;min-width:54px;border:4px solid #d0aa3f;background:#f3d477;box-shadow:inset 0 0 0 3px #fff0ba;border-radius:50%;display:grid;place-items:center;font:bold calc(24px * var(--mw-font-scale,1))/1 Georgia,serif;color:#81621b}.coin-drag-ghost{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 7px 25px #634d2855}.coin-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:15px 0}.coin-amount{text-align:center;font-weight:bold;font-size:calc(17px * var(--mw-font-scale,1));color:var(--green);margin:15px 0}.coin-game>.fine{text-align:center;font-size:calc(10px * var(--mw-font-scale,1))}@media(max-width:950px){.workshop-game-grid strong{font-size:calc(12px * var(--mw-font-scale,1))}.workshop-game-grid button{padding:9px 10px;grid-template-columns:23px 1fr;gap:1px 6px}.workshop-game-grid button>span{font-size:calc(23px * var(--mw-font-scale,1))}.workshop-mixed small{font-size:calc(9px * var(--mw-font-scale,1))}.workshop-mixed strong{font-size:calc(15px * var(--mw-font-scale,1))}.workshop-mixed{padding:13px}.workshop-game-icon{font-size:calc(28px * var(--mw-font-scale,1))}}
@media(max-width:700px){.home-game-picker{margin:17px 0 20px}.home-game-picker h2{font-size:calc(19px * var(--mw-font-scale,1));margin-bottom:11px}.workshop-mixed{min-height:78px;padding:13px 14px}.workshop-mixed strong{font-size:calc(17px * var(--mw-font-scale,1))}.workshop-mixed small{font-size:calc(9px * var(--mw-font-scale,1));max-width:210px}.workshop-game-grid{gap:7px}.workshop-game-grid button{min-height:72px;padding:10px;grid-template-columns:23px 1fr}.workshop-game-grid strong{font-size:calc(12px * var(--mw-font-scale,1))}.workshop-game-grid small{font-size:calc(8px * var(--mw-font-scale,1))}.workshop-game-grid button>span{font-size:calc(24px * var(--mw-font-scale,1))}.handwriting-view .view-top h1{font-size:calc(25px * var(--mw-font-scale,1))}.workshop-instruction{font-size:calc(15px * var(--mw-font-scale,1))}.workshop-progress{align-items:start;gap:10px;margin-top:10px}.workshop-stars{font-size:calc(9px * var(--mw-font-scale,1));gap:5px;white-space:nowrap}.workshop-stars strong{font-size:calc(14px * var(--mw-font-scale,1))}.workshop-stars>span:first-child{font-size:calc(19px * var(--mw-font-scale,1))}.workshop-progress>p{font-size:calc(10px * var(--mw-font-scale,1))}.handwriting-game-canvas{height:290px;border-radius:9px;margin-top:12px}.number-copy-target{font-size:calc(47px * var(--mw-font-scale,1));max-width:250px;padding:8px 16px;margin-bottom:14px}.tap-matching{gap:12px}.tap-match-button{font-size:calc(11px * var(--mw-font-scale,1));min-height:53px;padding:9px 7px}.coin-goal{font-size:calc(21px * var(--mw-font-scale,1));margin-bottom:15px}.coin-tray{gap:7px;padding:12px;border-width:2px;border-radius:12px;min-height:102px}.coin-slot{font-size:calc(18px * var(--mw-font-scale,1));border-width:1px;min-height:33px}.coin-slot.filled{border-width:2px;box-shadow:inset 0 0 0 2px #fff0b5}.coin-reserve{gap:12px;padding:11px 13px;margin:16px 0;font-size:calc(12px * var(--mw-font-scale,1))}.reserve-coin{width:47px;height:47px;min-width:47px;border-width:3px;font-size:calc(22px * var(--mw-font-scale,1))}.coin-controls{gap:8px}.coin-amount{font-size:calc(14px * var(--mw-font-scale,1))}.handwriting-complete{padding:12px 4px}.handwriting-complete h2{font-size:calc(23px * var(--mw-font-scale,1))}}
@media(prefers-reduced-motion:reduce){.workshop-progress-track>span{transition:none}}

.workshop-long{display:grid;grid-template-columns:1fr auto;gap:1px 10px;width:100%;text-align:left;background:#f9f3de;border:1px solid #e0ce94;color:var(--green);padding:11px 15px;border-radius:9px;margin-top:9px;min-height:62px}.workshop-long strong{font-size:calc(14px * var(--mw-font-scale,1));line-height:1.7}.workshop-long small{grid-column:1;font-size:calc(9px * var(--mw-font-scale,1));color:var(--muted);line-height:1.8}.workshop-long>span{grid-column:2;grid-row:1/3;align-self:center;font-size:calc(22px * var(--mw-font-scale,1));color:var(--pink)}@media(max-width:700px){.workshop-long{padding:10px 13px}.coin-tray{grid-template-columns:repeat(4,1fr)}}

/* Writing is the primary answer action; the keypad is a secondary confirmation. */
.motor-mode-note{font-size:calc(10px * var(--mw-font-scale,1));color:var(--green);line-height:1.9;border-left:3px solid #b7c99f;padding:6px 10px;margin:-6px 0 18px}.answer-writing-surface{border:1px solid #c9d7b8;background:#f7faef;border-radius:13px;padding:20px;margin:17px 0 23px}.answer-writing-title{font-size:calc(20px * var(--mw-font-scale,1));line-height:1.7;color:var(--green);margin:0 0 7px}.answer-writing-surface>.fine{margin:4px 0 13px}.answer-motor-canvas{height:310px;background-color:#fffef9;background-image:linear-gradient(#dbe5d188 1px,transparent 1px);background-size:100% 38px;border-style:solid;border-width:2px;border-color:#b5c99f;margin:14px 0}.answer-writing-surface .feedback{font-size:calc(12px * var(--mw-font-scale,1));min-height:24px;margin:10px 0 15px}.motor-confirm{margin-top:2px}.numeric-confirmation{border:1px solid #d9dfd0;border-radius:9px;background:#f2f4ed;padding:16px 18px;margin:10px 0 16px;max-width:400px}.numeric-confirmation label{font-size:calc(12px * var(--mw-font-scale,1));margin-top:0}.numeric-confirmation .numeric-input{font-size:calc(24px * var(--mw-font-scale,1));min-height:55px;border-width:1px;background:#fff;max-width:220px}.numeric-confirmation .keypad{max-width:245px;gap:6px;margin:11px 0}.numeric-confirmation .keypad button{font-size:calc(16px * var(--mw-font-scale,1));min-height:44px;background:#fff}.numeric-confirmation>.button.primary{background:#dce8ce;color:var(--green);font-size:calc(12px * var(--mw-font-scale,1));min-height:45px}.motor-settings{margin:20px 0}.motor-settings .button{justify-content:flex-start;text-align:left;line-height:1.8}.motor-settings>p{max-width:780px}.scratchpad .answer-writing-surface{border:0;padding:4px 0 0;margin:0;background:transparent}.scratchpad .answer-writing-title{font-size:calc(17px * var(--mw-font-scale,1))}.handwriting-panel>.answer-motor-canvas{height:330px}@media(max-width:700px){.motor-mode-note{font-size:calc(9px * var(--mw-font-scale,1));padding:5px 9px;margin:-4px 0 15px}.answer-writing-surface{padding:16px 13px;margin:15px 0 19px;border-radius:10px}.answer-writing-title{font-size:calc(18px * var(--mw-font-scale,1))}.answer-writing-surface>.fine{font-size:calc(10px * var(--mw-font-scale,1))}.answer-motor-canvas{height:280px;margin:11px 0}.answer-writing-surface .feedback{font-size:calc(11px * var(--mw-font-scale,1))}.numeric-confirmation{padding:14px 13px;max-width:none}.numeric-confirmation .numeric-input{font-size:calc(23px * var(--mw-font-scale,1))}.motor-confirm{width:100%;font-size:calc(12px * var(--mw-font-scale,1))}.handwriting-panel>.answer-motor-canvas{height:290px}}

/* Shape studio: a distinct entry beside number-writing games. */
.home-geometry-picker{margin:24px 0 26px;padding:20px;background:#edf2e6;border:1px solid #d7e2ca;border-radius:16px}.home-geometry-picker h2{color:var(--ink);font-size:calc(21px * var(--mw-font-scale,1));line-height:1.65;margin:4px 0 14px}.home-geometry-picker>.tiny-label{color:var(--pink)}.geometry-main{display:flex;align-items:center;gap:14px;width:100%;border:0;background:var(--green);color:#fff;border-radius:10px;padding:16px;text-align:left}.geometry-main>span:nth-child(2){flex:1}.geometry-main strong,.geometry-main small{display:block}.geometry-main strong{font-size:calc(16px * var(--mw-font-scale,1))}.geometry-main small{font-size:calc(10px * var(--mw-font-scale,1));color:#e4eedc}.geometry-motif{font:calc(27px * var(--mw-font-scale,1))/1.25 Georgia,serif;color:var(--yellow);letter-spacing:3px;white-space:nowrap}.geometry-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.geometry-game-grid button{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid #d0dcc6;border-radius:9px;background:#fffdf6;color:var(--green);padding:11px 6px;min-height:105px}.geometry-game-grid button>span{font:calc(29px * var(--mw-font-scale,1))/1 Georgia,serif;color:var(--pink)}.geometry-game-grid strong{font-size:calc(11px * var(--mw-font-scale,1))}.geometry-game-grid small{font-size:calc(8px * var(--mw-font-scale,1));color:var(--muted);line-height:1.8}.geometry-example{max-width:290px;margin:8px auto 18px;padding:12px;background:#edf2e6;border-radius:12px;text-align:center}.geometry-example canvas{display:block;width:100%;height:auto;aspect-ratio:1/1}.geometry-example figcaption{font-size:calc(15px * var(--mw-font-scale,1));font-weight:bold;color:var(--green)}.geometry-example .fine{font-size:calc(10px * var(--mw-font-scale,1));margin:3px 0}.creative-note{padding:12px 16px;background:#fff2d2;border-radius:10px;color:#715317;font-size:calc(14px * var(--mw-font-scale,1));text-align:center}.header-actions{flex-wrap:wrap;justify-content:flex-end}.header-actions #smooth-toggle{white-space:nowrap}
@media(max-width:700px){.home-geometry-picker{padding:15px;margin:20px 0}.home-geometry-picker h2{font-size:calc(20px * var(--mw-font-scale,1))}.geometry-main{padding:14px 12px;gap:10px}.geometry-main strong{font-size:calc(15px * var(--mw-font-scale,1))}.geometry-main small{font-size:calc(9px * var(--mw-font-scale,1))}.geometry-game-grid{gap:6px}.geometry-game-grid strong{font-size:calc(10px * var(--mw-font-scale,1))}.geometry-game-grid small{font-size:calc(8px * var(--mw-font-scale,1))}.geometry-game-grid button{padding:12px 3px;min-height:103px}.site-header{flex-wrap:wrap}.header-actions{width:100%;justify-content:flex-start;gap:19px}.header-actions .text-button{padding:4px 0;min-height:36px}.geometry-example{max-width:260px}}

.pencil-palette{display:flex;align-items:center;gap:22px;padding:15px 0 7px}.pencil-palette-copy{flex-shrink:0}.pencil-palette h2{margin:0;color:var(--green);font-size:calc(14px * var(--mw-font-scale,1));line-height:1.7}.pencil-palette-copy p{margin:0;color:var(--muted);font-size:calc(10px * var(--mw-font-scale,1))}.pencil-colors{display:flex;flex-wrap:wrap;gap:7px}.pencil-color{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;border:1px solid var(--line);background:#fffdf6;border-radius:8px;color:var(--ink);font-size:calc(11px * var(--mw-font-scale,1))}.pencil-swatch{display:block;width:20px;height:20px;border:1px solid #183e2d38;border-radius:50%;flex-shrink:0}.pencil-color[aria-pressed="true"]{border:2px solid var(--green);padding:5px 9px;background:#e7efde;box-shadow:0 0 0 2px #245f4412}.pencil-color[aria-pressed="true"]>span:last-child{font-weight:bold;text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.pencil-palette{gap:10px;flex-wrap:wrap;padding-top:12px}.pencil-palette-copy{width:100%;display:flex;gap:13px;align-items:baseline}.pencil-colors{gap:5px;width:100%}.pencil-color{flex-direction:column;gap:2px;flex:1;min-width:32px;min-height:53px;padding:6px 3px;font-size:calc(9px * var(--mw-font-scale,1));line-height:1.5}.pencil-color[aria-pressed="true"]{padding:5px 2px}.pencil-swatch{width:20px;height:20px}}

.home-math-picker{padding:20px;margin:20px 0;background:#fff7df;border:1px solid #e4d19d;border-radius:14px}.home-math-picker h2{margin:4px 0 12px;font-size:calc(23px * var(--mw-font-scale,1));color:var(--green)}.home-math-picker label{display:block;font-size:calc(12px * var(--mw-font-scale,1));font-weight:bold;margin-bottom:7px}.home-math-picker select{display:block;width:100%;max-width:100%;min-height:48px;border:1px solid #b7c99f;border-radius:8px;background:#fffdf6;color:var(--ink);padding:10px;font:inherit;font-size:calc(14px * var(--mw-font-scale,1))}.home-math-picker .home-actions{margin:15px 0 8px}.home-math-picker .soft-note{margin:9px 0}.home-math-picker .fine{font-size:calc(10px * var(--mw-font-scale,1));margin-bottom:0}.question-chart{margin:17px 0 22px;max-width:600px;padding:16px;background:#fffdf6;border:1px solid #d7e2ca;border-radius:12px}.question-chart svg{display:block;width:100%;height:auto}.question-chart figcaption{font-size:calc(12px * var(--mw-font-scale,1));font-weight:bold;color:var(--green);margin-bottom:8px}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:10px 0 0;font-size:calc(12px * var(--mw-font-scale,1))}.chart-legend li{display:flex;align-items:center;gap:7px}.chart-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}
@media(max-width:700px){.grade-picker{display:grid;grid-template-columns:repeat(3,1fr)}.home-math-picker{padding:15px}.home-math-picker h2{font-size:calc(21px * var(--mw-font-scale,1))}.question-chart{padding:10px}.chart-legend{font-size:calc(11px * var(--mw-font-scale,1));gap:7px 12px}}

.home-arcade-picker{margin:24px 0}.home-arcade-picker h2{font-size:calc(22px * var(--mw-font-scale,1));color:var(--green);margin:5px 0 8px}.arcade-games{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.arcade-game-card{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:3px 8px;text-align:left;border:1px solid #cbd9be;background:#f2f6e9;border-radius:10px;padding:13px 11px;color:var(--ink);min-height:94px}.arcade-game-card:nth-child(3n+1){background:#fcf3db;border-color:#e1cf94}.arcade-game-card:nth-child(3n+2){background:#f7eaf1;border-color:#dfc5d4}.arcade-game-icon{grid-row:1/3;font-size:calc(27px * var(--mw-font-scale,1));color:var(--green)}.arcade-game-card strong{font-size:calc(13px * var(--mw-font-scale,1));line-height:1.7}.arcade-game-card small{font-size:calc(10px * var(--mw-font-scale,1));line-height:1.8;color:var(--muted)}.arcade-card{max-width:780px;margin:22px auto;background:#fffdf6;border:1px solid #cbd9be;border-radius:16px;padding:30px}.arcade-question{font-size:calc(26px * var(--mw-font-scale,1));line-height:1.8;color:var(--green);margin:10px 0 20px;overflow-wrap:anywhere}.arcade-progress{color:var(--green);font-size:calc(15px * var(--mw-font-scale,1));text-align:center}.arcade-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.arcade-option{font:inherit;font-size:calc(22px * var(--mw-font-scale,1));min-height:66px;padding:13px;background:#f0f5e8;border:2px solid #cad8ba;border-radius:11px;color:var(--green);overflow-wrap:anywhere}.arcade-option[aria-pressed="true"]{background:#f9e4ef;border-color:var(--pink)}.arcade-option.correct{background:#dcebd0;border-color:var(--green)}.arcade-option:disabled{opacity:.65}.arcade-matching{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:20px 0}.arcade-matching>div{display:grid;gap:12px}.arcade-order-slots{display:flex;flex-wrap:wrap;gap:12px;min-height:58px;padding:10px 15px;list-style-position:inside;border:2px dashed #b7c99f;border-radius:10px}.arcade-order-slots li{background:#e2ecd6;border-radius:6px;padding:7px 12px;font-size:calc(18px * var(--mw-font-scale,1))}.arcade-complete{text-align:center}.arcade-medal{font-size:calc(75px * var(--mw-font-scale,1));color:#b08518}.arcade-complete .lesson-actions{justify-content:center}.arcade-parts{display:flex;flex-wrap:wrap;gap:7px;max-width:460px;padding:18px;background:#f6f1df;border-radius:10px}.arcade-part{font-size:calc(36px * var(--mw-font-scale,1));color:#9da989;line-height:1.3}.arcade-part.filled{color:var(--green)}
@media(max-width:700px){.arcade-game-card{padding:10px 9px;grid-template-columns:25px 1fr;min-height:95px}.arcade-game-card strong{font-size:calc(12px * var(--mw-font-scale,1))}.arcade-game-card small{font-size:calc(9px * var(--mw-font-scale,1))}.arcade-game-icon{font-size:calc(24px * var(--mw-font-scale,1))}.arcade-card{padding:20px 15px;margin:16px auto}.arcade-question{font-size:calc(21px * var(--mw-font-scale,1))}.arcade-option{font-size:calc(19px * var(--mw-font-scale,1));padding:10px;min-height:62px}.arcade-matching{gap:14px}.arcade-progress{font-size:calc(12px * var(--mw-font-scale,1))}.arcade-options{gap:9px}}

.language-picker{display:flex;gap:4px;margin-left:auto;padding:4px;border:1px solid #c5d3b8;border-radius:10px;background:#f1f5e9}.language-picker button{font:inherit;font-size:calc(12px * var(--mw-font-scale,1));min-height:42px;padding:7px 12px;color:var(--green);border:0;border-radius:7px;background:transparent}.language-picker button[aria-pressed="true"]{background:var(--green);color:#fff;font-weight:bold}.site-header{gap:16px;flex-wrap:wrap}:lang(en) .home-copy h1{font-size:calc(43px * var(--mw-font-scale,1));line-height:1.22}:lang(en) .arcade-game-card strong{line-height:1.4}:lang(en) .workshop-game-grid small,:lang(en) .geometry-game-grid small{line-height:1.5}@media(max-width:700px){.language-picker{margin-left:auto}:lang(en) .home-copy h1{font-size:calc(34px * var(--mw-font-scale,1))}.header-actions{gap:15px}}

/* The academy introduction closes the home page, after the game choices. */
.institute-promo{grid-column:1/-1;order:4;min-width:0;margin-top:15px;border:1px solid var(--green);border-radius:16px;background:var(--deep);color:var(--cream);overflow:hidden}
.institute-promo-banner{display:block;width:100%;height:auto;background:#fff}
.institute-promo-gallery{padding:26px 30px 0}
.institute-promo-gallery h3{color:var(--cream);font-size:calc(18px * var(--mw-font-scale,1));line-height:1.7;margin:0 0 14px}
.institute-promo-photos{columns:2;column-gap:18px}
.institute-promo-photos img{display:block;width:100%;height:auto;margin:0 0 18px;break-inside:avoid;border:1px solid #ffffff40;border-radius:10px;background:#fff}
.institute-promo-photos .institute-promo-poster{column-span:all;margin-bottom:0}
.institute-promo-body{display:grid;grid-template-columns:88px minmax(0,1fr) 210px;gap:24px;align-items:center;padding:30px}
.institute-promo-logo{display:block;width:88px;height:88px;object-fit:contain;background:#fff;border:5px solid #fff;border-radius:50%}
.institute-promo-label{display:block;color:var(--yellow);font-size:calc(11px * var(--mw-font-scale,1));font-weight:bold;letter-spacing:.04em;margin-bottom:9px}
.institute-promo h2{font:bold calc(clamp(27px,3vw,36px) * var(--mw-font-scale,1))/1.2 Georgia,serif;color:var(--cream);margin:0 0 13px}
.institute-promo h2 small{display:block;font:calc(14px * var(--mw-font-scale,1))/1.7 Tahoma,Arial,sans-serif;margin-top:6px;color:#e2ead8}
.institute-promo-copy>p{font-size:calc(17px * var(--mw-font-scale,1));line-height:1.8;margin:0}
.institute-promo-copy>.institute-promo-description{font-size:calc(13px * var(--mw-font-scale,1));line-height:1.9;color:#e2ead8;margin-top:8px}
.institute-promo-contact .button{width:100%;background:var(--yellow);color:var(--deep);border-color:var(--yellow)}
.institute-promo-contact .button:hover{background:#ffe393}
.institute-promo-contact .button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.institute-promo-contact>p{font-size:calc(12px * var(--mw-font-scale,1));line-height:2;color:#e2ead8;text-align:center;margin:12px 0 0}
@media(max-width:950px){.institute-promo-body{grid-template-columns:76px minmax(0,1fr);padding:25px}.institute-promo-logo{width:76px;height:76px}.institute-promo-contact{grid-column:2}.institute-promo-contact .button{width:auto}.institute-promo-contact>p{text-align:left}}
@media(max-width:700px){.institute-promo{margin-top:7px}.institute-promo-body{grid-template-columns:1fr;gap:20px;padding:24px 21px}.institute-promo h2{font-size:calc(32px * var(--mw-font-scale,1))}.institute-promo-label{font-size:calc(10px * var(--mw-font-scale,1))}.institute-promo-copy>p{font-size:calc(16px * var(--mw-font-scale,1))}.institute-promo-contact{grid-column:1}.institute-promo-contact .button{width:100%}.institute-promo-contact>p{text-align:center}}
@media(max-width:700px){.institute-promo-gallery{padding:24px 21px 0}.institute-promo-gallery h3{font-size:calc(17px * var(--mw-font-scale,1))}.institute-promo-photos{columns:1}.institute-promo-photos img{margin-bottom:14px}}

.institute-contact-details{padding:28px 30px 30px;border-top:1px solid #ffffff30}
.institute-contact-details h3{color:var(--cream);font-size:calc(25px * var(--mw-font-scale,1));line-height:1.6;margin:0 0 8px}
.institute-contact-intro{color:#e2ead8;font-size:calc(14px * var(--mw-font-scale,1));line-height:1.9;margin:0 0 22px;max-width:780px}
.institute-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.institute-contact-grid.institute-contact-info{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}
.institute-contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:20px;background:var(--cream);border:1px solid #d7e1cd;border-radius:11px;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.institute-contact-card:hover{background:#edf3e5;border-color:var(--yellow)}
.institute-contact-card:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.institute-contact-card.institute-contact-line{background:#e5f2df}
.institute-contact-label{font-size:calc(12px * var(--mw-font-scale,1));line-height:1.7;color:var(--green);font-weight:bold}
.institute-contact-card strong{font-size:calc(17px * var(--mw-font-scale,1));line-height:1.65}
.institute-contact-description{font-size:calc(12px * var(--mw-font-scale,1));line-height:1.9;color:var(--text)}
.institute-contact-action{display:block;font-size:calc(12px * var(--mw-font-scale,1));line-height:1.8;font-weight:bold;color:var(--green);padding-top:9px;margin-top:auto;text-decoration:underline;text-underline-offset:4px}
.institute-contact-details h4{font-size:calc(18px * var(--mw-font-scale,1));color:var(--cream);line-height:1.7;margin:26px 0 13px}
.institute-contact-tip{font-size:calc(12px * var(--mw-font-scale,1));line-height:1.9;color:#e2ead8;margin:21px 0 0}
@media(max-width:950px){.institute-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.institute-contact-details{padding:24px 21px}.institute-contact-details h3{font-size:calc(23px * var(--mw-font-scale,1))}.institute-contact-intro{font-size:calc(13px * var(--mw-font-scale,1))}.institute-contact-grid,.institute-contact-grid.institute-contact-info{grid-template-columns:1fr}.institute-contact-card{padding:18px}.institute-contact-details h4{font-size:calc(17px * var(--mw-font-scale,1))}}
.writing-table-entry{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fbf3d7;border:1px solid #dec98e;border-radius:12px;color:var(--green);padding:16px 18px;margin:16px 0;min-height:84px}.writing-table-entry>span:first-child{font:calc(28px * var(--mw-font-scale,1))/1.2 Georgia,serif;white-space:nowrap}.writing-table-entry strong{display:block;font-size:calc(18px * var(--mw-font-scale,1));line-height:1.6}.writing-table-entry small{display:block;font-size:calc(11px * var(--mw-font-scale,1));color:var(--muted);line-height:1.8}.writing-table-entry>span:last-child{margin-left:auto}.writing-tables-intro{color:var(--muted);line-height:1.8;font-size:calc(14px * var(--mw-font-scale,1));margin:12px 0 20px}.writing-tables-modes{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px}.writing-tables-mode{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #c8d7b8;background:#f4f7ed;border-radius:10px;color:var(--green);padding:10px 17px;min-height:52px;font:inherit;font-size:calc(14px * var(--mw-font-scale,1))}.writing-tables-mode-symbol{font:bold calc(24px * var(--mw-font-scale,1))/1.1 Georgia,serif}.writing-tables-mode[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}.writing-tables-settings{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:14px}.writing-tables-base{display:flex;align-items:center;gap:12px;font-size:calc(13px * var(--mw-font-scale,1));color:var(--green);font-weight:bold}.writing-tables-base select{font:inherit;color:var(--green);background:#fffef9;border:1px solid #bacda8;border-radius:8px;min-height:46px;min-width:85px;padding:8px 30px 8px 13px}.writing-tables-count{font-size:calc(13px * var(--mw-font-scale,1));color:var(--green)}.writing-tables-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}.writing-tables-sheet{min-width:0;border:1px solid #d5dfc9;background:#fffef8;border-radius:14px;padding:23px}.writing-tables-sheet>.tiny-label{margin:0 0 10px}.writing-tables-equation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.16em;color:var(--green);font:bold calc(clamp(26px,3.2vw,40px) * var(--mw-font-scale,1))/1.7 Georgia,serif;margin:8px 0 12px}.writing-tables-symbol{padding:0 .04em}.writing-tables-symbol.traced{color:#1b683d;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.writing-tables-meaning{font-size:calc(13px * var(--mw-font-scale,1));color:var(--muted);line-height:1.9;text-align:center;margin:0 0 17px;overflow-wrap:anywhere}.writing-tables-canvas{height:240px;margin:14px 0 12px}.writing-tables-status{font-size:calc(12px * var(--mw-font-scale,1));min-height:44px;margin:10px 0 14px}.writing-tables-sheet .writing-tools{flex-wrap:wrap}.writing-tables-note{line-height:1.9;margin:15px 0 0}.writing-tables-fraction{display:grid;height:42px;border:1px solid #9cb48c;max-width:440px;margin:8px auto 20px}.writing-tables-fraction>span{background:#f1f5e8;border-right:1px solid #9cb48c}.writing-tables-fraction>span:last-child{border-right:0}.writing-tables-fraction>.filled{background:var(--green)}.writing-tables-map h2{font-size:calc(17px * var(--mw-font-scale,1));color:var(--green);margin:0 0 12px}.writing-tables-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.writing-tables-row{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #d0dcc3;border-radius:8px;color:var(--green);background:#f5f8ef;font:inherit;font-size:calc(14px * var(--mw-font-scale,1));min-height:46px;padding:9px 11px}.writing-tables-row-number{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;background:#e3ead9;font-size:calc(11px * var(--mw-font-scale,1));font-weight:bold}.writing-tables-row-target{font:calc(16px * var(--mw-font-scale,1))/1.5 Georgia,serif;overflow-wrap:anywhere}.writing-tables-row[aria-current="step"]{border:2px solid var(--green);padding:8px 10px;background:#e9f0dd}.writing-tables-row.completed .writing-tables-row-number{background:var(--green);color:#fff}.writing-tables-done{border-left:4px solid var(--green);background:#edf4e3;padding:18px 22px;margin:0 0 22px}.writing-tables-done h2{font-size:calc(22px * var(--mw-font-scale,1));color:var(--green);margin:0 0 8px}.writing-tables-done p{font-size:calc(13px * var(--mw-font-scale,1));line-height:1.9;margin:0 0 15px}@media(max-width:850px){.writing-tables-layout{grid-template-columns:minmax(0,1fr)}.writing-tables-map{margin-top:6px}.writing-tables-rows{grid-template-columns:repeat(3,minmax(0,1fr))}.writing-tables-row{gap:7px;padding:9px 8px}.writing-tables-row[aria-current="step"]{padding:8px 7px}.writing-tables-row-target{font-size:calc(15px * var(--mw-font-scale,1))}}@media(max-width:700px){.writing-table-entry{padding:14px 13px;gap:10px}.writing-table-entry>span:first-child{font-size:calc(23px * var(--mw-font-scale,1))}.writing-table-entry strong{font-size:calc(16px * var(--mw-font-scale,1))}.writing-table-entry small{font-size:calc(10px * var(--mw-font-scale,1))}.writing-tables-intro{font-size:calc(12px * var(--mw-font-scale,1))}.writing-tables-modes{gap:7px}.writing-tables-mode{flex:1 0 28%;font-size:calc(12px * var(--mw-font-scale,1));gap:7px;padding:9px 10px;min-height:48px}.writing-tables-mode-symbol{font-size:calc(22px * var(--mw-font-scale,1))}.writing-tables-sheet{padding:18px 13px;border-radius:10px}.writing-tables-equation{font-size:calc(29px * var(--mw-font-scale,1));gap:.12em}.writing-tables-canvas{height:280px}.writing-tables-base{font-size:calc(12px * var(--mw-font-scale,1));gap:9px}.writing-tables-count{font-size:calc(11px * var(--mw-font-scale,1))}.writing-tables-meaning{font-size:calc(12px * var(--mw-font-scale,1))}.writing-tables-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-tables-status{font-size:calc(11px * var(--mw-font-scale,1))}.writing-tables-sheet>.button.primary{width:100%;padding:12px 9px;font-size:calc(12px * var(--mw-font-scale,1))}.writing-tables-note{font-size:calc(10px * var(--mw-font-scale,1))}.writing-tables-row-number{flex-basis:19px;width:19px;height:19px;font-size:calc(10px * var(--mw-font-scale,1))}.writing-tables-row-target{font-size:calc(14px * var(--mw-font-scale,1))}.writing-tables-done{padding:16px}.writing-tables-done h2{font-size:calc(20px * var(--mw-font-scale,1))}}
.writing-tables-live{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.learning-overview{grid-column:1/-1;padding:34px 0 12px;border-top:1px solid var(--line);margin-top:14px}.learning-overview>h2{font-size:calc(28px * var(--mw-font-scale,1));color:var(--green);line-height:1.6;margin:9px 0 13px}.learning-overview-intro{max-width:900px;font-size:calc(14px * var(--mw-font-scale,1));line-height:1.95;color:var(--muted);margin:0 0 27px}.learning-overview-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.learning-overview-topics h3{font-size:calc(18px * var(--mw-font-scale,1));line-height:1.7;color:var(--green);margin:0 0 10px}.learning-overview-topics p{font-size:calc(13px * var(--mw-font-scale,1));line-height:1.95;margin:0 0 14px;color:var(--text)}.learning-overview-topics a{display:inline-flex;align-items:center;min-height:44px;font-size:calc(13px * var(--mw-font-scale,1));font-weight:bold;color:var(--green);text-underline-offset:4px}.learning-overview-topics a:focus-visible{outline:3px solid var(--pink);outline-offset:4px}@media(max-width:850px){.learning-overview-topics{grid-template-columns:1fr;gap:22px}.learning-overview>h2{font-size:calc(25px * var(--mw-font-scale,1))}.learning-overview{padding-top:26px}}@media(max-width:700px){.learning-overview>h2{font-size:calc(23px * var(--mw-font-scale,1))}.learning-overview-intro{font-size:calc(13px * var(--mw-font-scale,1))}.learning-overview-topics h3{font-size:calc(17px * var(--mw-font-scale,1))}}


/* Reading size scales type once; layout reflows independently of the drawing boards. */
.font-size-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px 9px;max-width:100%;padding:5px 0;color:var(--green);font-size:calc(12px * var(--mw-font-scale,1));line-height:1.6}
.font-size-controls label{font-weight:bold}
.font-size-controls select,.font-size-controls button{font:inherit;min-height:44px;max-width:100%;border:1px solid #bdceb0;border-radius:8px;padding:7px 10px;background:#fffdf6;color:var(--green)}
.font-size-controls select{min-width:5.5em;cursor:pointer}
.font-size-controls button{font-weight:bold;cursor:pointer}
.font-size-controls button:hover{background:var(--pale)}
.font-size-controls select:focus-visible,.font-size-controls button:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.home-free-note{font-size:calc(13px * var(--mw-font-scale,1));line-height:1.8;color:var(--green);font-weight:bold;margin:-10px 0 22px}
.learning-overview{order:4}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .workshop-mixed{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .workshop-mixed>span:nth-child(2){grid-column:1/-1;min-width:0;max-width:100%;overflow-wrap:break-word}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .workshop-mixed>span:last-child{grid-column:2;grid-row:1;justify-self:end;margin-left:0}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) :is(.site-header,.header-actions,.language-picker,.pencil-palette,.pencil-palette-copy,.view-top,.score-strip,.workshop-progress,.writing-tables-base,.input-row){flex-wrap:wrap}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) :is(.brand,.brand>span,.home-copy,.guided-card,.home-bottom>*,.site-header>*,.header-actions>*,.view-top>*,.model-layout>*,.round-adventure>*,.mascot-message>*,.arcade-game-card>*,.workshop-game-grid button>*,.geometry-main>*,.writing-table-entry>span,.writing-tables-row-target){min-width:0;max-width:100%}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) :is(.brand strong,.text-button,.language-picker button,.font-size-controls label,.home-copy h1,.home-lede,.home-free-note,.button,.choice-button,.arcade-game-card strong,.workshop-game-grid strong,.geometry-game-grid strong,.writing-tables-mode){overflow-wrap:break-word;hyphens:auto}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .header-actions #smooth-toggle{white-space:normal}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .header-actions .text-button{min-height:44px;max-width:none;flex:0 1 auto}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .pencil-palette{align-items:flex-start}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .pencil-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,105px),1fr));flex:1 1 100%;width:100%}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .pencil-color{flex-direction:row;justify-content:center;min-height:44px;padding:8px 6px;overflow-wrap:break-word}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .pencil-color[aria-pressed="true"]{padding:7px 5px}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .choice-button .choice-number{height:2em;width:2em;min-width:2em;flex-shrink:0}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .writing-tables-row-number{height:2em;width:2em;flex-basis:2em;flex-shrink:0}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .writing-tables-layout{grid-template-columns:minmax(0,1fr)}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .writing-tables-rows{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .writing-tables-mode{min-width:0;flex-wrap:wrap;max-width:100%}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .scene-tag{white-space:normal;max-width:calc(100% - 28px);text-align:center}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .summary-list li{flex-wrap:wrap}
:root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .summary-list li strong{white-space:normal}
@media(max-width:1050px){
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) :is(.home-view,.challenge-layout,.parent-columns,.model-layout,.learning-overview-topics){grid-template-columns:minmax(0,1fr)}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .home-bottom{flex-wrap:wrap;align-items:stretch}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .home-bottom>*{flex:1 1 100%}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .model-arrow{transform:rotate(-90deg)}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .round-adventure{grid-template-columns:minmax(0,1fr)}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .institute-promo-body{grid-template-columns:minmax(0,1fr)}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .institute-promo-contact{grid-column:auto}
}
@media(max-width:700px){
  .font-size-controls{flex:1 1 100%;justify-content:flex-start}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .brand{flex:1 1 100%;align-items:flex-start}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .language-picker{margin-left:0}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .header-actions{gap:8px 18px}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) :is(.arcade-games,.arcade-options,.workshop-game-grid,.geometry-game-grid,.institute-contact-grid,.institute-contact-grid.institute-contact-info){grid-template-columns:minmax(0,1fr)}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .arcade-game-card{grid-template-columns:calc(30px * var(--mw-font-scale,1)) minmax(0,1fr)}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .workshop-game-grid button{grid-template-columns:calc(29px * var(--mw-font-scale,1)) minmax(0,1fr)}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .writing-tables-mode{flex:1 1 100%}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .writing-tables-base{width:100%;gap:8px}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) .workshop-stars{white-space:normal}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) :is(.math-simulator-entry,.writing-table-entry,.geometry-main){flex-wrap:wrap}
  :root:is([data-font-scale="150"],[data-font-scale="175"],[data-font-scale="200"]) :is(.math-simulator-entry,.writing-table-entry)>span:nth-child(2){flex:1 1 100%}
}
.curriculum-path { margin: 1rem 0; padding: .8rem; border: 1px solid #d7e2ca; border-radius: 16px; background: #f8fbf3; }
.curriculum-path summary { cursor: pointer; font-weight: 700; color: #345731; line-height: 1.6; }
.curriculum-topics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: .5rem; margin-top: .8rem; }
.curriculum-topic { min-height: 48px; padding: .65rem .8rem; border: 1px solid #d7e2ca; border-radius: 10px; background: white; color: #345731; font: inherit; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.curriculum-topic:hover, .curriculum-topic:focus-visible { background: #eaf4de; border-color: #527a3b; }
.home-adventure-difficulty { display: grid; gap: .6rem; margin: 1rem 0; }
.home-adventure-difficulty-line { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .65rem; padding: .65rem .8rem; background: #fffdf7; border: 1px solid #d5ddcd; border-radius: 10px; font-size: calc(12px * var(--mw-font-scale,1)); line-height: 1.65; }
.home-adventure-difficulty-line strong { flex-basis: 100%; color: #245f44; }
.home-adventure-hint-policy { padding: .15rem .45rem; border-radius: 6px; background: #e9f1df; color: #365738; }
.home-adventure-hint-policy.sealed { background: #e5e7eb; color: #626975; }

/* A new hands-on path, kept next to the existing village and laboratories. */
.crystal-quest-entry{display:flex;align-items:center;gap:14px;width:100%;margin:18px 0 12px;padding:18px 16px;text-align:left;border:1px solid #aac7ad;border-radius:14px;background:#eaf4e8;color:var(--ink);font:inherit;line-height:1.7;min-height:120px;transition:background .18s}
.crystal-quest-entry:hover{background:#e1efdd}.crystal-entry-copy{flex:1;min-width:0}.crystal-entry-copy>small{display:block;color:#7b3c74;font-size:calc(10px * var(--mw-font-scale,1));font-weight:bold;letter-spacing:.04em}.crystal-entry-copy>strong{display:block;font-size:calc(19px * var(--mw-font-scale,1));line-height:1.6;margin:4px 0}.crystal-entry-copy>span{display:block;font-size:calc(12px * var(--mw-font-scale,1));color:#46634d}.crystal-entry-art{position:relative;flex:0 0 59px;display:grid;place-items:center;width:59px;height:74px;background:#d2e7c9;border-radius:38px 38px 18px 18px;isolation:isolate}.crystal-entry-art>span{font-size:40px;color:#9673b4;filter:drop-shadow(0 3px 0 #664e81)}.crystal-entry-art>i{position:absolute;width:9px;height:9px;border-radius:2px;background:#e5b84c;transform:rotate(45deg);top:10px;right:6px}.crystal-entry-art>i:nth-of-type(2){top:auto;bottom:12px;left:8px;background:#5b9866}.crystal-entry-art>i:nth-of-type(3){width:5px;height:5px;top:22px;left:7px}.crystal-entry-arrow{font-size:24px;color:var(--green)}
@media(max-width:420px){.crystal-quest-entry{gap:10px;padding:13px 11px}.crystal-entry-art{flex-basis:42px;width:42px;height:62px}.crystal-entry-art>span{font-size:33px}.crystal-entry-copy>strong{font-size:calc(17px * var(--mw-font-scale,1))}.crystal-entry-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.crystal-quest-entry{transition:none}}

/* A second, separate hands-on route for fraction exploration. */
.fraction-quest-entry{background:#f2edf8;border-color:#c9b8dc}.fraction-quest-entry:hover{background:#ebe2f4}.fraction-entry-art{background:#e0d1ec}.fraction-entry-art>span{color:#72548e;filter:none}.fraction-quest-entry .crystal-entry-copy>small{color:#755092}.fraction-quest-entry .crystal-entry-copy>strong{color:#503565}.fraction-quest-entry .crystal-entry-copy>span{color:#695775}
