
:root{--bg:#f8f6f1;--paper:#fff;--ink:#17212f;--muted:#667080;--border:#e8e9ed;--pink:#ff486f;--pinklight:#fff0f3;--mint:#00bfa6;--mintlight:#e9fbf6;--yellow:#ffda75;--purple:#8666e8;--shadow:0 18px 48px rgba(25,33,53,.07);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:3px}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.18}h1{font-size:clamp(2.55rem,6.2vw,5rem);font-weight:850}h2{font-size:clamp(1.55rem,3.1vw,2.45rem);font-weight:800}h3{font-size:1.2rem;font-weight:750}p{margin-top:.7rem}.skip{position:absolute;transform:translateY(-200%);background:#fff;padding:12px;z-index:100}.skip:focus{transform:none}
.shell{max-width:1180px;width:calc(100% - 48px);margin-inline:auto}.topbar{position:sticky;top:0;background:rgba(248,246,241,.95);backdrop-filter:blur(18px);border-bottom:1px solid #e8e6e1;z-index:30}.topinner{max-width:1180px;width:calc(100% - 48px);margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:83px;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-size:1.25rem;font-weight:900;letter-spacing:-.05em;line-height:1.05}.brand small{display:block;font-size:.55rem;font-weight:800;color:var(--muted);letter-spacing:.18em;margin-top:4px}.brand-mark{width:47px;height:47px;border-radius:14px;background:var(--pink);color:#fff;display:grid;place-items:center;font-size:1.5rem;transform:rotate(-8deg)}.brand-mark span{color:var(--yellow)}.topnav{display:flex;gap:6px}.navlink{border:0;background:transparent;color:var(--muted);font-weight:750;border-radius:999px;padding:11px 15px}.navlink:hover,.navlink.active{color:var(--ink);background:#fff;box-shadow:0 2px 9px #17212f0a}.menu-btn{display:none;border:1px solid var(--border);border-radius:12px;background:#fff;padding:6px 12px;font-size:1.4rem}
.page{padding-block:42px 76px}.eyebrow{font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--pink);font-size:.72rem;display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";height:8px;width:8px;border-radius:50%;background:currentColor}.lead{font-size:1.12rem;color:var(--muted);line-height:1.67;max-width:640px}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.72fr);gap:40px;align-items:center;padding:clamp(28px,5vw,60px);background:#fff;border-radius:32px;border:1px solid var(--border);box-shadow:var(--shadow)}.hero h1{margin:.55rem 0 1.1rem}.highlight{color:var(--pink)}.hero-right{min-height:295px;border-radius:26px;background:linear-gradient(135deg,#f8efff,#dffaf2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.math-card{background:white;padding:30px 35px;border-radius:20px;box-shadow:0 22px 38px #664d9a23;transform:rotate(-6deg);font-weight:850;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.06em}.math-card em{font-size:.8rem;display:block;letter-spacing:.02em;color:var(--purple);font-style:normal}.orb{position:absolute;border-radius:100%;height:90px;width:90px;background:var(--yellow);top:-20px;right:-20px}.orb.small{height:46px;width:46px;bottom:14px;left:9px;top:auto;right:auto;background:var(--pink)}
.btn{border:0;border-radius:14px;padding:14px 21px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .15s,filter .15s;line-height:1.2}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn.primary{background:var(--ink);color:#fff}.btn.pink{background:var(--pink);color:#fff}.btn.light{background:#fff;color:var(--ink);border:1px solid var(--border)}.btn.mint{background:var(--mint);color:#073a30}.btn:disabled{opacity:.5;cursor:not-allowed}.buttonrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.textlink{border:0;background:transparent;padding:6px 0;color:var(--ink);text-decoration:underline;text-underline-offset:3px;font-weight:800}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:45px 0 17px}.sectionhead p{color:var(--muted);max-width:640px}.sectionhead h2{margin-top:6px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.stat,.module,.softcard,.examcard,.lesson,.sheetcard{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 3px 15px rgba(23,33,47,.025)}.stat{padding:24px}.stat b{display:block;font-size:1.9rem;letter-spacing:-.06em}.stat span{font-weight:650;font-size:.87rem;color:var(--muted)}
.modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.module{text-align:left;padding:24px;border:1px solid var(--border);width:100%;transition:transform .15s,box-shadow .15s}.module:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.module-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}.numtag{height:42px;width:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;background:var(--mintlight);color:#087865}.pill{background:#f1f2f5;color:#596577;font-weight:780;font-size:.74rem;padding:6px 11px;border-radius:50px}.pill.done{color:#087865;background:var(--mintlight)}.module h3{min-height:2.3em}.module p{font-size:.87rem;color:var(--muted);min-height:3.1em}.mini-progress{height:7px;background:#eef0f2;border-radius:100px;overflow:hidden;margin-top:24px}.mini-progress span{display:block;height:100%;background:var(--pink);border-radius:100px}.micro{font-size:.76rem;color:var(--muted);font-weight:700;margin-top:8px}.banners{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.banner{border-radius:var(--radius);padding:26px;background:var(--yellow);position:relative;overflow:hidden}.banner.purple{background:#eae5ff}.banner p{max-width:380px;color:#424652}.banner .btn{margin-top:15px}
.breadcrumb{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:.85rem;margin-bottom:26px;flex-wrap:wrap}.breadcrumb button{padding:0;border:0;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.lessonlayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px;align-items:start}.lesson{padding:clamp(23px,4.5vw,52px)}.lesson-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.lesson-head .pill{flex-shrink:0}.lesson h1{font-size:clamp(2rem,4vw,3.2rem);margin:11px 0 12px}.lesson .lead{font-size:1.02rem}.line{height:8px;border-radius:100px;background:#eceef1;overflow:hidden}.line>span{display:block;height:100%;background:var(--pink);border-radius:100px;transition:width .2s}.lesson-step{color:var(--muted);font-size:.84rem;font-weight:800;margin-top:10px}.concept{padding:22px 24px;background:#f6f8ff;border-radius:18px;border-left:5px solid var(--purple);margin:24px 0}.concept strong{display:block;font-size:.78rem;color:var(--purple);text-transform:uppercase;letter-spacing:.08em}.concept p{margin-top:8px}.worked{background:#faf8f2;border:1px solid #eae7df;padding:22px 24px;border-radius:18px;margin-top:15px}.worked strong{display:block;font-size:.77rem;color:#95731b;letter-spacing:.06em;text-transform:uppercase}.worked .math{margin-top:10px}.math{font-family:ui-serif,Georgia,"Times New Roman",serif;font-size:1.37rem;letter-spacing:-.02em;line-height:1.45}.mathline{display:block;padding:3px 0}.question{margin-top:28px}.question h2{font-size:1.3rem;line-height:1.4;margin-bottom:16px}.choice-grid{display:grid;gap:10px}.choice{display:flex;text-align:left;align-items:center;gap:14px;width:100%;padding:15px 17px;border-radius:13px;border:2px solid var(--border);background:#fff;font-weight:720}.choice:hover{border-color:#c0b4ef}.choice:disabled{opacity:.68}.choice.correct{background:var(--mintlight);border-color:var(--mint);opacity:1}.choice.wrong{border-color:var(--pink);background:var(--pinklight);opacity:1}.choice-letter{background:#f1f2f5;width:31px;height:31px;flex:none;display:grid;place-items:center;border-radius:9px;font-size:.8rem}.inputrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ansinput{width:min(100%,330px);min-height:54px;padding:10px 15px;border-radius:12px;border:2px solid #d7dce4;font-size:1.16rem;font-weight:750;background:#fff}.ansinput:focus{border-color:var(--purple);outline:none}.pair-input{display:flex;gap:14px;flex-wrap:wrap}.pair-input label{font-size:.86rem;font-weight:800;color:var(--muted)}.pair-input input{width:145px;display:block;margin-top:5px}.helper{font-size:.83rem;color:var(--muted);margin-top:11px}.feedback{border-radius:14px;padding:17px 20px;margin-top:18px;border:1px solid #c2eee1;background:var(--mintlight);color:#104f41}.feedback.error{border-color:#ffc3cf;background:var(--pinklight);color:#933248}.feedback strong{display:block}.feedback p{margin-top:4px}.hintbox{margin-top:13px;border:1px dashed #c8b4f1;background:#f5f1ff;border-radius:14px;padding:17px 20px}.stepside{position:sticky;top:112px}.softcard{padding:24px;margin-bottom:15px}.softcard h3{margin-bottom:8px}.softcard p{color:var(--muted);font-size:.9rem}.smalllist{padding-left:20px;color:#515b67;font-size:.88rem;margin-bottom:0}.smalllist li{margin:8px 0}.step-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.muted{color:var(--muted)}.taglist{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.tag{background:#f1f2f5;border-radius:9px;padding:6px 10px;font-size:.75rem;font-weight:700;color:#5b6574}
.topheading{margin-bottom:26px}.topheading h1{font-size:clamp(2.2rem,5vw,3.7rem);margin:10px 0}.topheading p{max-width:720px;color:var(--muted)}.filterbar{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.filter{border:1px solid var(--border);background:#fff;padding:10px 16px;border-radius:100px;font-weight:800;font-size:.86rem}.filter.selected{background:var(--ink);color:#fff}.practicegrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.examcard{padding:27px}.examcard h3{margin-bottom:9px}.examcard p{color:var(--muted);font-size:.9rem}.examcard .btn{margin-top:18px}.exam-question{padding:22px;border-radius:17px;border:1px solid var(--border);background:#fff;margin-bottom:13px}.exam-question h3{line-height:1.55;font-size:1.05rem}.exam-question small{display:block;color:var(--muted);font-weight:750;margin-bottom:8px}.exam-question input{margin-top:12px}.exam-results{background:#fff;border:1px solid var(--border);border-radius:20px;padding:27px;margin-top:20px}.score{font-size:3rem;line-height:1;font-weight:900;letter-spacing:-.07em;color:var(--pink)}.sheetgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}.sheetcard{padding:26px}.sheetcard h3{margin-bottom:8px}.sheetcard .math{margin:12px 0}.sheetcard details{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}.sheetcard summary{font-weight:800;cursor:pointer}.sheetcard ol{padding-left:22px;color:#475367}.sheetcard li{margin:7px 0}.sheetcard .pill{margin-bottom:6px;display:inline-block}.notice{border-radius:16px;background:var(--mintlight);padding:20px;margin:20px 0;color:#0a5546}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted);padding:25px 0 40px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,120px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:13px;font-weight:700;box-shadow:var(--shadow);z-index:60;transition:transform .25s;max-width:90%;text-align:center}.toast.show{transform:translate(-50%,0)}.empty{border:1px dashed #c8ced8;padding:35px;border-radius:20px;background:#fff}.print-only{display:none}
@media(max-width:950px){.modules{grid-template-columns:repeat(2,1fr)}.lessonlayout{grid-template-columns:minmax(0,1fr)}.stepside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px}.stepside .softcard{margin:0}.hero{gap:15px}}
@media(max-width:680px){.shell,.topinner{width:calc(100% - 30px)}.topinner{min-height:72px}.menu-btn{display:block}.topnav{display:none;position:absolute;top:71px;right:15px;left:15px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:10px;box-shadow:var(--shadow);flex-direction:column}.topnav.open{display:flex}.navlink{text-align:left}.page{padding-block:21px 45px}.hero{grid-template-columns:1fr;padding:26px}.hero-right{min-height:185px}.math-card{padding:19px 25px}.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:14px}.stat b{font-size:1.5rem}.stat span{font-size:.71rem}.modules,.banners,.practicegrid,.sheetgrid,.stepside{grid-template-columns:1fr}.module{padding:21px}.module h3,.module p{min-height:0}.lesson{padding:22px}.lesson-head{flex-wrap:wrap}.concept,.worked{padding:18px}.footer{flex-direction:column}.ansinput{width:100%}.inputrow .btn{width:100%}.pair-input{width:100%}.pair-input label{flex:1}.pair-input input{max-width:100%;width:100%}.step-actions>.btn{flex:1}.sectionhead{margin-top:34px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:#fff}.topbar,.footer,.btn,.step-actions,.topnav,.menu-btn,.toast{display:none!important}.print-only{display:block}.shell{width:100%}.page{padding:0}.sheetcard,.module,.examcard{break-inside:avoid;box-shadow:none}.sheetcard details>*{display:block!important}}
