:root{--purple:#7b4dff;--purple-dark:#5a2fd6;--orange:#ff8a3d;--blue:#3db9ff;--pink:#ff5da2;--green:#34c759;--yellow:#ffd23f;--ink:#2b2440;--muted:#6b6580;--line:#ece8f6;--bg:#f6f3ff;--white:#ffffff;--max:1080px;--radius:20px;--shadow:0 6px 20px rgba(91,47,214,0.12)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Baloo\ 2,Segoe UI,Comic Sans MS,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-main{min-height:60vh}.container{max-width:var(--max);margin:0 auto;padding:32px 20px 56px}.site-header{background:var(--white);border-bottom:3px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-inner{max-width:var(--max);margin:0 auto;padding:14px 20px;justify-content:space-between;gap:16px}.header-inner,.logo{display:flex;align-items:center}.logo{font-size:26px;font-weight:800;color:var(--purple);gap:8px}.logo-accent{color:var(--orange)}.logo-buddy{display:inline-flex;flex:0 0 auto}.logo-buddy .buddy{display:block}.main-nav{display:flex;gap:8px;flex-wrap:wrap}.main-nav a{font-weight:700;color:var(--ink);padding:8px 16px;border-radius:999px;transition:background .15s ease,color .15s ease;display:inline-flex;align-items:center;gap:6px}.main-nav a:hover{background:var(--bg);color:var(--purple)}.nav-icon{font-size:16px;line-height:1}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:2px solid var(--line);border-radius:10px;background:var(--white);cursor:pointer}.nav-toggle-bar{display:block;width:22px;height:3px;margin:0 auto;border-radius:2px;background:var(--purple)}@media (max-width:720px){.nav-toggle{display:flex}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:4px;padding:12px 20px 16px;background:var(--white);border-bottom:3px solid var(--line);box-shadow:0 8px 16px rgba(0,0,0,.08)}.main-nav.main-nav-open{display:flex}.main-nav a{padding:12px 16px;font-size:18px}.header-inner{position:relative}}.hero{text-align:center;padding:48px 20px 24px;max-width:var(--max);margin:0 auto}.hero h1{font-size:clamp(32px,6vw,52px);margin:0 0 12px;color:var(--purple);line-height:1.1}.hero p{font-size:20px;color:var(--muted);max-width:640px;margin:0 auto 28px}.hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:250px;background:var(--orange);color:var(--white);font-weight:800;font-size:24px;padding:22px 38px;border-radius:999px;box-shadow:0 6px 0 #d9711f,0 10px 20px rgba(217,113,31,.35);transition:transform .12s ease,box-shadow .12s ease}.hero-cta:hover{transform:translateY(-3px) scale(1.03)}.hero-cta:active{transform:translateY(2px);box-shadow:0 2px 0 #d9711f,0 4px 10px rgba(217,113,31,.35)}.cta-icon{font-size:28px;line-height:1}.hero-cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.hero-cta-alt{background:var(--white);color:var(--purple);border:3px solid var(--purple);box-shadow:0 6px 0 #d9d1f7,0 10px 20px rgba(91,47,214,.2)}.hero-cta-alt:active{box-shadow:0 2px 0 #d9d1f7,0 4px 10px rgba(91,47,214,.2)}.hero-card{position:relative;overflow:hidden;background:linear-gradient(160deg,#efeaff,#f6f3ff 60%,#fdeffb);border-radius:28px;padding:56px 32px 48px;margin:24px auto 8px;box-shadow:var(--shadow)}.hero-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}.hero-card .hero-copy{text-align:center;max-width:640px}.buddy{display:block}.hero-action{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.hero-action .buddy{flex:0 0 auto}@media (max-width:560px){.hero-action .buddy{width:84px!important;height:84px!important}}.buddy-body{transform-box:fill-box;transform-origin:center bottom;animation:buddy-wiggle 3.4s ease-in-out infinite}@keyframes buddy-wiggle{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-5px) rotate(-3deg)}50%{transform:translateY(-7px) rotate(0deg)}75%{transform:translateY(-5px) rotate(3deg)}}@media (prefers-reduced-motion:reduce){.buddy-body{animation:none}}.hero-card h1{font-size:clamp(34px,6vw,56px);line-height:1.08;margin:0 0 16px;color:var(--purple)}.hero-pop-blue{color:var(--blue)}.hero-pop-orange{color:var(--orange)}.hero-card p{max-width:620px;margin:0 auto 26px}.hero-deco{position:absolute;z-index:1;font-size:30px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;animation:hero-bob 4s ease-in-out infinite}.hero-deco-heart,.hero-deco-pencil,.hero-deco-star{display:none}.hero-deco-rainbow{top:14%;right:9%;font-size:32px;animation-duration:6s}.hero-deco-rocket{top:54%;right:10%;font-size:34px;animation-duration:4.5s}@keyframes hero-bob{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-9px) rotate(4deg)}}@media (prefers-reduced-motion:reduce){.hero-deco{animation:none}}@media (max-width:560px){.hero-card{padding:40px 20px 36px}.hero-deco-heart,.hero-deco-pencil,.hero-deco-star{display:none}.hero-deco-rainbow{top:10px;right:12px}.hero-deco-rocket{top:auto;bottom:12px;right:12px}}.trust-strip{list-style:none;margin:8px auto;padding:14px 16px;max-width:var(--max);display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;background:var(--white);border-radius:999px;box-shadow:var(--shadow);width:-moz-fit-content;width:fit-content}.trust-strip li{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);font-size:15px}.trust-emoji{font-size:20px}@media (max-width:480px){.trust-strip{border-radius:20px;gap:10px 18px}.trust-strip li{font-size:14px}}.grade-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:16px;gap:16px}.grade-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:160px;padding:24px 14px;border-radius:24px;color:var(--white);box-shadow:0 7px 0 rgba(0,0,0,.14),0 12px 22px rgba(43,36,64,.18);transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease;text-align:center}.grade-card:hover{transform:translateY(-6px) scale(1.05)}.grade-card:active{transform:translateY(2px) scale(1);box-shadow:0 3px 0 rgba(0,0,0,.14),0 6px 12px rgba(43,36,64,.18)}.grade-card-icon{font-size:38px;line-height:1;margin-bottom:2px}.grade-card-tag{font-size:44px;font-weight:800;line-height:1}.grade-card-label{font-size:16px;font-weight:700;opacity:.95}@media (prefers-reduced-motion:reduce){.grade-card{transition:none}.grade-card:hover{transform:none}}.section-title{text-align:center;font-size:30px;color:var(--ink);margin:40px 0 8px}.section-sub{text-align:center;color:var(--muted);margin:0 0 28px}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:22px;gap:22px;max-width:var(--max);margin:0 auto;padding:0 20px}.game-tile{background:var(--white);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow);border:3px solid transparent;transition:transform .14s ease,border-color .14s ease;display:flex;flex-direction:column;gap:8px}.game-tile:hover{transform:translateY(-4px)}.game-tile-emoji{font-size:46px}.game-tile h3{margin:4px 0 0;font-size:22px}.game-tile .grades{font-size:14px;font-weight:700;color:var(--muted)}.game-tile p{margin:0;color:var(--muted);font-size:15px;flex:1 1}.game-tile .play-link{margin-top:12px;align-self:flex-start;font-weight:800;color:var(--white);padding:10px 22px;border-radius:999px}.game-page{max-width:640px;margin:0 auto;padding:28px 20px 56px;text-align:center}.game-page h1{font-size:34px;margin:0 0 4px;color:var(--purple)}.game-page .tagline{color:var(--muted);font-size:18px;margin:0 0 24px}.game-title-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:10px;margin-bottom:20px}.game-title-row .buddy{flex:0 0 auto;margin-top:-2px}.game-title-row .game-title-text{text-align:left}.game-title-row h1{margin:0}.game-title-row .tagline{margin:2px 0 0}@media (max-width:600px){.game-title-row .buddy{width:44px!important;height:44px!important}}.game-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 24px}.game-intro{font-size:18px;color:var(--muted);margin:0 0 22px}.level-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.level-btn{font-family:inherit;font-weight:800;font-size:18px;padding:12px 28px;border-radius:999px;border:3px solid var(--purple);background:var(--white);color:var(--ink);cursor:pointer;transition:transform .12s ease,background .12s ease}.level-btn:hover{transform:translateY(-2px);background:var(--bg)}.game-hud{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:18px;margin-bottom:12px}.hud-round{color:var(--ink)}.hud-round,.hud-score{font-weight:800}.hud-right{gap:12px}.hud-right,.streak-meter{display:inline-flex;align-items:center}.streak-meter{gap:4px;margin-right:4px}.streak-dot{width:10px;height:10px;border-radius:50%;background:var(--line);transition:background .2s ease,transform .2s ease}.streak-dot.on{background:var(--yellow);transform:scale(1.15)}.mute-btn{font-family:inherit;font-size:18px;line-height:1;padding:4px 8px;border-radius:999px;border:2px solid var(--line);background:var(--white);cursor:pointer;transition:background .12s ease,border-color .12s ease}.mute-btn:hover{background:var(--bg);border-color:var(--purple)}.progress-bar{height:12px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:26px}.progress-fill{height:100%;transition:width .3s ease}.question{font-size:52px;font-weight:800;margin:12px 0 28px}.question-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.question-row .question{margin:12px 0 28px}.replay-btn{font-size:24px;line-height:1;padding:8px 12px;border-radius:999px;border:2px solid var(--line);background:var(--white);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .1s ease}.replay-btn:hover{background:var(--bg);border-color:var(--purple);transform:scale(1.05)}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.choice-btn{font-family:inherit;font-size:32px;font-weight:800;padding:22px 0;border-radius:16px;border:3px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;transition:transform .1s ease,background .1s ease,border-color .1s ease}.choice-btn:hover:not(:disabled){transform:translateY(-2px);border-color:var(--purple)}.choice-btn:disabled{cursor:default}.choice-btn.correct{background:var(--green);border-color:var(--green);color:var(--white);animation:pop .35s ease}.choice-btn.wrong{background:var(--pink);border-color:var(--pink);color:var(--white);animation:shake .35s ease}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}@media (prefers-reduced-motion:reduce){.choice-btn.correct,.choice-btn.wrong{animation:none}}@media (max-width:600px){.game-page h1{font-size:20px;margin:0 0 2px}.game-page .tagline{font-size:14px;margin:0 0 10px}.game-card{padding:12px}.game-intro{font-size:15px;margin:0 0 12px}.question{font-size:28px}.question-row .question{margin:4px 0 12px}.choice-btn{font-size:22px;padding:12px 8px}.choice-grid,.choice-grid.choices-3,.choice-grid.choices-4,.choice-grid.choices-5{grid-template-columns:1fr 1fr;gap:8px}.game-hud{font-size:13px;margin-bottom:8px}.visual-bars-plot{height:110px!important}.visual-dot{font-size:18px}}.visual-dot{font-size:24px;line-height:1.1}@media (max-width:360px){.choice-grid,.choice-grid.choices-3{grid-template-columns:1fr}}.game-done{position:relative;overflow:hidden}.done-badge{font-size:56px;line-height:1;margin-bottom:6px;animation:pop .5s ease}.confetti{position:absolute;top:0;left:0;right:0;height:0;pointer-events:none}.confetti-piece{position:absolute;top:-10px;width:8px;height:12px;border-radius:2px;opacity:0;animation:confetti-fall 1.4s ease-in forwards}.confetti-0{left:12%;background:var(--purple);animation-delay:0s}.confetti-1{left:28%;background:var(--orange);animation-delay:.1s}.confetti-2{left:46%;background:var(--blue);animation-delay:.05s}.confetti-3{left:64%;background:var(--pink);animation-delay:.15s}.confetti-piece:nth-child(n+5){left:auto}.confetti-piece:nth-child(5){left:78%;background:var(--green);animation-delay:.2s}.confetti-piece:nth-child(6){left:88%;background:var(--yellow);animation-delay:.08s}.confetti-piece:nth-child(7){left:20%;background:var(--pink);animation-delay:.25s}.confetti-piece:nth-child(8){left:36%;background:var(--blue);animation-delay:.12s}.confetti-piece:nth-child(9){left:54%;background:var(--orange);animation-delay:.3s}.confetti-piece:nth-child(10){left:70%;background:var(--purple);animation-delay:.18s}.confetti-piece:nth-child(11){left:8%;background:var(--green);animation-delay:.22s}.confetti-piece:nth-child(12){left:92%;background:var(--yellow);animation-delay:.14s}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(320px) rotate(1turn);opacity:0}}@media (prefers-reduced-motion:reduce){.confetti-piece,.done-badge{animation:none}.confetti-piece{display:none}}.game-done h2{font-size:32px;margin:0 0 12px;color:var(--purple)}.star-row{font-size:56px;margin:8px 0 16px}.star{color:var(--line)}.star.on{color:var(--yellow)}.final-score{font-size:20px;margin:0 0 24px}.play-again{font-family:inherit;font-weight:800;font-size:18px;padding:12px 30px;border-radius:999px;border:none;color:var(--white);cursor:pointer;transition:transform .12s ease}.play-again:hover{transform:translateY(-2px)}.prose{max-width:760px;margin:0 auto}.prose h1{color:var(--purple);font-size:34px}.prose h2{color:var(--ink);font-size:24px;margin-top:32px}.prose li,.prose p{color:var(--ink);font-size:17px}.prose a{color:var(--purple);font-weight:700}.breadcrumb{color:var(--muted);font-size:14px;font-weight:700;margin-bottom:8px}.breadcrumb a{color:var(--purple)}.site-footer{background:var(--white);border-top:3px solid var(--line);margin-top:40px}.footer-inner{max-width:var(--max);margin:0 auto;padding:28px 20px 12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-brand{display:flex;flex-direction:column;gap:2px}.footer-brand p{margin:4px 0 0;color:var(--muted);font-size:14px}.footer-links{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.footer-links a{font-weight:700;color:var(--ink)}.footer-links a:hover{color:var(--purple)}.footer-copy{text-align:center;color:var(--muted);font-size:13px;padding:8px 20px 20px;margin:0}.tile-footer{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.tile-badge{font-size:18px;line-height:1;letter-spacing:1px;white-space:nowrap}.best-line{font-size:16px;color:var(--muted);margin:0 0 18px}.best-stars{font-size:18px;letter-spacing:1px;vertical-align:middle}.new-best{font-size:18px;font-weight:800;color:var(--orange);margin:0 0 18px}.choice-grid.choices-3{grid-template-columns:repeat(3,1fr)}.grade-hero{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.grade-hero .buddy{flex:0 0 auto}.grade-hero-title{margin:0;text-align:left}.grade-hero-sub{margin:4px 0 0;text-align:left}@media (max-width:520px){.grade-hero{flex-direction:column;gap:4px}.grade-hero-sub,.grade-hero-title{text-align:center}}.grade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:18px;gap:18px;max-width:var(--max);margin:0 auto;padding:0 20px}.grade-tile{background:var(--white);border-radius:var(--radius);padding:24px 18px;box-shadow:var(--shadow);border:3px solid var(--purple);display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease}.grade-tile:hover{transform:translateY(-6px) scale(1.03)}.grade-tile-icon{font-size:42px;line-height:1}.grade-label{font-size:22px;font-weight:800;color:var(--ink)}.grade-tile-summary{font-size:14px;font-weight:600;color:var(--muted)}.grade-cta{margin-top:4px;font-weight:800;color:var(--white);background:var(--purple);padding:10px 22px;border-radius:999px}.grade-tile-soon{border-color:var(--line);opacity:.7}.grade-soon{font-weight:700;color:var(--muted);font-size:14px}@media (prefers-reduced-motion:reduce){.grade-tile{transition:none}.grade-tile:hover{transform:none}}.topic-section{max-width:var(--max);margin:0 auto 8px}.topic-section-title{padding:0 20px;margin:28px 0 12px;font-size:24px;color:var(--orange)}.topic-list{max-width:var(--max);margin:0 auto;padding:0 20px;display:flex;flex-direction:column;gap:22px}.topic-block{background:var(--white);border-radius:var(--radius);padding:22px 22px 24px;box-shadow:var(--shadow)}.topic-title{margin:0 0 4px;font-size:22px;color:var(--purple)}.topic-blurb{margin:0 0 14px;color:var(--muted);font-size:15px}.skill-row{display:flex;flex-wrap:wrap;gap:10px}.skill-chip{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;padding:10px 18px;border-radius:999px;border:2px solid var(--purple);color:var(--ink);background:var(--white);transition:transform .12s ease,background .12s ease}.skill-chip:hover{transform:translateY(-2px);background:var(--bg)}.skill-chip-soon{border-color:var(--line);color:var(--muted);cursor:default}.skill-soon-tag{font-size:11px;font-weight:800;text-transform:uppercase;background:var(--line);color:var(--muted);padding:2px 8px;border-radius:999px}.skill-back{margin-top:24px;font-weight:700}.skill-back a{color:var(--purple)}.settings-card{max-width:560px;margin:0 auto;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;gap:18px}.settings-card,.settings-row{display:flex;flex-direction:column}.settings-row{gap:8px}.settings-row>label{font-weight:700;color:var(--ink)}.settings-toggle{flex-direction:row;align-items:center;justify-content:space-between}.settings-toggle span{font-weight:700}.settings-toggle input{width:22px;height:22px;cursor:pointer}.settings-row input[type=range],.settings-row select{width:100%}.settings-row select{font-family:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:2px solid var(--line);background:var(--white);color:var(--ink)}.settings-test{font-family:inherit;font-weight:800;font-size:16px;padding:12px 24px;border-radius:999px;border:none;background:var(--purple);color:var(--white);cursor:pointer;align-self:flex-start;transition:transform .12s ease}.settings-test:hover{transform:translateY(-2px)}.settings-note{color:var(--muted);font-size:13px;margin:0}