/* Original four-subject learning hub. Uses device fonts and existing owner mascot. */
[hidden]{display:none!important}
#subjectHub{--hub-ink:#173f4c;color:var(--hub-ink)}
#subjectHub .hub-welcome{background:#fff2ae;border:3px solid white;box-shadow:0 7px 0 #e7cb69;height:auto;min-height:240px;padding:28px 38px;position:relative;overflow:hidden}
#subjectHub .hub-intro{width:auto;z-index:1}
#subjectHub .hub-welcome h1{font-size:clamp(28px,3.5vw,43px);line-height:1.14;letter-spacing:-1.2px;margin:14px 0}
#subjectHub .hub-welcome h1 span{color:#127a71}
#subjectHub .hub-welcome p{font-size:17px;color:#395f64;max-width:none;margin:0 0 16px}
.hub-greeting{font-size:14px;font-weight:700;color:#4d6252}
#subjectHub .eyebrow{font-size:12px;letter-spacing:2px;color:#41676a}
#subjectHub .mascot-home{width:200px;height:210px;flex:0 0 200px;position:relative;right:auto;bottom:auto;align-self:center}
.hub-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:36px 0 20px}
.hub-section-heading h2{font-size:25px;margin:6px 0 0;line-height:1.3;letter-spacing:-.5px}
.hub-section-heading>span{font-size:14px;color:#4b6d76}
.subject-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.subject-card{--accent:#ac4030;--wash:#fff0e9;--edge:#edb7a8;display:flex;flex-direction:column;background:var(--wash);border:3px solid white;border-radius:26px;padding:21px 19px 0;box-shadow:0 6px 0 var(--edge);color:var(--hub-ink);text-decoration:none;min-width:0;transition:transform .18s,box-shadow .18s}
.subject-card:hover{transform:translateY(-4px);box-shadow:0 10px 0 var(--edge)}
.subject-card:focus-visible,#starterChoices button:focus-visible{outline:4px solid #183f4c;outline-offset:5px}
.subject-english{--accent:#176a9d;--wash:#e6f5ff;--edge:#8bc8e6}
.subject-bahasa{--accent:#26704e;--wash:#e6f6db;--edge:#a1cf8e}
.subject-maths{--accent:#7750a0;--wash:#f1e8ff;--edge:#c2a8e2}
.subject-top{display:flex;gap:7px;align-items:center;justify-content:space-between;flex-wrap:wrap;min-height:93px;margin-bottom:16px}
.subject-symbol{font-size:44px;font-weight:850;line-height:1.2;color:var(--accent);letter-spacing:-2px}
.subject-badge{font-size:11px;font-weight:700;background:#ffffffc9;padding:6px 9px;border-radius:30px;color:var(--accent)}
.subject-card h3{font-size:22px;line-height:1.18;margin:0 0 9px;letter-spacing:-.5px}
.subject-native{font-size:14px;font-weight:700;color:var(--accent);line-height:1.6}
.subject-card p{font-size:15px;line-height:1.65;color:#42616a;margin:16px 0}
.subject-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-bottom:22px;font-size:12px;color:#375c64}
.subject-tags span{border:1px solid #ffffff;border-radius:7px;padding:4px 7px;background:#ffffff70}
.subject-go{border-top:1px solid #173f4c19;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:63px;font-size:14px;font-weight:800;color:var(--accent)}
.subject-go>span{font-size:23px}
.hub-parent{margin-top:36px;background:#fffdf4;border:2px dashed #cfc99b;border-radius:24px;padding:26px 30px;display:flex;align-items:center;gap:28px;justify-content:space-between}
.hub-parent h2{font-size:21px;margin:8px 0}.hub-parent p{font-size:15px;line-height:1.7;margin:0;max-width:640px;color:#4c6765}.hub-parent a{white-space:nowrap;text-decoration:none;min-height:48px;display:inline-flex;align-items:center}
.starter-heading h1{font-size:36px;margin:10px 0}.starter-heading p{font-size:18px;line-height:1.7}.starter-heading{margin:24px 0}.starter-panel{padding:32px;background:#fffefa;border:3px solid white;border-radius:28px;box-shadow:0 6px 0 #b9dae0;text-align:center;max-width:780px;margin:auto}.starter-panel h2{font-size:25px;line-height:1.4}.starter-progress{font-size:14px;color:#4d6970}.starter-token{font-size:85px;line-height:1.3;font-weight:800;color:#16776b}.starter-word{font-size:54px}.starter-example-note{font-size:19px;margin-top:5px;color:#466b70}.count-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:25px}.count-dot{width:42px;height:42px;background:#8260b6;border-radius:50%;border:3px solid #67488d}#starterChoices{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:26px 0}#starterChoices button{font:inherit;font-size:32px;min-width:100px;min-height:85px;border:2px solid #b2d7d9;border-radius:20px;background:#edf8f6;padding:14px 25px;color:#173f4c}#starterChoices button[aria-pressed=true]{background:#d6f2be;border-color:#528041}#starterChoices button:disabled{opacity:1}#starterFeedback{min-height:30px;font-weight:700;color:#276249;font-size:18px}#starterNext{min-height:50px}.starter-note{text-align:center;max-width:700px;margin:28px auto;font-size:14px;line-height:1.7;color:#4d6970}
@media(max-width:1000px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-top{min-height:65px}.subject-card h3{font-size:24px}.subject-badge{font-size:12px}.subject-card p{font-size:16px}.subject-tags,.subject-go{font-size:14px}}
@media(max-width:600px){#subjectHub .hub-welcome{padding:24px 19px;min-height:210px}#subjectHub .hub-intro{width:75%}#subjectHub .hub-welcome h1{font-size:28px;max-width:none}#subjectHub .hub-welcome p{font-size:15px;max-width:240px}#subjectHub .eyebrow{font-size:10px;letter-spacing:1.5px}#subjectHub .mascot-home{width:110px;height:155px;flex-basis:110px;position:absolute;right:-6px;bottom:10px;opacity:1}.hub-greeting{font-size:12px}.hub-section-heading{align-items:start;margin-top:30px}.hub-section-heading h2{font-size:23px}.hub-section-heading>span{display:none}.subject-grid{gap:17px 12px}.subject-card{padding:17px 14px 0;border-radius:22px}.subject-top{gap:8px;min-height:97px;align-content:space-between}.subject-symbol{font-size:39px}.subject-card h3{font-size:21px;min-height:50px}.subject-native{font-size:13px}.subject-card p{font-size:14px}.subject-card p br{display:none}.subject-tags{font-size:12px;padding-bottom:16px}.subject-go{font-size:13px}.hub-parent{padding:23px 20px;display:block}.hub-parent a{margin-top:16px}.hub-parent h2{font-size:21px}.starter-panel{padding:25px 14px}.starter-heading h1{font-size:30px}#starterChoices button{min-width:73px;padding:12px 16px}.starter-word{font-size:42px}}
@media(max-width:360px){.subject-grid{grid-template-columns:1fr}.subject-card h3{min-height:0}.subject-top{min-height:60px}.subject-card p br{display:initial}#subjectHub .hub-welcome h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){.subject-card{transition:none}.subject-card:hover{transform:none}}

.maths-audio{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:16px 0}#mathsSoundStatus{font-size:.9rem;line-height:1.6;color:#375d65}body[data-subject=maths] #voiceNotice{display:none!important}

/* Original number-learning pictures, no external artwork or fonts. */
.numbers-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 30px}.numbers-lesson{font:inherit;text-align:left;padding:18px;border:2px solid #c5afe7;border-radius:20px;background:#f5edff;color:#34264f;cursor:pointer;min-height:95px}.numbers-lesson strong,.numbers-lesson span{display:block}.numbers-lesson strong{font-size:20px}.numbers-lesson span{font-size:14px;margin-top:7px;line-height:1.5}.numbers-lesson[aria-pressed=true]{background:#ffeaa0;border-color:#806321;box-shadow:0 4px 0 #dac56d}.numbers-lesson:focus-visible{outline:3px solid #183f4c;outline-offset:3px}.number-train,.number-sum,.number-groups{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin:24px 0}.number-train span{font-size:48px;font-weight:800;background:#ffdfa2;border:3px solid #cc8a21;border-radius:18px;padding:16px;min-width:70px}.number-name{font-size:52px;color:#68419a;font-weight:800;margin:25px}.number-group{background:#e9f5ff;border:2px solid #87bada;border-radius:20px;flex:1;min-width:180px;padding:16px 6px}.number-sum>.count-dots{background:#fff1ca;border-radius:24px;max-width:210px}.sum-plus{font-size:44px;font-weight:800}.count-dots{max-width:360px;margin:auto}.count-dot:nth-child(3n+2){background:#ef9b3a;border-color:#a96b1e}.count-dot:nth-child(3n){background:#3bbfa6;border-color:#217968}#starterChoices .picture-choice{padding:8px;min-width:130px;max-width:200px}#starterChoices .picture-choice .count-dots{padding:10px;gap:8px}#starterChoices .picture-choice .count-dot{width:26px;height:26px;flex-shrink:0}@media(max-width:650px){.numbers-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.numbers-lesson{padding:13px}.numbers-lesson strong{font-size:17px}.numbers-lesson span{font-size:12px}.count-dots{gap:10px;padding:16px}.count-dot{width:32px;height:32px}.number-train span{font-size:36px;min-width:52px;padding:12px}.number-sum{gap:8px}.number-sum>.count-dots{max-width:125px}.number-group{min-width:110px}.number-groups{gap:8px}#starterChoices .picture-choice{min-width:100px;max-width:145px}#starterChoices button{font-size:26px}}

.number-categories{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.number-categories button{font:inherit;font-weight:750;border:2px solid #bca7de;border-radius:18px;min-height:48px;background:white;color:#493467;padding:12px 20px}.number-categories button[aria-pressed=true]{background:#644099;color:white;border-color:#644099}.empty-group{border:3px dashed #b2a0ce;border-radius:25px;min-width:180px;min-height:100px;align-items:center;color:#5a447b;font-size:22px}.count-dot.taken-away{position:relative;background:#e1e5e6;border-color:#66777a}.taken-away:before,.taken-away:after{content:'';position:absolute;width:125%;height:4px;background:#9e351f;left:-12%;top:44%;transform:rotate(45deg)}.taken-away:after{transform:rotate(-45deg)}.number-equation{font-size:32px;font-weight:800;color:#644099}.pattern-strip{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;margin:26px 0}.pattern-shape{width:46px;height:46px;display:inline-block;flex-shrink:0;background:#ea9c30;border:3px solid #93570d;box-sizing:border-box}.shape-circle{border-radius:50%;background:#78c9ec;border-color:#27728d}.shape-square{border-radius:5px}.shape-triangle{background:#815db5;clip-path:polygon(50% 0,100% 100%,0 100%);border:0}.pattern-missing{font-size:40px;font-weight:800}#starterChoices .pattern-choice{font-size:16px;display:flex;flex-direction:column;align-items:center;gap:12px;text-transform:capitalize}.number-writing{margin:18px auto;max-width:500px}.number-picker{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0 18px}.number-picker button{font:inherit;font-size:23px;min-width:48px;min-height:48px;padding:7px;border:2px solid #bda9d8;border-radius:13px;background:#f2eafa;color:#49306b}.number-picker button[aria-pressed=true]{background:#ffe28b;border-color:#89651d}.number-writing-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:15px 0}.number-writing-controls button{min-height:48px;font:inherit;font-size:16px}.number-board-wrap{max-width:400px;width:100%;aspect-ratio:1;position:relative;margin:auto;border:2px solid #b7a4cd;border-radius:18px;overflow:hidden;background:linear-gradient(transparent 49.5%,#d5e0e9 49.5%,#d5e0e9 50%,transparent 50%),linear-gradient(90deg,transparent 49.5%,#d5e0e9 49.5%,#d5e0e9 50%,transparent 50%),#fff}.number-board,.number-overlay{position:absolute;inset:0;width:100%;height:100%}.number-overlay{pointer-events:none}.number-board svg{touch-action:none}.number-trace-feedback{font-size:17px;line-height:1.6;min-height:54px;color:#345c48}.number-writing-note{font-size:14px;line-height:1.65;color:#4b6268}.number-categories button:focus-visible,.number-picker button:focus-visible,.number-writing-controls button:focus-visible{outline:3px solid #183f4c;outline-offset:4px}body[data-subject=maths] #starterPrompt{scroll-margin-top:24px}@media(max-width:650px){.number-categories{gap:7px}.number-categories button{flex:1 1 30%;font-size:14px;padding:10px}.pattern-strip{gap:10px}.pattern-strip .pattern-shape{width:35px;height:35px}.number-writing-controls button{font-size:14px;padding:10px}.number-writing{margin-left:0;margin-right:0}}

/* Original equal-amount, number-frame, sharing and position activities. */
.ten-frame{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:400px;margin:24px auto;padding:10px;background:#e8e0f6;border:2px solid #9e86bc;border-radius:18px}.frame-cell{aspect-ratio:1;background:#fff;border:2px solid #9e86bc;border-radius:10px;display:grid;place-items:center}.frame-dot{width:70%;height:70%;border-radius:50%;background:#7a52a3;border:3px solid #573376;box-sizing:border-box}.sharing-plates{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0}.sharing-plate{background:#e6f6ff;border:3px solid #81bcd1;border-radius:45%;padding:18px 8px;flex:1;min-width:120px;max-width:210px}.sharing-plate .count-dots{gap:8px;padding:14px 6px}.sharing-plate .count-dot{width:28px;height:28px;flex-shrink:0}.spread-dots{column-gap:25px;row-gap:8px}#starterChoices:has(.ordinal-dot){flex-wrap:nowrap;direction:ltr;gap:12px}#starterChoices .ordinal-dot{display:grid;place-items:center;padding:10px;min-width:64px;width:90px;max-width:28%;min-height:80px}#starterChoices .ordinal-dot .count-dot{display:block;pointer-events:none}#starterChoices .ordinal-dot:disabled[aria-pressed=true]{outline:3px solid #528041;outline-offset:3px}@media(max-width:400px){.ten-frame{gap:4px;padding:7px}.frame-cell{border-radius:7px}.sharing-plate{min-width:85px;padding:14px 4px}.sharing-plate .count-dots{padding:10px 2px;gap:5px}.sharing-plate .count-dot{width:24px;height:24px}}

/* Quantity, shape and measurement diagrams authored for LauPeh. */
.shape-rectangle{width:72px;height:46px;border-radius:4px;background:#ea9c30;border-color:#93570d}#starterChoices .size-choice{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;min-height:132px;padding:12px;min-width:86px}.size-circle{display:block;width:calc(18px + var(--rank)*14px);height:calc(18px + var(--rank)*14px);border:3px solid #246181;border-radius:50%;background:#71c9ec;box-sizing:border-box}.comparison-letter{font-size:18px;font-weight:750}#starterChoices.length-choices{flex-direction:column;align-items:stretch;max-width:540px;margin:26px auto;gap:12px}#starterChoices .length-choice{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;min-height:80px;text-align:left;padding:12px 16px}.length-track{display:block;flex:1;min-width:0;border-left:3px solid #567f89;padding:9px 0}.length-strip{display:block;height:26px;width:calc(20% + var(--rank)*24%);border:2px solid #7f531f;background:#ffca6a;border-radius:0 7px 7px 0;box-sizing:border-box}.shape-question{font-size:26px;color:#493467;font-weight:700}@media(max-width:400px){#starterChoices.size-choices{gap:7px;flex-wrap:nowrap}#starterChoices .size-choice{min-width:64px;flex:1;padding:8px 3px}.size-circle{width:calc(12px + var(--rank)*12px);height:calc(12px + var(--rank)*12px)}}
