/* NIA Mental Math — playful layer on top of nia.css (kids 5–12). */
.mm [hidden]{display:none!important}
.mm{--mm-ink:#1e1b4b;--mm-violet:#6d5cf6;--mm-deep:#1e1b4b;--mm-gold:#f5b301;--mm-sky:#e0f2fe;--mm-mint:#dcfce7;--mm-peach:#ffedd5;--mm-bg:#f6f4ff;background:var(--mm-bg);color:var(--mm-ink);font-family:Inter,system-ui,sans-serif}
.mm h1,.mm h2,.mm h3{font-family:Manrope,Inter,system-ui,sans-serif;font-feature-settings:"locl" 0;letter-spacing:-.02em}
.mm-wrap{width:min(1100px,calc(100% - 32px));margin:auto}
.mm-top{background:var(--mm-deep);color:#fff;position:sticky;top:0;z-index:30}
.mm-nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.mm-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.mm-wordmark{font:800 1.3rem Manrope,sans-serif;color:#fff;letter-spacing:-.01em}.mm-wordmark b{color:var(--mm-gold)}.mm-brand .brand-mark rect{fill:#6d5cf6}
.mm-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.mm-links a{color:#e6e4ff;text-decoration:none;font-weight:700}.mm-links form{margin:0}
.mm-kid{font-weight:800;color:var(--mm-gold)}
.mm-main{padding:28px 0 60px;min-height:calc(100vh - 140px)}
.mm-foot{padding:22px 0;color:#6b6890;font-size:.9rem}.mm-foot a{color:var(--mm-violet)}
.mm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;padding:12px 20px;background:var(--mm-violet);color:#fff;font:800 1rem Manrope,sans-serif;cursor:pointer;text-decoration:none;box-shadow:0 6px 0 #4c3fd1;transition:transform .1s}
.mm-btn:active{transform:translateY(3px);box-shadow:0 3px 0 #4c3fd1}.mm-btn.sm{padding:8px 14px;font-size:.9rem;box-shadow:0 4px 0 #4c3fd1}.mm-btn.big{padding:16px 30px;font-size:1.2rem;width:100%}
.mm-btn.ghost{background:#fff;color:var(--mm-violet);box-shadow:0 4px 0 #d9d4ff;border:2px solid #d9d4ff}
.mm-top .mm-btn.ghost{background:transparent;color:#fff;border-color:#ffffff55;box-shadow:none}
.mm-card{background:#fff;border-radius:28px;padding:28px;box-shadow:0 18px 50px #1e1b4b14}
.mm-muted{color:#6b6890}.mm-muted.sm,.sm{font-size:.9rem}
.mm-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;background:#ece9ff;color:var(--mm-violet);font-weight:800;font-size:.8rem}.mm-pill.gold{background:#fff4cc;color:#8a6100}
.mm-notice{background:var(--mm-mint);border-radius:16px;padding:14px 18px;margin-bottom:18px;font-weight:600}.mm-notice.bad{background:#fee2e2;color:#991b1b}
/* login */
.mm-login{max-width:440px;margin:30px auto;text-align:center}.mm-login-art{font-size:4rem}.mm-login h1{margin:6px 0}.mm-login form{display:grid;gap:14px;margin:20px 0;text-align:left}
.mm-login label{display:grid;gap:6px;font-weight:800}.mm-login input{font-size:1.5rem;text-align:center;letter-spacing:.2em;border:3px solid #e3e0ff;border-radius:16px;padding:12px}.mm-login input:focus{outline:none;border-color:var(--mm-violet)}.mm-code{text-transform:uppercase}
/* kid home */
.mm-hero-kid{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#6d5cf6,#1e1b4b);color:#fff;border-radius:30px;padding:30px}.mm-hero-kid h1{margin:10px 0 12px;font-size:clamp(1.8rem,4vw,2.6rem)}.mm-hero-kid .mm-muted{color:#d9d4ff}.mm-hero-kid .mm-pill{background:#ffffff22;color:#fff}
.mm-xp{height:14px;border-radius:99px;background:#ffffff25;overflow:hidden;max-width:420px}.mm-xp i{display:block;height:100%;background:linear-gradient(90deg,var(--mm-gold),#ffd666);border-radius:99px}
.mm-hero-badge{width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe08a,var(--mm-gold));display:grid;place-items:center;box-shadow:0 0 0 8px #ffffff22;flex:0 0 110px}.mm-hero-badge span{font:800 3rem Manrope,sans-serif;color:var(--mm-deep)}
.mm-section{margin-top:30px}.mm-section h2{margin:0 0 14px}
.mm-hw{display:flex;align-items:center;gap:14px;background:#fff;border-radius:20px;padding:14px 16px;margin-bottom:10px;box-shadow:0 8px 24px #1e1b4b0d;flex-wrap:wrap}.mm-hw.late{outline:3px solid #fecaca}.mm-hw .grow{flex:1;min-width:200px}
.mm-hw-game{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:1.6rem;flex:0 0 52px}
.mm-done{margin-top:10px}.mm-done summary{cursor:pointer;font-weight:800}.mm-done-row{padding:6px 0}
.mm-games{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mm-game{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:24px;text-decoration:none;color:var(--mm-ink);box-shadow:0 10px 0 #1e1b4b10;transition:transform .15s}.mm-game:hover{transform:translateY(-4px)}.mm-game .ico{font-size:2.2rem}.mm-game strong{font:800 1.2rem Manrope,sans-serif}.mm-game span:last-child{color:#4b4870;font-size:.92rem}
.mm-g-flash{background:#fff4cc}.mm-g-columns{background:var(--mm-sky)}.mm-g-soroban{background:#ede9fe}.mm-g-trainer{background:var(--mm-mint)}
.mm-recent{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mm-recent div{background:#fff;border-radius:16px;padding:12px 14px;display:grid}.mm-recent small{color:#8b88aa}
/* play */
.mm-play-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.mm-play-head h1{margin:0;flex:1;font-size:1.8rem}.mm-back{font-weight:800;color:var(--mm-violet);text-decoration:none}
.mm-setup{background:#fff;border-radius:28px;padding:24px;box-shadow:0 18px 50px #1e1b4b14;max-width:760px}
.mm-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.mm-settings label,.mm-who{display:grid;gap:5px;font-weight:800;font-size:.9rem}.mm-settings select,.mm-who select{border:2px solid #e3e0ff;border-radius:12px;padding:10px;font:600 1rem Inter,sans-serif;background:#fff}
.mm-who{margin:6px 0 10px;max-width:280px}
.mm-hw-banner{background:#fff4cc;border-radius:16px;padding:14px 16px;margin-bottom:12px}
.mm-stage{display:grid;justify-items:center;gap:16px;margin-top:10px}
.pl-flash{min-width:260px;min-height:220px;display:grid;place-items:center;font:800 clamp(5rem,16vw,9rem)/1 Manrope,sans-serif;color:var(--mm-deep)}
.pl-flash.count{width:180px;height:180px;min-width:0;min-height:0;border-radius:50%;background:var(--mm-violet);color:#fff;font-size:5rem;box-shadow:0 0 0 14px #6d5cf622}
.pl-column{background:#fff;border-radius:24px;padding:20px 34px;min-width:200px;text-align:right;font:800 clamp(2rem,6vw,3rem)/1.25 Manrope,sans-serif;box-shadow:0 12px 30px #1e1b4b14}.pl-column .neg{color:#dc2626}.pl-column .line{border-top:4px solid var(--mm-deep);margin-top:6px;height:6px}
.pl-answer-row{display:flex;gap:10px}.pl-input{width:200px;font:800 2.2rem Manrope,sans-serif;text-align:center;border:4px solid #e3e0ff;border-radius:18px;padding:8px}.pl-input:focus{outline:none;border-color:var(--mm-violet)}
.pl-feedback{min-height:1.6em;font:800 1.3rem Manrope,sans-serif}.pl-feedback.ok{color:#16a34a}.pl-feedback.bad{color:#dc2626}
.pl-result{text-align:center;min-width:min(420px,100%)}.pl-percent{font:800 4.5rem Manrope,sans-serif;color:var(--mm-violet)}.mm-result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.playing .mm-setup{display:none}
/* soroban */
.pl-soroban-row{display:grid;justify-items:center;gap:14px}
.sb-frame{display:flex;gap:4px;background:#7c4a1e;padding:14px 16px;border-radius:20px;box-shadow:inset 0 0 0 6px #5b3313,0 14px 30px #0003}
.sb-rod{position:relative;display:flex;flex-direction:column;align-items:center;width:62px;padding:6px 0 26px;background:linear-gradient(90deg,transparent 46%,#d6b88a 46%,#d6b88a 54%,transparent 54%)}
.sb-beam{display:block;width:120%;height:8px;background:#3b220c;border-radius:4px;margin:6px 0 10px;z-index:1}
.sb-bead{width:56px;height:30px;border-radius:50%;border:0;background:linear-gradient(180deg,#e8d7ff,#b7a6ef);box-shadow:inset 0 -4px 0 #0002;cursor:pointer;transition:transform .12s;margin:2px 0}
.sb-bead.on{background:linear-gradient(180deg,#ffd666,#f5a301)}
.sb-five{transform:translateY(-14px)}.sb-five.on{transform:translateY(8px)}
.sb-one{transform:translateY(16px)}.sb-one.on{transform:translateY(0)}
.sb-digit{position:absolute;bottom:2px;font:800 .95rem Manrope,sans-serif;color:#fde7c4}
.mm-sb-actions{display:flex;gap:10px}
@media(max-width:820px){.mm-games,.mm-recent{grid-template-columns:1fr 1fr}.mm-settings{grid-template-columns:1fr 1fr}.mm-hero-badge{width:80px;height:80px;flex-basis:80px}.mm-hero-badge span{font-size:2.2rem}.mm-links a:not(.mm-btn){display:none}.mm-kid{display:none}}
@media(max-width:520px){.mm-games,.mm-recent,.mm-settings{grid-template-columns:1fr}.sb-rod{width:46px}.sb-bead{width:42px;height:24px}.pl-input{width:150px}.mm-hero-kid{padding:22px}.mm-wordmark{font-size:1.05rem}}
/* home */
.mmh-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;background:radial-gradient(circle at 80% 20%,#3b2fb8,#1e1b4b 65%);color:#fff;border-radius:36px;padding:clamp(28px,5vw,56px);overflow:hidden}
.mmh-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.02;margin:16px 0}.mmh-hero h1 span{color:var(--mm-gold)}.mmh-lead{font-size:1.15rem;color:#dcd8ff;max-width:560px}
.mmh-hero .mm-muted{color:#c9c4ff}.mmh-hero .mm-muted a{color:#fff;text-decoration:underline}.mmh-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 14px}
.mmh-art{position:relative;display:grid;place-items:center}.mmh-sb{transform:rotate(-4deg)}.mmh-sb .sb-bead{cursor:default}
.mmh-flash{position:absolute;right:4%;top:2%;background:var(--mm-gold);color:var(--mm-deep);font:800 1.6rem Manrope,sans-serif;padding:10px 18px;border-radius:18px;transform:rotate(6deg);box-shadow:0 10px 30px #0004}
.mmh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mmh-grid .mm-card,.mmh-steps .mm-card{padding:22px}.mmh-grid strong,.mmh-steps strong{font:800 1.15rem Manrope,sans-serif}
.mmh-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.mmh-num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--mm-violet);color:#fff;font-weight:800;margin-bottom:8px}
.mmh-teachers{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.mmh-teacher{display:flex;gap:16px;align-items:center;text-decoration:none;color:inherit;padding:18px}.mmh-teacher img,.mmh-avatar{width:84px;height:84px;border-radius:22px;object-fit:cover;flex:0 0 84px}.mmh-avatar{display:grid;place-items:center;background:#ece9ff;color:var(--mm-violet);font:800 2rem Manrope,sans-serif}.mmh-link{color:var(--mm-violet);font-weight:800;font-size:.9rem}
.mmh-faq details{margin-bottom:10px;padding:18px 22px}.mmh-faq summary{cursor:pointer}
.mmh-cta{margin-top:34px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--mm-gold);border-radius:30px;padding:30px}.mmh-cta h2{margin:0 0 4px}.mmh-cta p{margin:0}.mmh-cta .mm-btn.big{width:auto}
.mm-foot{background:#fff;border-top:1px solid #ece9ff;margin-top:30px;padding:30px 0 18px}.mm-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:20px}.mm-foot-grid strong{display:block;margin-bottom:8px;color:var(--mm-ink)}.mm-foot-grid a{display:block;color:#5b5880;text-decoration:none;margin:4px 0}.mm-foot-grid a:hover{color:var(--mm-violet)}.mm-foot-grid p{margin:0}.mm-copy{margin-top:18px;font-size:.85rem}
@media(max-width:900px){.mmh-hero{grid-template-columns:1fr}.mmh-art{order:-1}.mmh-grid{grid-template-columns:1fr 1fr}.mmh-steps,.mmh-teachers{grid-template-columns:1fr}.mm-foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mmh-grid,.mm-foot-grid{grid-template-columns:1fr}.mmh-flash{font-size:1.2rem}}
