:root{--paper:#fffdf9;--canvas:#f7f2eb;--ink:#30283b;--muted:#726a78;--purple:#6c4ab6;--purple-dark:#563598;--lavender:#eee7fa;--coral:#ff8e72;--coral-light:#fff0e9;--yellow:#ffdc7b;--mint:#dff2e6;--green:#287b5d;--red:#b34d59;--line:#e9e1d7;--shadow:0 14px 36px rgba(64,47,79,.09);--round:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:'Atkinson Hyperlegible',Arial,sans-serif;font-size:16px;line-height:1.55;background-image:radial-gradient(rgba(108,74,182,.075) .85px,transparent .85px);background-size:17px 17px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e8aa3b;outline-offset:3px}.page-shell{max-width:1440px;margin:0 auto;padding:0 42px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(108,74,182,.12)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--purple);border-radius:13px;color:#fff;font-family:'Nunito Sans',sans-serif;font-weight:900;font-size:15px;position:relative;transform:rotate(-3deg);box-shadow:3px 4px 0 #c7b4e6}.brand-mark i{position:absolute;right:-4px;top:-7px;color:var(--yellow);font-style:normal;font-size:16px}.brand-name{font-family:'Nunito Sans',sans-serif;font-weight:800;font-size:17px;letter-spacing:-.35px}.brand-name b{color:var(--purple)}.topbar-note{font-size:13px;color:var(--muted);font-weight:700}.sparkle{color:#e6aa3d;font-size:18px;vertical-align:-2px;margin-right:5px}.grade-pill{background:#fff;border:1px solid var(--line);border-radius:99px;padding:7px 13px;font-size:12px;font-weight:700;color:var(--purple-dark);display:flex;align-items:center;gap:8px}.grade-dot{width:8px;height:8px;background:var(--coral);border-radius:50%}
.hero{min-height:360px;display:flex;align-items:center;justify-content:space-between;padding:37px 5.5% 34px 5%;gap:44px}.hero-copy{max-width:590px}.eyebrow{font-family:'Nunito Sans',sans-serif;color:var(--purple);font-size:10px;font-weight:900;letter-spacing:1.5px;margin:0 0 13px;display:flex;align-items:center;gap:9px}.eyebrow-line{width:21px;height:2px;background:var(--coral)}h1,h2,h3,p{margin-top:0}h1{font:900 clamp(36px,4.2vw,56px)/1.07 'Nunito Sans',sans-serif;letter-spacing:-2px;margin:0 0 14px}h1 span{color:var(--purple);position:relative}h1 span:after{content:'';height:8px;background:var(--yellow);position:absolute;z-index:-1;bottom:0;left:1px;right:-5px;border-radius:5px;transform:rotate(-1.5deg)}.hero-intro{font-size:16px;max-width:435px;color:#665d6c;margin-bottom:19px}.button{border:0;border-radius:13px;padding:12px 18px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--purple);color:#fff;box-shadow:0 4px 0 var(--purple-dark)}.button-primary:hover{background:#7959c2}.hero-cta{font-family:'Nunito Sans',sans-serif;font-size:13px}.hero-cta span{margin-left:12px;font-size:17px}.hero-art{height:250px;width:min(43%,440px);min-width:310px;position:relative;display:flex;align-items:center;justify-content:center}.number-paper{width:230px;height:176px;background:#fffdf9;border:1px solid #eee5d9;box-shadow:8px 9px 0 rgba(108,74,182,.12),var(--shadow);transform:rotate(-4deg);border-radius:7px;padding:20px 25px;position:relative;z-index:2}.mini-label{font:900 9px 'Nunito Sans',sans-serif;letter-spacing:1.2px;color:#a69aaa}.big-number{font:900 58px/1.1 'Nunito Sans',sans-serif;letter-spacing:-4px;margin:9px 0;color:var(--ink)}.overline{text-decoration:overline;text-decoration-color:var(--coral);text-decoration-thickness:4px;text-decoration-skip-ink:none;color:var(--purple)}.loop-caption{color:var(--muted);font-size:12px}.loop-arrow{color:var(--coral);font-size:22px;vertical-align:-3px;margin-right:5px}.fraction-paper{position:absolute;z-index:3;right:4%;bottom:14px;background:#fff;border-radius:7px;box-shadow:4px 5px 0 #f3d9ce;padding:8px 19px 6px;transform:rotate(5deg);display:grid;grid-template-columns:auto;justify-items:center;font:800 18px 'Nunito Sans',sans-serif;color:var(--purple)}.fraction-paper i{width:30px;height:2px;background:var(--purple)}.fraction-paper small{font:700 9px 'Atkinson Hyperlegible',sans-serif;color:#8b8190;margin-top:4px}.paper-chip{position:absolute;z-index:4;border-radius:8px;background:#fff;border:1px solid #f0e7db;box-shadow:0 4px 10px rgba(50,40,60,.09);font:800 11px 'Nunito Sans',sans-serif}.chip-small{top:26px;right:15%;padding:8px 11px;transform:rotate(6deg);color:var(--purple)}.chip-star{bottom:23px;left:12%;padding:4px 9px;font-size:20px;color:#d79c31;transform:rotate(-12deg)}.orbit{position:absolute;border:1px dashed rgba(108,74,182,.22);border-radius:50%;transform:rotate(-18deg)}.orbit-one{width:315px;height:213px}.orbit-two{width:360px;height:165px;transform:rotate(28deg);border-color:rgba(255,142,114,.3)}.paper-tape{height:14px;width:58px;background:rgba(255,220,123,.73);position:absolute;top:34px;left:29%;transform:rotate(-41deg);z-index:5;clip-path:polygon(5% 0,95% 0,100% 100%,0 100%)}
.workbench{display:grid;grid-template-columns:185px minmax(0,1fr) 225px;gap:20px;align-items:start;padding-bottom:38px}.lesson-rail{padding-top:21px}.rail-heading{font:900 9px 'Nunito Sans',sans-serif;letter-spacing:1.2px;color:#9a91a0;margin:0 0 15px 10px}.rail-link{display:flex;width:100%;align-items:center;gap:10px;border:0;background:transparent;text-align:left;border-radius:11px;padding:10px 9px;margin:3px 0;color:#6d6571;font-size:12px;font-weight:700;transition:background .2s,color .2s}.rail-link:hover{background:#fff9}.rail-link.active{background:#ece4f8;color:var(--purple-dark)}.rail-number{font:800 10px 'Nunito Sans',sans-serif;color:#a69bab}.rail-link.active .rail-number{color:var(--purple)}.rail-check{margin-left:auto;font-size:12px;opacity:0;color:var(--green)}.rail-link.done .rail-check{opacity:1}.rail-note{position:relative;margin:31px 7px 0;padding:17px 13px 14px;background:#fff6d9;border-radius:5px 12px 12px 5px;box-shadow:3px 4px 0 rgba(225,189,104,.18);transform:rotate(-1.5deg)}.rail-note:before{content:'';position:absolute;left:-3px;top:0;bottom:0;width:4px;background:#e6bd5a;border-radius:3px}.rail-note b{font:800 11px 'Nunito Sans',sans-serif}.rail-note p{font-size:11px;line-height:1.45;color:#726543;margin:6px 0 0}.note-pin{position:absolute;width:7px;height:7px;background:var(--coral);border-radius:50%;top:8px;right:9px;box-shadow:0 1px 0 #d57661}
.lesson-paper{background:var(--paper);border:1px solid #eee7de;border-radius:17px;box-shadow:var(--shadow);min-height:590px;overflow:hidden;position:relative}.lesson-paper:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--purple),var(--coral),var(--yellow));opacity:.8}.section-tabs{display:flex;gap:8px;padding:17px 22px 0;border-bottom:1px solid #eee9e2;margin-left:3px}.section-tab{border:0;background:transparent;padding:9px 12px 12px;color:#827987;font-size:12px;font-weight:700;border-bottom:2px solid transparent;position:relative;top:1px}.section-tab:hover{color:var(--purple)}.section-tab.active{color:var(--purple-dark);border-color:var(--purple)}.tab-count{font-size:10px;color:var(--purple);background:var(--lavender);padding:2px 6px;border-radius:99px;margin-left:3px}.lesson-content{padding:26px 30px 34px;animation:paper-in .28s ease both}@keyframes paper-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.content-kicker{font:900 9px 'Nunito Sans',sans-serif;letter-spacing:1.25px;text-transform:uppercase;color:var(--coral);margin:0 0 7px}.content-title{font:900 25px/1.2 'Nunito Sans',sans-serif;letter-spacing:-.55px;margin:0 0 8px}.content-lead{font-size:14px;color:#726978;max-width:690px;margin:0 0 21px}.type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:20px 0 17px}.type-card{border-radius:13px;padding:14px 14px 12px;min-height:131px;position:relative;overflow:hidden}.type-card:after{content:'';position:absolute;width:65px;height:65px;border:1px solid currentColor;opacity:.08;border-radius:50%;right:-15px;bottom:-21px}.type-card.finite{background:#f4efe7;color:#625a65}.type-card.pure{background:#eee7fa;color:var(--purple-dark)}.type-card.mixed{background:#fff0e9;color:#ae5947}.type-label{font:900 9px 'Nunito Sans',sans-serif;letter-spacing:1px;text-transform:uppercase;opacity:.75}.type-number{font:900 21px 'Nunito Sans',sans-serif;margin:7px 0 4px}.type-card p{font-size:11px;line-height:1.45;margin:0;max-width:180px;color:var(--ink);opacity:.82}.mini-overline{text-decoration:overline;text-decoration-color:var(--coral);text-decoration-thickness:2px}.rule-box{display:flex;gap:13px;background:#f7f3fc;border:1px solid #e9ddfa;border-radius:13px;padding:14px 16px;margin:17px 0 12px}.rule-symbol{flex:0 0 30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e5daf6;color:var(--purple);font:900 16px 'Nunito Sans',sans-serif}.rule-box h3{font:800 13px 'Nunito Sans',sans-serif;margin:0 0 3px}.rule-box p{font-size:12px;color:#675f6d;margin:0}.steps-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0 5px}.step-mini{border-top:2px solid var(--line);padding:8px 4px 0;font-size:11px;color:#77707b}.step-mini b{display:block;color:var(--purple);font:800 11px 'Nunito Sans',sans-serif;margin-bottom:2px}.math{font:700 13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;color:#463c4f}.math .accent{color:var(--purple);font-weight:800}.math .under{border-bottom:2px solid var(--coral)}.example-stack{display:grid;gap:15px}.example-card{padding:17px 18px 15px;border-radius:14px;background:#fff;border:1px solid #eee7df;box-shadow:0 3px 0 #f4eee7;position:relative}.example-card:nth-child(2){background:#fffcf5}.example-card:nth-child(3){background:#fbf8ff}.example-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.example-head h3{font:800 15px 'Nunito Sans',sans-serif;margin:0 0 3px}.example-head p{font-size:11px;color:var(--muted);margin:0}.type-tag{border-radius:99px;padding:4px 8px;background:var(--lavender);color:var(--purple-dark);font-size:9px;font-weight:700;white-space:nowrap}.example-card:nth-child(2) .type-tag{background:#fff0d7;color:#8f6618}.equation-block{padding:10px 13px;background:rgba(255,255,255,.76);border-radius:9px;border-left:3px solid var(--purple);white-space:pre-line;font:700 12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;color:#4a4051}.why-line{font-size:11px;color:#716977;margin:9px 0 0}.why-line b{color:var(--purple-dark)}.example-toggle{border:0;background:none;color:var(--purple);font-weight:700;font-size:11px;padding:8px 0 0}.practice-card{background:#fff;border:1px solid #eee7df;border-radius:16px;padding:21px;box-shadow:0 4px 0 #f3eee7}.practice-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.difficulty{background:#edf7f0;color:#377657;border-radius:99px;padding:4px 9px;font:800 10px 'Nunito Sans',sans-serif}.question-num{font-size:10px;color:#8e8493;font-weight:700}.question-text{font:800 17px/1.4 'Nunito Sans',sans-serif;margin:0 0 5px}.question-note{font-size:12px;color:#807784;margin-bottom:17px}.question-number{font:900 36px 'Nunito Sans',sans-serif;color:var(--purple);letter-spacing:-1.5px;background:#f5f0fb;padding:13px 20px;border-radius:12px;display:inline-block;margin:0 0 17px}.answer-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.answer-input{flex:1;min-width:160px;max-width:280px;border:1px solid #d8cedf;border-radius:11px;padding:11px 12px;color:var(--ink);background:#fff}.answer-input::placeholder{color:#a59ba9}.button-small{padding:10px 14px;font-size:12px}.button-soft{background:#f0ebf7;color:var(--purple-dark)}.button-soft:hover{background:#e7ddf5}.button-quiet{background:#fff;border:1px solid #e7e0d9;color:#6d6472}.button-quiet:hover{background:#faf7f3}.button-coral{background:#fff0e9;color:#a44c3b}.button-coral:hover{background:#ffe5d9}.feedback{display:none;border-radius:12px;padding:12px 14px;margin:15px 0 0;font-size:12px;animation:paper-in .2s ease}.feedback.show{display:block}.feedback.good{background:#e8f5ec;color:#27694f;border:1px solid #d3eadb}.feedback.try{background:#fff1eb;color:#8f493b;border:1px solid #f6d8cc}.feedback b{font:800 12px 'Nunito Sans',sans-serif}.hint-area,.solution-area{margin-top:11px;padding:12px 14px;background:#fff8df;border-radius:10px;border-left:3px solid #edc54d;font-size:12px;color:#635633}.solution-area{background:#f4effb;border-color:var(--purple);color:#514760}.hint-area p,.solution-area p{margin:4px 0 0}.solution-step{display:flex;gap:8px;margin:7px 0}.solution-step b{color:var(--purple)}.practice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.practice-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:13px;border-top:1px dashed #e7dfd6}.text-button{border:0;background:transparent;color:var(--purple);font-weight:700;font-size:11px;padding:5px}.text-button:hover{text-decoration:underline}.text-button:disabled{opacity:.4;cursor:not-allowed}.all-done{background:#fff6d9;border-radius:13px;padding:16px;margin-top:16px;font-size:12px;color:#64563a}.all-done strong{font:800 14px 'Nunito Sans',sans-serif}.progress-card{position:sticky;top:15px;background:#fffdf9;border:1px solid #eee7de;border-radius:16px;padding:17px 16px 14px;box-shadow:0 8px 24px rgba(64,47,79,.06)}.progress-heading{display:flex;align-items:center;gap:10px}.progress-icon{width:35px;height:35px;border-radius:11px;background:var(--lavender);display:grid;place-items:center;color:var(--purple);font-size:18px}.eyebrow-small{font:900 8px 'Nunito Sans',sans-serif;letter-spacing:1.2px;color:#a094a8;margin:0 0 2px}.progress-heading h2{font:800 13px 'Nunito Sans',sans-serif;margin:0}.progress-score{display:flex;align-items:baseline;gap:7px;margin:21px 0 10px;position:relative}.progress-score strong{font:900 36px/1 'Nunito Sans',sans-serif;color:var(--purple)}.progress-score span:not(.score-sticker){font-size:11px;color:#736b79}.score-sticker{position:absolute;right:4px;top:-5px;font-size:20px;color:#edb946;transform:rotate(13deg)}.progress-track{height:8px;background:#f0ecf3;border-radius:99px;overflow:hidden}.progress-track span{height:100%;width:0;display:block;background:linear-gradient(90deg,var(--purple),#a486d8);border-radius:99px;transition:width .35s ease}.progress-caption{font-size:10px;color:#827986;margin:7px 0 0}.progress-caption b{color:var(--ink)}.divider-dots{border-top:1px dashed #e8e0d6;margin:18px 0 14px}.tiny-tip{display:flex;gap:9px;align-items:flex-start}.tip-mark{flex:0 0 21px;height:21px;border-radius:50%;background:#fff0e9;display:grid;place-items:center;color:#ba684f;font-weight:900;font-size:12px}.tiny-tip p{font-size:10px;line-height:1.5;color:#77707b;margin:0}.tiny-tip b{color:#564d5c}.reset-progress{margin-top:14px;border:0;background:transparent;color:#9a909c;font-size:9px;padding:4px 0;text-decoration:underline;text-underline-offset:2px}.reset-progress:hover{color:var(--red)}.footer{display:flex;align-items:center;justify-content:center;gap:8px;color:#958b97;font-size:10px;padding:0 0 24px}.footer-mark{font-size:15px;color:var(--purple)}
@media(max-width:1100px){.page-shell{padding:0 26px}.workbench{grid-template-columns:155px minmax(0,1fr)}.progress-card{grid-column:2;position:static;display:grid;grid-template-columns:1fr 1.2fr 1.5fr;align-items:center;gap:12px;padding:12px 15px}.progress-score{margin:0}.progress-track{grid-column:2;grid-row:2}.progress-caption{grid-column:3;grid-row:2;margin:0}.divider-dots{display:none}.tiny-tip{grid-column:3;grid-row:1/3}.reset-progress{grid-column:1;grid-row:2;margin:0}.hero{padding-left:3%}.hero-art{min-width:280px}}
@media(max-width:760px){.page-shell{padding:0 17px}.topbar{height:69px}.topbar-note{display:none}.brand-mark{width:38px;height:38px}.hero{min-height:auto;padding:30px 1% 25px;gap:8px;align-items:flex-start}.hero-copy{padding-top:9px}.hero h1{font-size:39px;letter-spacing:-1.7px}.hero-intro{font-size:14px;max-width:350px}.hero-art{width:225px;min-width:210px;height:200px;margin-right:-9px;transform:scale(.83);transform-origin:center right}.number-paper{width:207px;height:158px;padding:17px 22px}.big-number{font-size:49px}.orbit-one{width:260px}.orbit-two{width:280px}.fraction-paper{right:-3%;bottom:3px}.chip-small{right:2%}.chip-star{left:1%}.workbench{display:flex;flex-direction:column;gap:12px;padding-bottom:24px}.lesson-rail{order:0;width:100%;padding:0;display:flex;align-items:center;gap:6px;overflow:auto}.rail-heading{display:none}.rail-link{width:auto;flex:1;min-width:max-content;background:#ffffff88;border:1px solid #ede5db;padding:8px 10px;gap:7px;margin:0;font-size:10px}.rail-number{font-size:9px}.rail-check{display:none}.rail-note{display:none}.lesson-paper{order:1;width:100%;min-height:0}.section-tabs{padding:13px 12px 0;gap:1px}.section-tab{font-size:10px;padding:8px 8px 10px}.lesson-content{padding:21px 18px 25px}.content-title{font-size:22px}.content-lead{font-size:13px}.progress-card{order:2;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px}.progress-heading{grid-column:1}.progress-score{grid-column:2;grid-row:1;justify-content:flex-end}.progress-track{grid-column:1;grid-row:2}.progress-caption{grid-column:2;grid-row:2;text-align:right}.tiny-tip{grid-column:1/3;grid-row:3;padding-top:8px;border-top:1px dashed var(--line)}.reset-progress{grid-column:1/3;grid-row:4;justify-self:start}.footer{font-size:9px}.type-grid{gap:7px}.type-card{padding:11px 9px;min-height:137px}.type-label{font-size:8px;letter-spacing:.5px}.type-number{font-size:17px}.type-card p{font-size:10px}.practice-card{padding:16px}.question-number{font-size:31px}}
@media(max-width:430px){.page-shell{padding:0 12px}.grade-pill{padding:6px 9px;font-size:10px}.brand-name{font-size:15px}.hero{display:block;padding:24px 3% 20px}.hero-copy{max-width:100%}.hero h1{font-size:38px}.hero-intro{max-width:330px;margin-bottom:13px}.hero-art{height:167px;width:100%;min-width:0;margin:1px auto 0;transform:scale(.75);transform-origin:center center}.workbench{gap:10px}.rail-link{font-size:9px;padding:7px 8px}.section-tabs{justify-content:space-between}.section-tab{font-size:9px;padding-left:5px;padding-right:5px}.tab-count{font-size:8px;padding:2px 5px}.lesson-content{padding:18px 14px 21px}.type-grid{grid-template-columns:1fr;gap:8px}.type-card{min-height:0;padding:12px 13px}.type-card p{max-width:100%}.type-number{margin:4px 0}.steps-mini{grid-template-columns:1fr;gap:8px}.step-mini{border-top:0;border-left:2px solid var(--line);padding:0 0 0 9px}.answer-row{align-items:stretch}.answer-input{max-width:none;flex-basis:100%}.practice-actions .button{flex:1}.practice-footer{gap:10px}.progress-card{grid-template-columns:1fr 1fr}.progress-score strong{font-size:31px}.progress-score span:not(.score-sticker){font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
