:root {
  --bg: #f7f9ff;
  --bg-soft: #eef4ff;
  --surface: rgba(255,255,255,.68);
  --surface-solid: #fff;
  --text: #17204b;
  --muted: #68729b;
  --purple: #7452e8;
  --deep-purple: #5835ce;
  --blue: #397ff4;
  --cyan: #20d7dc;
  --pink: #ef73bb;
  --gold: #ffc54d;
  --border: rgba(105,113,190,.15);
  --shadow: 0 24px 60px rgba(72,74,160,.14);
  --font-head: "Baloo 2", cursive;
  --font-body: "Nunito", sans-serif;
  --radius: 26px;
}

body.dark {
  --bg: #10142f;
  --bg-soft: #171d3f;
  --surface: rgba(29,35,75,.68);
  --surface-solid: #1a2046;
  --text: #f5f7ff;
  --muted: #acb5dc;
  --border: rgba(171,183,255,.16);
  --shadow: 0 24px 70px rgba(0,0,0,.26);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; color: var(--text); background: var(--bg); font-family: var(--font-body);
  overflow-x: hidden; transition: background .35s, color .35s;
}
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1;
  background: radial-gradient(circle at 15% 15%, rgba(82,212,234,.1), transparent 22%),
    radial-gradient(circle at 82% 45%, rgba(126,91,238,.1), transparent 25%);
}
::-webkit-scrollbar { width: 9px; }
::-webkit-scrollbar-track { background: var(--bg-soft); }
::-webkit-scrollbar-thumb { border-radius: 9px; background: linear-gradient(var(--purple), var(--cyan)); }
::selection { color: #fff; background: var(--purple); }
a { text-decoration: none; color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
.page-noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.progress-track { position: fixed; z-index: 99; height: 3px; top: 0; left: 0; width: 100%; }
.progress-track span { display: block; height: 100%; width: 0; background: linear-gradient(90deg,var(--purple),var(--cyan)); }
.section-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; position: relative; }
.section-pad { padding-block: 110px; }
.glass-card { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; transition-delay: var(--delay, 0ms); }
.reveal.visible { opacity: 1; transform: translateY(0); }

.cursor-dot,.cursor-ring { position: fixed; pointer-events: none; z-index: 999; border-radius: 50%; transform: translate(-50%,-50%); }
.cursor-dot { width: 7px; height: 7px; background: var(--purple); }
.cursor-ring { width: 32px; height: 32px; border: 1.5px solid rgba(116,82,232,.55); transition: width .2s,height .2s,background .2s; }
.cursor-ring.hover { width: 48px; height: 48px; background: rgba(116,82,232,.12); }

.site-header {
  position: fixed; top: 18px; left: 50%; z-index: 50; display: flex; align-items: center; justify-content: space-between;
  width: min(1160px, calc(100% - 32px)); padding: 10px 14px 10px 18px; border: 1px solid var(--border); border-radius: 20px;
  background: color-mix(in srgb, var(--surface) 90%, transparent); backdrop-filter: blur(20px); box-shadow: 0 10px 35px rgba(67,70,140,.1);
  transform: translateX(-50%);
}
.logo { display: flex; align-items: center; gap: 9px; font: 800 26px/1 var(--font-head); letter-spacing: -.7px; }
.logo span span { color: var(--purple); }
.logo-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px; color: white; background: linear-gradient(135deg,var(--purple),var(--blue)); box-shadow: 0 7px 16px rgba(103,76,218,.28); font-size: 22px; }
.main-nav { display: flex; gap: 30px; color: var(--muted); font-size: 14px; font-weight: 800; }
.main-nav a { position: relative; padding-block: 8px; transition: color .25s; }
.main-nav a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:2px; border-radius:5px; background:var(--purple); transition:width .25s; }
.main-nav a:hover { color: var(--purple); }.main-nav a:hover::after { width:100%; }
.header-actions { display:flex; align-items:center; gap:9px; }
.icon-button,.menu-toggle { border:0; color:var(--text); background:var(--bg-soft); }
.icon-button { position:relative; width:42px;height:42px;border-radius:14px;overflow:hidden; }
.icon-button span { position:absolute; inset:0; display:grid;place-items:center;transition:transform .35s,opacity .35s; }
.icon-button .moon { transform:translateY(32px);opacity:0; }.dark .icon-button .sun { transform:translateY(-32px);opacity:0; }.dark .icon-button .moon { transform:none;opacity:1; }
.menu-toggle { display:none; width:42px;height:42px;border-radius:14px;padding:11px; }
.menu-toggle span { display:block;height:2px;margin:4px 0;border-radius:3px;background:var(--text);transition:.25s; }

