:root{color:#241b48;font-synthesis:none;--ink:#241b48;--muted:#6d6783;--purple:#5b45ce;--purple-dark:#35238f;--lilac:#ebe7ff;--gold:#f4b942;--mint:#dff7ed;--border:#e7e3f2;--shadow:0 18px 50px #3123701c;background:#f8f7ff;font-family:Inter,ui-rounded,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 0,#eeeaff 0,#0000 28%),#f8f7ff;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:3px;outline:4px solid #f2b73d}.skip-link{color:var(--ink);z-index:100;background:#fff;border-radius:12px;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:20;background:#ffffffeb;align-items:center;gap:34px;height:78px;padding:0 max(24px,50vw - 620px);display:flex;position:sticky;top:0}.brand{text-align:left;color:var(--ink);background:0 0;border:0;align-items:center;padding:4px;font-size:15px;line-height:1.05;display:flex}.brand span:last-child{display:grid}.brand strong{font-size:17px}.brand small{text-transform:uppercase;letter-spacing:.2em;color:var(--purple);margin-top:3px;font-size:9px}.brand-gem{color:#fff;background:linear-gradient(145deg,#806ff1,#4a32ba);border-radius:13px;place-items:center;width:40px;height:40px;margin-right:10px;font-size:21px;box-shadow:0 7px 18px #6855cc55;display:grid!important}nav{flex:1;justify-content:center;gap:5px;display:flex}nav button{color:#676079;background:0 0;border:0;border-radius:12px;padding:11px 15px;font-weight:700}nav button span{margin-right:7px}nav button:hover,nav button.active{background:var(--lilac);color:var(--purple-dark)}.header-coins{background:#fff7dc;border:1px solid #f2dda0;border-radius:99px;align-items:center;gap:7px;padding:8px 13px;display:flex}.page{max-width:1240px;min-height:calc(100vh - 130px);margin:0 auto;padding:52px 24px 70px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--purple);font-size:12px;font-weight:900}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;font-size:clamp(38px,5vw,64px);line-height:1.04}h2{letter-spacing:-.025em}p{color:var(--muted);line-height:1.6}.hero-card{color:#fff;background:linear-gradient(120deg,#201752 0%,#39278c 65%,#553bc5 100%);border-radius:32px;min-height:430px;padding:58px 52px;position:relative;overflow:hidden;box-shadow:0 24px 70px #39278c33}.hero-card:before,.hero-card:after{content:"";border:1px solid #ffffff18;border-radius:50%;position:absolute}.hero-card:before{width:420px;height:420px;top:-150px;right:-90px}.hero-card:after{width:300px;height:300px;bottom:-220px;right:80px}.hero-card>div:first-child{z-index:2;max-width:650px;position:relative}.hero-card .eyebrow{color:#d2caff}.hero-card h1{margin:12px 0 18px}.hero-card h1 span{color:#f7c759}.hero-card p{color:#d9d4ef;max-width:540px;font-size:18px}.hero-card .primary-button{z-index:3;position:absolute;bottom:52px;left:52px}.hero-gem{filter:drop-shadow(0 18px 28px #0a062d77);font-size:130px;position:absolute;top:78px;right:80px;transform:rotate(5deg)}.hero-gem span{color:var(--ink);background:#fffd;border-radius:99px;padding:7px 11px;font-size:18px;position:absolute;bottom:0;right:0}.primary-button{color:#fff;background:linear-gradient(135deg,#755ce5,#5137c2);border:0;border-radius:14px;min-height:50px;padding:15px 22px;font-weight:850;box-shadow:0 9px 22px #4d35ae44}.primary-button:hover{filter:brightness(1.06);transform:translateY(-2px)}.primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.hero-card .primary-button{color:#33234e;background:linear-gradient(135deg,#f8ca5b,#ecaa2c);box-shadow:0 10px 26px #0004}.stat-strip{z-index:5;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:20px;grid-template-columns:repeat(3,1fr);margin:-22px 34px 34px;padding:16px;display:grid;position:relative}.stat-strip>div{border-right:1px solid var(--border);justify-content:center;align-items:center;gap:13px;padding:9px;display:flex}.stat-strip>div:last-child{border:0}.stat-strip>div>span{font-size:25px}.stat-strip p{margin:0;font-size:12px}.stat-strip strong{color:var(--ink);font-size:21px;display:block}.panel{border:1px solid var(--border);background:#fff;border-radius:24px;padding:30px;box-shadow:0 10px 36px #3123700e}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.section-heading h2{margin:5px 0 0;font-size:27px}.text-button{color:var(--purple);background:0 0;border:0;padding:10px;font-weight:850}.progress-track{background:#ebe8f3;border-radius:99px;height:13px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#745de5,#a879ed,#f4bb48);height:100%;transition:width .7s;display:block}.quest-path{justify-content:space-between;gap:12px;margin-top:35px;display:flex;position:relative}.quest-path:before{content:"";background:#e2dfee;height:3px;position:absolute;top:27px;left:6%;right:6%}.path-stop{text-align:center;color:#918ba2;justify-items:center;width:20%;display:grid;position:relative}.path-icon{z-index:2;background:#f1eff7;border:4px solid #fff;border-radius:18px;place-items:center;width:56px;height:56px;margin-bottom:12px;font-size:25px;display:grid;box-shadow:0 0 0 2px #e5e1ee}.path-stop strong{color:var(--ink);font-size:13px}.path-stop small{margin-top:4px;font-size:11px}.path-stop.current .path-icon{background:#fff0bf;transform:scale(1.08);box-shadow:0 0 0 3px #f0b637}.path-stop.current small{color:#9b6800;font-weight:800}.path-stop.complete .path-icon{background:#e5f7ef;box-shadow:0 0 0 2px #6bc09b}.page-title{margin-bottom:32px}.page-title h1{margin:8px 0 10px;font-size:48px}.page-title p{font-size:17px}.mode-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.mode-card{text-align:left;border:1px solid var(--border);min-height:390px;color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:27px;padding:34px;position:relative;overflow:hidden}.mode-card:after{content:"";background:#ffffff4a;border-radius:50%;width:170px;height:170px;position:absolute;top:-50px;right:-45px}.mode-card>span{margin-bottom:52px;font-size:62px;display:block}.mode-card h2{font-size:29px}.mode-card p{font-size:16px}.mode-card strong{color:var(--purple);position:absolute;bottom:32px}.mode-card:hover:not(:disabled){border-color:#b7acec;transform:translateY(-5px)}.mode-card.learn{background:linear-gradient(155deg,#f9fffd,#e1f7ee)}.mode-card.quest{background:linear-gradient(155deg,#fbfaff,#ece8ff)}.mode-card.diamond{color:#fff;background:linear-gradient(155deg,#242054,#49349d)}.mode-card.diamond p{color:#d8d2ef}.mode-card.diamond strong{color:#f2ca67}.mode-card:disabled{cursor:not-allowed;opacity:.88}.session-top{justify-content:space-between;align-items:center;max-width:800px;margin:0 auto 22px;display:flex}.session-top>div:nth-child(2){text-align:center;width:min(450px,60%);font-size:13px;font-weight:800}.back-button{border:1px solid var(--border);background:#fff;border-radius:12px;width:44px;height:44px;font-weight:900}.mini-progress{background:#e8e5f0;border-radius:9px;height:7px;margin-top:7px;overflow:hidden}.mini-progress i{background:var(--purple);border-radius:inherit;height:100%;display:block}.streak-pill{background:#fff3d8;border:1px solid #f1d48d;border-radius:99px;padding:9px 14px;font-weight:850}.question-card{border:1px solid var(--border);max-width:800px;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:30px;margin:0 auto;padding:52px;position:relative;overflow:hidden}.question-card h1{font-variant-numeric:tabular-nums;margin:22px 0 34px;font-size:72px}.question-card form{text-align:left;max-width:500px;margin:0 auto}.question-card label{margin:0 0 8px;font-size:13px;font-weight:850;display:block}.answer-row{gap:10px;display:flex}.answer-row input{width:100%;min-width:0;color:var(--ink);border:2px solid #dcd6eb;border-radius:15px;padding:10px 16px;font-size:26px;font-weight:800}.answer-row .primary-button{white-space:nowrap}.help-button{color:var(--purple-dark);background:#f4f1ff;border:1px solid #d9d1f6;border-radius:12px;margin-bottom:20px;padding:10px 15px;font-weight:800}.visual-help{border:1px solid var(--border);text-align:left;background:#faf9ff;border-radius:18px;margin:-10px 0 24px;padding:22px}.dot-array{grid-template-columns:repeat(6,12px);justify-content:center;gap:7px;margin-bottom:18px;display:grid}.dot-array i{background:var(--purple);border-radius:50%;width:12px;height:12px}.fact-family{flex-wrap:wrap;gap:7px;display:flex}.fact-family span{border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px 9px;font-size:13px;font-weight:700}.feedback{text-align:left;border-radius:18px;margin-top:25px;padding:20px}.feedback.correct{background:#e5f8ee;border:1px solid #a4ddc2}.feedback.support{background:#fff7df;border:1px solid #ebd28f}.feedback p{color:#403a51;margin:6px 0 10px}.feedback blockquote{color:#51466d;background:#fff;border:0;border-radius:12px;margin:12px 0;padding:13px;font-weight:700}.feedback .primary-button{float:right;margin-bottom:4px}.feedback:after{content:"";clear:both;display:block}.sparkle:before{content:"✦  ·  ✧";color:#f3b72e;font-size:23px;animation:.7s sparkle;position:absolute;top:20px;right:25px}.centre-message{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:850px;display:flex}.centre-message h1{font-size:50px}.centre-message p{max-width:580px;font-size:18px}.big-icon{margin-bottom:16px;font-size:84px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;margin:25px 0;display:grid}.summary-grid div{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:16px;padding:20px 10px}.summary-grid strong{color:var(--ink);font-size:27px;display:block}.summary .text-button{margin-top:8px}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:24px;display:grid}.metric{border:1px solid var(--border);background:#fff;border-radius:18px;align-items:center;gap:13px;padding:20px;display:flex}.metric>span{font-size:26px}.metric p{margin:0;font-size:12px}.metric strong{color:var(--ink);font-size:22px;display:block}.progress-columns{grid-template-columns:1.35fr .85fr;gap:22px;margin-top:22px;display:grid}.table-list{gap:7px;display:grid}.table-row{border-radius:14px;grid-template-columns:52px 1fr 130px;align-items:center;gap:12px;padding:11px;display:grid}.table-row:hover{background:#faf9ff}.table-badge{background:var(--lilac);width:43px;height:43px;color:var(--purple);border-radius:12px;place-items:center;font-weight:900;display:grid}.table-row>div:nth-child(2)>strong{font-size:14px}.progress-track.small{height:6px;margin-top:7px}.state{text-align:right;color:#706a7c;font-size:12px;font-weight:850}.state small{margin-top:3px;font-weight:500;display:block}.state.mastered{color:#19865d}.state.nearly-mastered{color:#a36a00}.session-list>div{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:13px 0;display:flex}.session-list>div>span{font-size:25px}.session-list p{margin:0;font-size:12px}.session-list strong{color:var(--ink);font-size:14px;display:block}.empty-state{text-align:center;color:var(--muted);background:#faf9ff;border:1px dashed #cdc6df;border-radius:15px;padding:24px}.tier-rules{background:#f4f1ff;border-radius:15px;margin-top:20px;padding:18px}.tier-rules h3{font-size:15px}.tier-rules p{margin:5px 0;font-size:12px}.pin-page{place-items:center;display:grid}.pin-card{border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:28px;padding:40px}.pin-card .big-icon{font-size:55px}.pin-card h1{font-size:38px}.pin-card form{text-align:left}.pin-card .primary-button{width:100%;margin-top:14px}.pin-input{letter-spacing:.45em;text-align:center;border:2px solid #dcd6eb;border-radius:14px;width:100%;padding:11px;font-size:27px}.pin-card>small{color:#8b8498;margin-top:18px;display:block}.form-error{color:#a62d41;margin:8px 0;font-size:13px}.settings-title{justify-content:space-between;align-items:center;display:flex}.settings-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.settings-grid .panel>h2{font-size:21px}.table-toggles{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.table-toggles input{opacity:0;position:absolute}.table-toggles span{cursor:pointer;border:1px solid #dcd7ea;border-radius:11px;place-items:center;height:45px;font-weight:850;display:grid}.table-toggles input:checked+span{background:var(--purple);color:#fff;border-color:var(--purple)}.table-toggles input:focus-visible+span{outline:4px solid #f2b73d}.segmented{background:#f1eff7;border-radius:12px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.segmented button{color:#706a7c;background:0 0;border:0;border-radius:9px;padding:10px 5px;font-size:13px;font-weight:800}.segmented button.active{color:var(--purple);background:#fff;box-shadow:0 2px 8px #2e20551a}.range-label{color:var(--muted);grid-template-columns:1fr auto;margin-top:24px;font-size:14px;display:grid}.range-label input{width:100%;accent-color:var(--purple);grid-column:1/3;margin-top:10px}.switch-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 0;display:flex}.switch-row span{display:grid}.switch-row small{color:var(--muted);margin-top:3px}.switch-row input{width:44px;height:24px;accent-color:var(--purple)}.missed-list>div{border-bottom:1px solid var(--border);justify-content:space-between;padding:9px 0;font-size:13px;display:flex}.button-row{flex-wrap:wrap;gap:10px;display:flex}.secondary-button,.danger-button{color:var(--purple-dark);background:#fff;border:1px solid #d9d3e9;border-radius:12px;padding:11px 15px;font-weight:800}.danger-button{color:#fff;background:#a62d41;border-color:#a62d41}.danger-zone{border-color:#efd2d8}.confirm-box{background:#fff2f4;border-radius:14px;padding:15px}.confirm-box .button-row{margin-top:12px}.privacy-note{color:#315c4c;background:#e9f7f1;border:1px solid #bce2d2;border-radius:16px;margin-top:22px;padding:18px}.notice{background:#e8f6ef;border:1px solid #aadbc6;border-radius:13px;margin-bottom:18px;padding:13px 18px}footer{text-align:center;color:#8b8499;border-top:1px solid var(--border);padding:25px;font-size:12px}.no-motion *{transition:none!important;animation:none!important}@keyframes sparkle{0%{opacity:0;transform:scale(.5)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (width<=900px){header{padding:0 18px}.brand span:last-child{display:none}nav button{padding:10px}nav button span{margin:0}nav button{font-size:0}nav button span{font-size:18px}.hero-gem{opacity:.45;right:35px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:280px}.mode-card>span{margin-bottom:25px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.progress-columns,.settings-grid{grid-template-columns:1fr}}@media (width<=600px){header{gap:8px;height:67px}.brand-gem{width:36px;height:36px;margin-right:0}.header-coins{padding:6px 9px}.page{padding:30px 16px 55px}.hero-card{border-radius:24px;min-height:510px;padding:36px 25px}.hero-card h1{font-size:42px}.hero-card p{font-size:16px}.hero-card .primary-button{bottom:28px;left:25px;right:25px}.hero-gem{font-size:100px;top:280px;right:25px}.stat-strip{margin:-16px 10px 24px;padding:8px}.stat-strip>div{text-align:center;gap:2px;display:grid}.stat-strip strong{font-size:18px}.tier-progress{padding:22px 16px}.section-heading{align-items:start}.quest-path{justify-content:start;padding:4px 2px 15px;overflow-x:auto}.quest-path:before{display:none}.path-stop{min-width:105px}.page-title h1{font-size:38px}.mode-card{padding:27px}.question-card{border-radius:23px;padding:35px 20px}.question-card h1{font-size:52px}.answer-row{flex-direction:column}.answer-row .primary-button{width:100%}.summary-grid{grid-template-columns:repeat(2,1fr)}.metrics-grid{gap:8px}.metric{gap:3px;padding:14px;display:grid}.progress-columns .panel{padding:20px 14px}.table-row{grid-template-columns:45px 1fr}.table-row .state{text-align:left;grid-column:2}.settings-title{align-items:start}.table-toggles{grid-template-columns:repeat(3,1fr)}.settings-grid .panel{padding:22px}.pin-card{padding:30px 22px}.page-title.settings-title{display:block}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{overflow-x:hidden}.hero-actions{z-index:3;align-items:center;gap:10px;display:flex;position:absolute;bottom:52px;left:52px}.hero-card .hero-actions .primary-button{position:static}.hero-secondary{color:#fff;background:#ffffff14;border:1px solid #fff6;border-radius:14px;min-height:50px;padding:13px 18px;font-weight:850}.hero-secondary:hover{background:#ffffff26}.stat-strip{grid-template-columns:repeat(4,1fr)}.stat-strip>div:nth-child(3){border-right:1px solid var(--border)}.stat-strip>div:last-child strong{text-transform:capitalize;font-size:14px}.welcome-backdrop,.confirm-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#1d1548cc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.welcome-card,.confirm-dialog{border:1px solid var(--border);text-align:center;background:#fff;border-radius:28px;width:min(560px,100%);max-height:calc(100vh - 40px);padding:42px;position:relative;overflow:auto;box-shadow:0 30px 90px #120b3a66}.welcome-skip{color:var(--purple);background:0 0;border:0;min-height:44px;padding:8px 12px;font-weight:850;position:absolute;top:20px;right:22px}.welcome-icon{margin:8px 0 20px;font-size:72px}.welcome-card h1{margin:12px auto 16px;font-size:clamp(34px,7vw,50px)}.welcome-card p{max-width:440px;margin:0 auto 22px;font-size:18px}.welcome-dots{justify-content:center;gap:8px;margin:22px;display:flex}.welcome-dots i{background:#d8d3e8;border-radius:50%;width:9px;height:9px}.welcome-dots i.active{background:var(--purple);border-radius:9px;width:28px}.welcome-card .primary-button{min-width:190px}.exit-button{color:#8b2940;background:#fff;border:1px solid #e1dbea;border-radius:12px;min-height:44px;padding:9px 14px;font-weight:850}.session-rewards{align-items:center;gap:7px;display:flex}.session-rewards span{border:1px solid var(--border);white-space:nowrap;background:#fff;border-radius:99px;padding:8px 11px;font-weight:850}.bonus-pill,.milestone{color:#24684d;background:#fff;border:1px solid #a4ddc2;border-radius:99px;padding:7px 11px;font-size:13px;font-weight:850;display:inline-block}.explanation-family{margin:12px 0}.summary-grid{grid-template-columns:repeat(4,1fr)}.summary-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.milestone{color:#76520b;background:#fff7dc;border-color:#f2dda0;margin:5px 0 12px;font-size:16px}.confirm-dialog{text-align:left;width:min(470px,100%)}.confirm-dialog h2{font-size:28px}.confirm-dialog .button-row{justify-content:flex-end}.secondary-button,.danger-button,.text-button,.help-button,.mode-card,nav button,.brand{min-height:44px}nav button:disabled,.brand:disabled{cursor:default;opacity:.5}@media (width<=900px){.stat-strip{grid-template-columns:repeat(2,1fr)}.stat-strip>div:nth-child(2){border-right:0}.stat-strip>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.hero-card{min-height:560px}.hero-actions{grid-template-columns:1fr 1fr;display:grid;bottom:25px;left:25px;right:25px}.hero-card .hero-actions .primary-button{grid-column:1/3;width:100%}.hero-secondary{width:100%}.stat-strip{margin:-16px 6px 24px}.stat-strip>div{min-width:0}.stat-strip>div:nth-child(3){border-right:1px solid var(--border)}.session-top{align-items:flex-start;gap:8px}.session-top>div:nth-child(2){flex:1;width:auto}.session-rewards{grid-template-columns:repeat(3,auto);gap:3px;display:grid}.session-rewards span{padding:6px 7px;font-size:12px}.question-card{padding:28px 16px}.question-card h1{margin:16px 0 22px}.answer-row input{text-align:center;min-height:56px;font-size:30px}.welcome-card,.confirm-dialog{padding:34px 22px}.welcome-icon{font-size:58px}.welcome-card p{font-size:16px}.summary-grid{gap:8px;width:100%}.summary-grid div{padding:16px 8px}.summary-actions{width:100%}.summary-actions button{flex:140px}.feedback .primary-button{float:none;width:100%}.confirm-dialog .button-row{display:grid}.confirm-dialog .button-row button{width:100%}}