.hero { min-height: 780px; height: 100vh; display:flex;align-items:center; padding-top:82px; }
.hero-content { width: 59%; position:relative;z-index:3; }
.eyebrow { display:inline-flex;align-items:center;gap:9px;color:var(--purple);font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase; }
.eyebrow i { width:28px;height:2px;border-radius:5px;background:linear-gradient(90deg,var(--purple),var(--cyan)); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--font-head); }
h1 { max-width:760px;margin:18px 0 12px;font-size:clamp(62px,7vw,94px);line-height:.91;letter-spacing:-4px; }
h1 span,h2 span { color:transparent;background:linear-gradient(100deg,var(--purple),var(--blue),var(--cyan));background-size:200% auto;background-clip:text;-webkit-background-clip:text;animation:gradient-shift 4s linear infinite; }
.hero-copy { margin-bottom:7px;color:var(--purple);font-size:22px;font-weight:800; }
.hero-subcopy { max-width:500px;margin-bottom:28px;color:var(--muted);font-size:16px;line-height:1.7; }
.hero-actions,.hero-trust { display:flex;align-items:center;gap:24px; }
.primary-button {
  display:inline-flex;align-items:center;gap:18px;padding:14px 15px 14px 22px;border:0;border-radius:16px;color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--blue));font-weight:800;box-shadow:0 12px 24px rgba(95,79,220,.3);transition:transform .25s,box-shadow .25s;
}
.primary-button b { display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.2);font-size:18px; }
.primary-button:hover { transform:translateY(-4px);box-shadow:0 18px 30px rgba(95,79,220,.38); }
.play-link { display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;font-weight:800; }
.play-link i { display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--purple);background:var(--surface-solid);box-shadow:0 7px 14px rgba(70,75,160,.12);font-size:11px;font-style:normal;transition:.25s; }
.play-link:hover i { transform:scale(1.12);color:#fff;background:var(--purple); }
.hero-trust { gap:12px;margin-top:47px;color:var(--muted);font-size:12px;line-height:1.5; }
.hero-trust p { margin:0; }.hero-trust strong { color:var(--text); }
.avatar-stack { display:flex; }.avatar-stack span { display:grid;place-items:center;width:33px;height:33px;margin-right:-7px;border:2px solid var(--bg);border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--cyan),var(--blue));font:700 15px var(--font-head); }
.avatar-stack span:nth-child(2){background:linear-gradient(135deg,#ffbf62,#f187a6)}.avatar-stack span:nth-child(3){background:linear-gradient(135deg,var(--purple),#a370ef)}
.hero-visual { position:absolute;right:2%;top:50%;z-index:2;width:400px;height:450px;transform:translateY(-50%); }
.hero-visual.visible { transform:translateY(-50%); }
.main-mascot-card { position:absolute;inset:52px 38px 48px;border-radius:38px;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(234,236,255,.55));border:1px solid rgba(255,255,255,.8);box-shadow:0 35px 65px rgba(96,83,180,.22);backdrop-filter:blur(15px); }
.dark .main-mascot-card { background:linear-gradient(145deg,rgba(43,51,105,.8),rgba(30,35,80,.6));border-color:var(--border); }
.mini-label { display:block;padding-top:35px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px; }
.magic-number { color:transparent;background:linear-gradient(145deg,var(--purple),var(--cyan));background-clip:text;-webkit-background-clip:text;font:800 190px/.98 var(--font-head);filter:drop-shadow(0 10px 5px rgba(91,87,195,.15));animation:breath 3s ease-in-out infinite; }
.main-mascot-card p { color:var(--muted);font-size:13px;font-weight:800; }
.tiny-equation { display:inline-block;padding:9px 18px;border-radius:12px;color:var(--muted);background:rgba(255,255,255,.65);font-weight:800; }.dark .tiny-equation{background:rgba(255,255,255,.08)}
.float-card { position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:var(--surface);border:1px solid rgba(255,255,255,.55);box-shadow:0 15px 30px rgba(68,70,150,.14);backdrop-filter:blur(12px);animation:float 4s ease-in-out infinite; }
.float-card span { display:grid;place-items:center;width:35px;height:35px;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--purple),var(--blue));font:800 17px var(--font-head); }
.float-card strong,.float-card small { display:block;white-space:nowrap; }.float-card strong{font-size:12px}.float-card small{color:var(--muted);font-size:10px}
.float-card-a{top:16px;right:-30px}.float-card-b{left:-34px;bottom:76px;animation-delay:1s}.float-card-c{right:-32px;bottom:20px;animation-delay:2s}.float-card-c span{background:linear-gradient(135deg,#ffc94d,#f39465)}
.orbit { position:absolute;border:1px dashed rgba(117,84,232,.25);border-radius:50%;animation:spin 20s linear infinite; }.orbit-one{inset:0}.orbit-two{inset:34px;animation-direction:reverse;animation-duration:15s}
.math-particles span { position:absolute;left:var(--x);top:var(--y);color:var(--purple);font:800 28px var(--font-head);opacity:.42;animation:particle 5s var(--delay) ease-in-out infinite; }
.blob { position:absolute;z-index:-1;border-radius:45% 55% 65% 35%/45% 35% 65% 55%;filter:blur(1px);animation:morph 10s ease-in-out infinite alternate; }
.blob-one{right:1%;top:17%;width:510px;height:510px;background:rgba(113,88,229,.11)}.blob-two{right:15%;top:28%;width:320px;height:320px;background:rgba(35,216,221,.15);animation-delay:-3s}.blob-three{left:-12%;bottom:-7%;width:260px;height:260px;background:rgba(84,128,239,.08);animation-delay:-6s}
.scroll-cue { position:absolute;left:50%;bottom:22px;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;transform:translateX(-50%); }
.scroll-cue span{width:20px;height:32px;border:1.5px solid var(--border);border-radius:12px}.scroll-cue span::after{content:"";display:block;width:4px;height:7px;margin:6px auto;border-radius:4px;background:var(--purple);animation:scroll-dot 1.8s infinite}

.section-heading { max-width:660px;margin:0 auto 42px;text-align:center; }.section-heading h2,.practice-intro h2,.daily-card h2{margin:13px 0 10px;font-size:clamp(42px,5vw,58px);line-height:.98;letter-spacing:-2px}.section-heading p,.practice-intro p{color:var(--muted);font-size:15px;line-height:1.7}
.classes { width:min(1240px,calc(100% - 32px)); }.class-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }
.class-card { position:relative;min-height:206px;padding:22px;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 12px 25px rgba(72,74,150,.07);transition:transform .35s,box-shadow .35s,border .35s;backdrop-filter:blur(16px); }
.class-card::before{content:"";position:absolute;right:-55px;top:-55px;width:120px;height:120px;border-radius:50%;background:var(--accent);opacity:.12;transition:transform .35s}
.class-card:hover{z-index:2;border-color:var(--accent);box-shadow:0 20px 38px color-mix(in srgb,var(--accent) 20%,transparent);transform:translateY(-11px)}.class-card:hover::before{transform:scale(1.8)}
.class-card:nth-child(5){grid-column:2}.class-card .class-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;background:var(--accent);font:800 20px var(--font-head);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 35%,transparent)}
.class-card h3{margin:20px 0 4px;font-size:24px}.class-card p{color:var(--muted);font-size:12px;line-height:1.65}.class-card a{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:12px;font-weight:800}.class-card a b{font-size:17px;transition:transform .25s}.class-card:hover a b{transform:translateX(5px)}

.practice { display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center; }.practice-intro{padding-left:10px}.practice-points{display:grid;gap:12px;margin-top:25px;color:var(--muted);font-size:14px;font-weight:700}.practice-points b{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--cyan),var(--blue));font-size:11px}
.quiz-card{overflow:hidden;border-radius:28px}.quiz-topbar{display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff}.quiz-stat{padding:15px;text-align:center;border-right:1px solid rgba(255,255,255,.17)}.quiz-stat:last-child{border:0}.quiz-stat small,.quiz-stat strong{display:block}.quiz-stat small{opacity:.75;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.quiz-stat strong{margin-top:3px;font:800 21px var(--font-head)}
.quiz-controls{display:flex;justify-content:center;gap:8px;padding:19px 15px 5px}.quiz-controls button{width:42px;height:34px;border:1px solid var(--border);border-radius:11px;color:var(--muted);background:var(--surface-solid);font-weight:800;transition:.25s}.quiz-controls button:hover,.quiz-controls button.active{border-color:transparent;color:#fff;background:var(--purple);transform:translateY(-3px);box-shadow:0 6px 12px rgba(116,82,232,.25)}
.quiz-stage{padding:15px 30px 27px;text-align:center}.quiz-kicker{margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.equation{display:flex;justify-content:center;gap:14px;font:800 48px var(--font-head)}.equation b{color:var(--purple)}.answer-form{display:flex;gap:9px;max-width:320px;margin:6px auto 0}.answer-form input,.challenge-form input{min-width:0;width:100%;border:1px solid var(--border);border-radius:14px;outline:0;color:var(--text);background:var(--surface-solid);font-size:14px;font-weight:700;text-align:center;transition:.25s}.answer-form input:focus,.challenge-form input:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(116,82,232,.12)}.answer-form .primary-button{padding:10px 10px 10px 16px}.answer-form .primary-button b{width:24px;height:24px}.quiz-feedback{height:16px;margin:13px 0 0;color:var(--muted);font-size:12px;font-weight:800}.quiz-feedback.success{color:#18b985}.quiz-feedback.error{color:#f05b7a}.quiz-stage.correct{animation:correct .45s}.quiz-stage.wrong{animation:wrong .4s}

.playground{width:min(1240px,calc(100% - 32px))}.playground-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.demo-card{min-height:440px;padding:21px;border-radius:25px}.demo-head{display:flex;align-items:center;gap:12px}.demo-head h3{margin:0;font-size:20px}.demo-head p{margin:1px 0 0;color:var(--muted);font-size:12px}.demo-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--purple);background:rgba(116,82,232,.1);font-size:20px;font-weight:800}.fraction-workspace{display:flex;align-items:center;justify-content:center;gap:22px;height:245px}.fraction-pizza{position:relative;width:158px;height:158px;border:8px solid #ffc261;border-radius:50%;background:conic-gradient(#f07b72 0deg 270deg,#ffe1a9 270deg 360deg);box-shadow:inset 0 0 0 4px rgba(255,255,255,.25),0 14px 20px rgba(210,138,80,.2);transition:background .45s;transform:rotate(-20deg)}.fraction-pizza::after{content:"";position:absolute;inset:14px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#ffe18c 0 5px,transparent 6px),radial-gradient(circle at 72% 45%,#ffe18c 0 5px,transparent 6px),radial-gradient(circle at 48% 74%,#ffe18c 0 5px,transparent 6px);opacity:.8}.fraction-copy strong,.fraction-copy span{display:block}.fraction-copy strong{font:800 50px var(--font-head);color:var(--purple);line-height:1}.fraction-copy span{color:var(--muted);font-size:12px;font-weight:700}.range-label{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800}.range-label output{color:var(--purple)}.range{width:100%;height:5px;margin-top:14px;appearance:none;border-radius:5px;outline:0;background:linear-gradient(90deg,var(--purple),var(--cyan))}.range::-webkit-slider-thumb{width:19px;height:19px;appearance:none;border:3px solid white;border-radius:50%;background:var(--purple);box-shadow:0 3px 10px rgba(89,63,189,.35);cursor:grab}.range::-moz-range-thumb{width:15px;height:15px;border:3px solid white;border-radius:50%;background:var(--purple);cursor:grab}
.number-readout{padding-top:44px;text-align:center}.number-readout small,.number-readout strong{display:block}.number-readout small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.number-readout strong{color:var(--purple);font:800 58px var(--font-head);line-height:1}.number-line-wrap{position:relative;padding:64px 5px 40px}.number-line{display:flex;justify-content:space-between;height:3px;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.number-line span{position:relative;width:2px;height:11px;top:-4px;background:var(--muted)}.number-line small{position:absolute;top:15px;left:50%;color:var(--muted);font-size:10px;transform:translateX(-50%)}.line-pointer{position:absolute;z-index:2;top:31px;left:60%;width:28px;height:28px;border-radius:50% 50% 50% 5px;background:var(--purple);box-shadow:0 7px 14px rgba(116,82,232,.3);transform:rotate(-45deg) translateX(-50%);transition:left .35s}.line-pointer span{position:absolute;inset:8px;border-radius:50%;background:#fff}
.shape-stage{display:grid;place-items:center;height:195px}.shape{display:inline-block;width:92px;height:92px;background:linear-gradient(135deg,var(--purple),var(--cyan));transition:clip-path .4s,border-radius .4s,transform .4s}.shape:hover,.shape-stage .shape{animation:shape-dance 4s ease-in-out infinite}.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.square{border-radius:10px}.pentagon{clip-path:polygon(50% 0,100% 38%,81% 100%,19% 100%,0 38%)}.hexagon{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.circle{border-radius:50%}.shape-info{text-align:center}.shape-info strong,.shape-info span{display:block}.shape-info strong{font:800 24px var(--font-head)}.shape-info span{color:var(--muted);font-size:12px}.shape-options{display:flex;justify-content:center;gap:8px;margin-top:21px}.shape-options button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid);transition:.25s}.shape-options button:hover,.shape-options button.active{border-color:var(--purple);background:rgba(116,82,232,.12);transform:translateY(-4px)}.shape-options .shape{width:19px;height:19px}

.daily-wrap{width:min(1240px,calc(100% - 32px));padding-top:30px}.daily-card{position:relative;min-height:330px;padding:46px 54px;overflow:hidden;border-radius:32px;color:#fff;background:linear-gradient(115deg,#6038d0,#4172e8 62%,#22cad5)}.daily-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15),transparent 25%)}.daily-content{position:relative;z-index:2}.eyebrow.light{color:#bceffd}.eyebrow.light i{background:#bceffd}.daily-card h2{margin-bottom:12px}.daily-card h2 span{color:#c4faff;background:none;-webkit-text-fill-color:initial}.daily-card p{font-size:19px;font-weight:800}.challenge-form{display:flex;gap:9px;width:min(390px,100%);margin-top:22px}.challenge-form input{padding:12px;color:#20295d;background:rgba(255,255,255,.93)}.challenge-form button{display:flex;align-items:center;gap:13px;padding:10px 14px;border:0;border-radius:13px;color:var(--purple);background:#fff;font-size:13px;font-weight:800;white-space:nowrap;transition:.25s}.challenge-form button:hover{transform:translateY(-3px);box-shadow:0 10px 18px rgba(42,52,150,.22)}.challenge-form b{font-size:18px}.challenge-feedback{height:20px;margin-top:12px;color:#c4faff;font-size:13px;font-weight:800}.daily-art{position:absolute;right:11%;top:50%;width:250px;height:250px;transform:translateY(-50%)}.daily-art strong{position:absolute;top:50%;left:50%;font:800 150px/1 var(--font-head);transform:translate(-50%,-50%);text-shadow:0 15px 25px rgba(30,45,120,.2)}.art-orbit{position:absolute;inset:0;border:1px dashed rgba(255,255,255,.4);border-radius:50%;animation:spin 18s linear infinite}.orbit-small{inset:38px;animation-direction:reverse}.daily-art i,.daily-art b,.daily-art em{position:absolute;font:800 24px var(--font-head);font-style:normal}.daily-art i{left:8px;top:60px}.daily-art b{right:7px;top:90px}.daily-art em{right:45px;bottom:1px}

.dashboard{width:min(1240px,calc(100% - 32px))}.dashboard-grid{display:grid;grid-template-columns:1.05fr 1.1fr 1fr;gap:18px}.profile-card,.weekly-card{padding:23px;border-radius:22px}.profile-top{display:flex;align-items:center;gap:13px}.profile-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--purple),var(--blue));font:800 25px var(--font-head)}.profile-top h3,.weekly-card h3{margin:0;font-size:20px}.profile-top p,.weekly-card p{margin:0;color:var(--muted);font-size:12px}.level-row{display:flex;justify-content:space-between;margin:25px 0 8px;font-size:12px;font-weight:800}.bar{height:8px;overflow:hidden;border-radius:5px;background:var(--bg-soft)}.bar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--cyan));transition:width 1.3s ease}.visible .bar i{width:var(--progress)}.profile-card>small{display:block;margin-top:10px;color:var(--muted);font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-card{display:flex;flex-direction:column;justify-content:center;padding:15px;border-radius:20px;text-align:center}.stat-card span{color:var(--purple);font-size:22px}.stat-card strong{font:800 27px var(--font-head)}.stat-card small{color:var(--muted);font-size:10px;font-weight:800}.weekly-card{padding-bottom:12px}.week-bars{display:flex;align-items:end;justify-content:space-between;height:123px;padding-top:18px}.week-bars span{position:relative;width:9%;height:var(--h);border-radius:6px 6px 3px 3px;background:linear-gradient(var(--purple),var(--cyan));transition:height 1s}.week-bars i{position:absolute;top:-18px;left:50%;color:var(--muted);font-size:9px;font-style:normal;transform:translateX(-50%)}.week-bars small{position:absolute;bottom:-17px;left:50%;color:var(--muted);font-size:9px;font-weight:800;transform:translateX(-50%)}

.achievements{padding-top:60px}.badge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.badge-card{padding:21px 12px;border:1px solid var(--border);border-radius:20px;text-align:center;background:var(--surface);transition:.35s}.badge-card:hover{border-color:rgba(116,82,232,.35);box-shadow:0 18px 32px rgba(75,76,160,.13);transform:translateY(-10px)}.badge{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 12px;border-radius:25px;color:#fff;font:800 27px var(--font-head);box-shadow:inset 0 0 0 5px rgba(255,255,255,.18),0 10px 20px rgba(74,74,150,.18);transition:transform .5s}.badge-card:hover .badge{transform:rotate(10deg) scale(1.1)}.bronze{background:linear-gradient(135deg,#f1ab70,#d57769)}.blue{background:linear-gradient(135deg,#4aaaf6,#4f73e8)}.violet{background:linear-gradient(135deg,#a060eb,#7047dd)}.cyan{background:linear-gradient(135deg,#45e1d0,#21aacc)}.gold{background:linear-gradient(135deg,#ffdb66,#f29e42)}.badge-card h3{margin:0;font-size:18px}.badge-card p{margin:2px 0;color:var(--muted);font-size:11px}

.site-footer{margin-top:60px;color:#c8cff5;background:#14193b}.footer-main{display:grid;grid-template-columns:1.4fr 1fr auto;gap:30px;align-items:center;padding-block:45px}.footer-main .logo{color:#fff}.footer-main p{margin:11px 0 0;color:#8994c7;font-size:13px}.footer-links{display:flex;flex-wrap:wrap;gap:14px 22px;color:#aeb6df;font-size:13px;font-weight:700}.footer-links a:hover{color:#fff}.socials{display:flex;gap:9px}.socials a{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(255,255,255,.12);border-radius:11px;color:#fff;font-size:14px;font-weight:800;transition:.25s}.socials a:hover{border-color:var(--cyan);background:rgba(36,210,215,.15);transform:translateY(-4px)}.footer-bottom{display:flex;justify-content:space-between;padding-block:16px;border-top:1px solid rgba(255,255,255,.08);color:#7f89bd;font-size:11px;font-weight:700}.footer-bottom p{margin:0}.footer-bottom a:hover{color:#fff}

@keyframes gradient-shift{to{background-position:200% center}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breath{50%{transform:scale(1.05)}}@keyframes float{50%{transform:translateY(-12px)}}@keyframes morph{to{border-radius:65% 35% 40% 60%/55% 65% 35% 45%;transform:rotate(12deg) scale(1.08)}}@keyframes particle{50%{transform:translateY(-18px) rotate(20deg);opacity:.75}}@keyframes scroll-dot{70%,100%{transform:translateY(11px);opacity:0}}@keyframes correct{50%{transform:scale(1.025)}}@keyframes wrong{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}@keyframes shape-dance{50%{transform:rotate(8deg) scale(1.07)}}

@media(max-width:1050px){.hero-content{width:60%}.hero-visual{right:-5%;transform:translateY(-50%) scale(.86)}.hero-visual.visible{transform:translateY(-50%) scale(.86)}.practice{gap:40px}.playground-grid{grid-template-columns:1fr 1fr}.shape-demo{grid-column:1/-1}.dashboard-grid{grid-template-columns:1fr 1fr}.weekly-card{grid-column:1/-1}.class-grid{grid-template-columns:repeat(3,1fr)}.class-card:nth-child(5){grid-column:auto}.class-card:nth-child(7){grid-column:2}}
@media(max-width:760px){.section-shell{width:min(100% - 30px,600px)}.section-pad{padding-block:80px}.cursor-dot,.cursor-ring{display:none}.main-nav{position:absolute;top:64px;left:0;display:grid;width:100%;gap:0;padding:9px 18px;border:1px solid var(--border);border-radius:17px;background:var(--surface-solid);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-8px);transition:.25s}.main-nav.open{opacity:1;pointer-events:auto;transform:none}.main-nav a{padding:10px}.menu-toggle{display:block}.hero{display:block;height:auto;min-height:920px;padding-top:155px}.hero-content{width:100%;text-align:center}.hero-content h1{font-size:64px}.hero-subcopy{margin-inline:auto}.hero-actions,.hero-trust{justify-content:center}.hero-trust{margin-top:30px;text-align:left}.hero-visual{right:50%;top:auto;bottom:21px;width:360px;height:360px;transform:translateX(50%) scale(.82)}.hero-visual.visible{transform:translateX(50%) scale(.82)}.main-mascot-card{inset:47px 38px 34px}.magic-number{font-size:150px}.float-card-a{right:-10px}.float-card-b{left:-13px}.float-card-c{right:-6px}.orbit{display:none}.scroll-cue{display:none}.class-grid{grid-template-columns:1fr 1fr}.class-card:nth-child(7){grid-column:auto}.class-card{min-height:190px;padding:18px}.practice{display:block}.practice-intro{padding:0;margin-bottom:28px;text-align:center}.practice-points{justify-content:center;text-align:left}.playground-grid{display:block}.demo-card{margin-bottom:15px}.shape-demo{min-height:420px}.daily-card{padding:35px 24px}.daily-art{right:-75px;opacity:.28}.daily-content{width:100%}.dashboard-grid{display:block}.profile-card,.stats-grid,.weekly-card{margin-bottom:14px}.stats-grid{height:140px}.badge-grid{grid-template-columns:1fr 1fr}.footer-main{display:block}.footer-links{margin-block:23px}.footer-bottom{gap:15px}.daily-wrap,.dashboard,.playground,.classes{width:min(100% - 30px,600px)}}
@media(max-width:440px){.site-header{top:10px}.hero{min-height:840px;padding-top:132px}.hero-content h1{font-size:54px}.hero-copy{font-size:18px}.hero-subcopy{font-size:14px}.hero-visual{bottom:15px;transform:translateX(50%) scale(.72)}.hero-visual.visible{transform:translateX(50%) scale(.72)}.hero-actions{gap:14px}.play-link{font-size:0}.class-grid{gap:10px}.class-card{min-height:175px;padding:14px}.class-card h3{margin-top:16px;font-size:21px}.class-card p{font-size:11px}.quiz-stage{padding-inline:17px}.equation{font-size:42px}.fraction-workspace{gap:12px}.fraction-pizza{width:135px;height:135px}.fraction-copy strong{font-size:41px}.daily-card h2{font-size:42px}.challenge-form{display:block}.challenge-form input{height:43px;margin-bottom:8px}.challenge-form button{justify-content:center;width:100%}.badge-grid{gap:10px}.badge-card{padding-inline:5px}.footer-bottom{display:block}.footer-bottom a{display:inline-block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
