:root{--bg:#e8d5b0;--card:#f5e8ce;--border:#c8b48a;--ink:#1a1a2e;--ink2:#5a5a7a;--blue:#1865f2;--blue-bg:#eef3ff;--green:#009651;--green-bg:#e8f5ee;--red:#d92916;--red-bg:#fff0ee;--amber:#c05500;--amber-bg:#fff4e0;--purple:#7c3aed;--orange:#ff8c42;--gold:#ffd166;--teal:#2ec4b6;--text:var(--ink2);--text-h:var(--ink);--code-bg:var(--card);--accent:var(--blue);--accent-bg:var(--blue-bg);--accent-border:var(--blue);--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Comic Sans MS", "Chalkboard SE", cursive;--heading:"Fredoka One", "Arial Rounded MT Bold", sans-serif;--mono:"Fira Code", "Courier New", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:18px}}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;margin:0;padding:0;display:flex;overflow-x:hidden}*{box-sizing:border-box;font-family:Comic Sans MS,Chalkboard SE,cursive}html{overscroll-behavior-x:none;width:100%;margin:0;padding:0;overflow-x:hidden}body{letter-spacing:0;overscroll-behavior-x:none;width:100%;margin:0;padding:0;font-family:Comic Sans MS,Chalkboard SE,cursive;font-size:1.1rem;line-height:1.6;overflow-x:hidden}div,p,span,li,td,th,label,input,textarea,button{text-align:left;font-family:Comic Sans MS,Chalkboard SE,cursive}h1,h2,h3,h4,h5,h6{color:var(--ink);letter-spacing:.01em;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-style:normal;font-weight:800}h1{margin:0;font-size:1.6rem}h2{margin:0;font-size:1.3rem}h3{margin:0;font-size:1.1rem}p{text-align:left;margin:0;font-family:Comic Sans MS,Chalkboard SE,cursive}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.site-header{background:var(--card);border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;width:100%;padding:.75rem 2rem;display:flex}.site-brand{letter-spacing:.01em;flex-shrink:0;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.55rem;font-weight:800}.brand-link{align-items:center;gap:.4rem;display:flex}.brand-logo{object-fit:contain;width:32px;height:32px;display:block}.brand-simply{color:var(--ink)}.brand-lesson{color:var(--blue)}.site-nav{flex:1;justify-content:center;align-items:center;gap:.5rem;display:flex;position:relative}.nav-link{color:var(--ink2);border-radius:6px;padding:.3rem .6rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .15s}.nav-link:hover{color:var(--blue);background:var(--blue-bg)}.nav-separator{color:var(--border);font-size:.9rem}.header-spacer{flex-shrink:0;width:100px}.nav-item-with-dropdown{position:relative}.nav-dropdown{background:var(--card);border:2px solid var(--border);z-index:1000;opacity:0;border-radius:8px;min-width:180px;margin-top:.5rem;animation:.2s forwards dropdownFadeIn;position:absolute;top:100%;left:0;transform:translateY(-8px);box-shadow:0 4px 12px #00000026}@keyframes dropdownFadeIn{to{opacity:1;transform:translateY(0)}}.dropdown-item{color:var(--ink);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.65rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .15s;display:flex}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover:not(.disabled){background:var(--blue-bg);color:var(--blue)}.dropdown-item.disabled{color:var(--ink2);opacity:.6;cursor:not-allowed;pointer-events:none}.coming-soon{color:var(--amber);text-transform:uppercase;letter-spacing:.02em;background:#fff8e1;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:800}@media (width<=768px){.site-header{flex-direction:column;gap:.5rem}.header-spacer{display:none}}.app-footer{text-align:center;color:var(--ink2);background:var(--card);border-radius:0;width:100%;margin:0;padding:1.5rem 2rem;font-family:Comic Sans MS,Chalkboard SE,cursive;font-size:.9rem}.app-footer p{margin:.5rem 0;font-weight:600}.app-footer a{color:var(--blue);font-weight:600;text-decoration:none}.app-footer a:hover{text-decoration:underline}.home-page{background:var(--bg);min-height:100vh;margin:0;padding:0;font-family:Comic Sans MS,Chalkboard SE,cursive}.hero{background:var(--card);text-align:center;width:100%;margin:0;padding:4rem 2rem}.hero-content{max-width:900px;margin:0 auto}.hero-headline{color:var(--ink);letter-spacing:.01em;margin-bottom:1.5rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:3.5rem;font-weight:800;line-height:1.2}.hero-subheadline{color:var(--ink2);margin-bottom:2rem;font-size:1.2rem;line-height:1.6}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn-primary{background:var(--blue);color:#fff;border-radius:10px;padding:.9rem 2rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1865f24d}.btn-secondary{color:var(--blue);border:2px solid var(--blue);background:0 0;border-radius:10px;padding:1rem 2.2rem;font-size:1.15rem;font-weight:700;text-decoration:none;transition:all .2s}.btn-secondary:hover{background:var(--blue-bg)}.btn-gold{background:var(--gold);color:#6a4c00;border-radius:10px;padding:.75rem 1.8rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-block}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd16666}.section{max-width:1100px;margin:0 auto;padding:3rem 2rem}.section-title{color:var(--ink);text-align:center;letter-spacing:.01em;margin-bottom:2.5rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:800}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;display:grid}.step-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:12px;padding:1.5rem}.step-num{background:var(--blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:0 auto 1rem;font-size:1.5rem;font-weight:800;display:flex}.step-card h3{color:var(--ink);margin-bottom:.5rem;font-size:1.2rem;font-weight:800}.step-card p{color:var(--ink2);font-size:1rem;line-height:1.5}.subjects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.subject-card{background:var(--card);text-align:left;border-radius:12px;padding:2rem}.subject-card.math{border-left:4px solid var(--blue)}.subject-card.english{border-left:4px solid var(--green)}.subject-card.coding{border-left:4px solid var(--purple)}.subject-card h3{color:var(--ink);margin-bottom:.3rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.5rem}.subject-card p{color:var(--ink2);margin-bottom:.5rem;font-size:.9rem}.subject-desc{color:var(--ink)!important;margin-top:.5rem!important;font-size:1.05rem!important}.subject-link{color:var(--blue);margin-top:1rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-block}.subject-link:hover{transform:translate(4px)}.why-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.why-card{background:var(--card);border:1px solid var(--border);text-align:left;border-radius:12px;padding:1.5rem}.why-card h3{color:var(--blue);margin-bottom:.5rem;font-size:1.1rem;font-weight:800}.why-card p{color:var(--ink);font-size:1.05rem;line-height:1.6}.free-section{background:var(--card);border-radius:16px;margin:2rem auto}.free-list{max-width:500px;margin:0 auto;padding:0;list-style:none}.free-list li{color:var(--ink);border-bottom:1px solid var(--border);padding:.6rem 0;font-size:1.1rem}.free-list li:last-child{border-bottom:none}.free-list li:before{content:"✓ ";color:var(--green);margin-right:.5rem;font-weight:800}.free-note{text-align:center;margin-top:1.5rem;font-size:1.05rem}.free-note a{color:var(--blue);font-weight:700;text-decoration:none}.free-note a:hover{text-decoration:underline}.pro-section{background:var(--card);border-radius:16px}.pro-content{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.pro-left h2{color:var(--ink);margin-bottom:1rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:2rem}.pro-left p{color:var(--ink2);margin-bottom:1rem;font-size:1.1rem;line-height:1.6}.pro-right{border:2px solid var(--gold);text-align:center;background:#fffbf0;border-radius:12px;padding:2rem}.price-tag{color:#6a4c00;margin-bottom:.3rem;font-size:2.5rem;font-weight:800}.price-annual{color:var(--ink2);margin-bottom:1.5rem;font-size:.95rem}.pro-features{text-align:left;margin:1.5rem 0;padding:0;list-style:none}.pro-features li{color:var(--ink);padding:.4rem 0;font-size:1.05rem}.pro-features li:before{content:"✓ ";color:var(--gold);margin-right:.5rem;font-weight:800}.pro-note{color:var(--ink2);margin-top:1rem;font-size:.85rem}.faq-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.home-footer{background:var(--card);text-align:center;color:var(--ink2);padding:2rem;font-size:.9rem}.home-footer p{margin:.5rem 0;font-weight:600}.home-footer a{color:var(--blue);font-weight:600;text-decoration:none}.home-footer a:hover{text-decoration:underline}.footer-note{opacity:.7;margin-top:1rem;font-size:.8rem;font-weight:600}@media (width<=768px){.hero-headline{font-size:2.5rem}.hero-subheadline{font-size:1.05rem}.pro-content,.steps-grid{grid-template-columns:1fr}}.btn{cursor:pointer;border:none;border-radius:8px;padding:.55rem 1.2rem;font-family:Comic Sans MS,Chalkboard SE,cursive;font-size:.88rem;font-weight:700;transition:all .15s}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:#0a4bbf}.btn-secondary{background:var(--card);color:var(--ink);border:1.5px solid var(--border);padding:.5rem 1rem;font-size:.86rem}.btn-secondary:hover:not(:disabled){border-color:#a0a8b8}.btn-success{background:var(--green);color:#fff}.btn-success:hover:not(:disabled){background:#007a41}.btn-purple{color:#fff;background:#7c3aed;padding:.52rem 1rem;font-size:.84rem;font-weight:800}.btn-purple:hover:not(:disabled){background:#6d28d9}.btn-gold{background:var(--gold);color:var(--ink);font-weight:800}.btn-gold:hover:not(:disabled){background:#ffbe4d}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1.2rem 1.25rem}.frac-in{flex-direction:column;align-items:center;gap:2px;display:inline-flex}.frac-in input{text-align:center;border:2px solid var(--border);background:var(--card);width:54px;color:var(--ink);border-radius:8px;outline:none;padding:.28rem .2rem;font-family:Comic Sans MS,Chalkboard SE,cursive;font-size:1.2rem;font-weight:800}.frac-in input:focus{border-color:var(--blue)}.frac-in input:disabled{opacity:.5;cursor:not-allowed}.frac-ln{background:var(--ink);border-radius:1px;width:54px;height:2px}.snav{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:.4rem;max-width:1100px;margin-bottom:1.75rem;margin-left:auto;margin-right:auto;padding:1rem 2rem;display:flex}.sbtn{border:2px solid var(--border);background:var(--card);color:var(--ink2);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;width:156px;padding:.5rem .8rem;font-family:Comic Sans MS,Chalkboard SE,cursive;font-size:.78rem;font-weight:800;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex;position:relative;box-shadow:0 2px 6px #00000012}.sbtn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.sbtn:disabled{opacity:.38;cursor:not-allowed}.snum{border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:900;display:inline-flex}.sbtn[data-step="0"].active{color:#fff;background:#2ec4b6;border-color:#2ec4b6;box-shadow:0 4px 12px #2ec4b659}.sbtn[data-step="1"].active{color:#fff;background:#1865f2;border-color:#1865f2;box-shadow:0 4px 12px #1865f259}.sbtn[data-step="2"].active{color:#fff;background:#ff8c42;border-color:#ff8c42;box-shadow:0 4px 12px #ff8c4259}.sbtn[data-step="3"].active{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed59}.sbtn[data-step="4"].active{color:#fff;background:#009651;border-color:#009651;box-shadow:0 4px 12px #00965159}.sbtn.active .snum{background:#ffffff40;border-color:#fff9}.sbtn.done{color:#009651;background:var(--green-bg);border-color:#009651}.check-badge{margin-left:-.15rem;font-size:.7rem}.doodle-wrap{border:2px solid var(--border);background:var(--card);border-radius:12px;margin-top:1.2rem;overflow:hidden}.doodle-toolbar{border-bottom:2px solid var(--border);background:#dfc99a;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem 1rem;display:flex}.doodle-label{color:#5a3c00;letter-spacing:.12em;margin-right:.5rem;font-family:Comic Sans MS,Chalkboard SE,cursive;font-size:1.3rem;font-weight:800}.doodle-color{border:2.5px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;width:30px;height:30px;padding:0;transition:transform .12s}.doodle-color:hover{transform:scale(1.15)}.doodle-color.active{border-color:var(--blue);transform:scale(1.2)}.doodle-size{border:2px solid var(--border);cursor:pointer;color:var(--ink);background:0 0;border-radius:7px;padding:.35rem .75rem;font-family:Comic Sans MS,cursive;font-size:1rem;font-weight:800}.doodle-size.active{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.doodle-clear{border:2px solid var(--border);cursor:pointer;color:var(--ink);background:0 0;border-radius:7px;margin-left:auto;padding:.35rem .85rem;font-family:Comic Sans MS,cursive;font-size:1rem;font-weight:800}.doodle-clear:hover{border-color:var(--red);color:var(--red)}#doodleCanvas{cursor:crosshair;touch-action:none;width:100%;display:block}.number-input{color:var(--ink);border:2px solid var(--border);text-align:center;background:#fff;border-radius:8px;min-width:100px;max-width:150px;padding:.6rem .8rem;font-family:Comic Sans MS,Chalkboard SE,cursive;font-size:1.3rem;font-weight:700;transition:all .15s}.number-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg);outline:none}.number-input:disabled{background:var(--card);opacity:.6;cursor:not-allowed}.number-input::placeholder{color:var(--ink2);opacity:.5}.ptb-spacer{height:60px}@media (width<=640px){.ptb-spacer{height:76px}}.progress-tracker-bar{z-index:40;background:var(--card);border-top:2px solid var(--border);padding:.65rem 1.5rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0000001f}.ptb-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;max-width:1100px;margin:0 auto;display:flex}.ptb-label{color:var(--ink2);white-space:nowrap;font-size:.9rem;font-weight:700}.ptb-dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.ptb-dot{border:2px solid var(--border);width:24px;height:24px;color:var(--ink2);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:900;display:inline-flex}.ptb-dot.ptb-current{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.ptb-dot.ptb-correct{border-color:var(--green);background:var(--green-bg);color:var(--green)}.ptb-dot.ptb-retry{border-color:var(--amber);background:var(--amber);color:#fff}.ptb-dot.ptb-wrong{color:#b0907a;background:#f5ebe0;border-color:#d4b8a0}.ptb-dot.ptb-pending{opacity:.6}.lesson-shell{flex-direction:column;min-height:100vh;display:flex;position:relative}.progress-bar{background:var(--blue);z-index:100;pointer-events:none;height:3px;transition:width .4s;position:fixed;top:0;left:0}.lesson-shell .site-header{border-bottom:2px solid var(--border)}.lesson-header-area{position:relative}.lesson-meta{z-index:5;align-items:center;gap:.6rem;display:flex;position:absolute;top:1.25rem;right:2rem}.lesson-avatar{border:2.5px solid var(--border);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001f}.lesson-name{color:var(--ink2);white-space:nowrap;font-size:.85rem;font-weight:700}.star-counter{color:#6a4c00;background:var(--gold);border-radius:999px;flex-shrink:0;padding:.3rem .8rem;font-size:.9rem;font-weight:700}.lesson-header{max-width:1100px;margin:1.25rem auto 1rem;padding:0 2rem}.breadcrumb{color:var(--ink2);text-align:left;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.breadcrumb a:hover{color:var(--blue);text-decoration:underline}.lesson-title{color:var(--ink);letter-spacing:.01em;text-align:left;margin-bottom:.2rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.6rem;font-style:normal;font-weight:800}.lesson-subtitle{color:var(--ink2);text-align:left;margin-bottom:0;font-size:.88rem}.lesson-content{background:var(--bg);flex:1 0 auto;width:100%}.content-wrapper{width:100%;max-width:1100px;margin:0 auto;padding:2rem}@media (width<=768px){.lesson-shell{padding:0 1rem 2rem}.lesson-title{font-size:1.3rem}.breadcrumb{font-size:.75rem}.lesson-meta{justify-content:flex-end;margin:0 1rem .5rem;position:static}}.chalk-wrapper{background:#1b3a2a;border-radius:16px;margin-bottom:1.25rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000040}.chalk-canvas{cursor:default;width:100%;height:760px;display:block}#chalkCanvas{cursor:default;width:100%;display:block}.celebration-confetti{pointer-events:none;z-index:9999;border-radius:2px;position:fixed;top:-30px}.celebration-confetti-spiral{animation:linear forwards celebration-confetti-spiral}@keyframes celebration-confetti-spiral{0%{opacity:0;top:-30px;transform:rotate(0)translate(0)}5%{opacity:1}25%{transform:rotate(180deg)translate(50px)}50%{transform:rotate(360deg)translate(-30px)}75%{transform:rotate(540deg)translate(40px)}95%{opacity:.8}to{opacity:0;top:110vh;transform:rotate(720deg)translate(-20px)}}.celebration-confetti-zigzag{animation:linear forwards celebration-confetti-zigzag}@keyframes celebration-confetti-zigzag{0%{opacity:0;top:-30px;transform:translate(0)rotate(0)scaleY(1)}8%{opacity:1}20%{transform:translate(-60px)rotate(90deg)scaleY(-1)}40%{transform:translate(60px)rotate(180deg)scaleY(1)}60%{transform:translate(-50px)rotate(270deg)scaleY(-1)}80%{transform:translate(40px)rotate(360deg)scaleY(1)}95%{opacity:.7}to{opacity:0;top:110vh;transform:translate(-30px)rotate(450deg)scaleY(-1)}}.celebration-confetti-spin{animation:linear forwards celebration-confetti-spin}@keyframes celebration-confetti-spin{0%{opacity:0;top:-30px;transform:rotate(0)scale(.5)}10%{opacity:1;transform:rotate(180deg)scale(1.2)}30%{transform:rotate(540deg)scale(.8)}50%{transform:rotate(900deg)scale(1.1)}70%{transform:rotate(1260deg)scale(.9)}90%{opacity:.9}to{opacity:0;top:110vh;transform:rotate(1620deg)scale(.6)}}.celebration-balloon{pointer-events:none;z-index:9999;font-size:2.5rem;position:fixed}@keyframes celebration-balloon-a{0%{opacity:0;bottom:-80px;transform:translate(0)rotate(-8deg)scale(.3)}8%{opacity:1;transform:translate(0)rotate(-8deg)scale(1.25)}25%{transform:translate(40px)rotate(10deg)scale(1)}50%{transform:translate(-30px)rotate(-8deg)scale(1.06)}75%{transform:translate(35px)rotate(7deg)scale(1)}90%{opacity:1}to{opacity:0;bottom:115vh;transform:translate(-15px)rotate(-4deg)scale(.9)}}@keyframes celebration-balloon-b{0%{opacity:0;bottom:-80px;transform:translate(0)rotate(8deg)scale(.3)}8%{opacity:1;transform:translate(0)rotate(8deg)scale(1.3)}20%{transform:translate(-50px)rotate(-12deg)scale(1)}45%{transform:translate(40px)rotate(9deg)scale(1.04)}70%{transform:translate(-30px)rotate(-6deg)scale(1)}90%{opacity:1}to{opacity:0;bottom:115vh;transform:translate(20px)rotate(5deg)scale(.85)}}@keyframes celebration-balloon-c{0%{opacity:0;bottom:-80px;transform:translate(0)scale(.2)rotate(0)}10%{opacity:1;transform:translate(0)scale(1.4)rotate(180deg)}30%{transform:translate(25px)scale(1)rotate(360deg)}60%{transform:translate(-25px)scale(1.05)rotate(540deg)}90%{opacity:1}to{opacity:0;bottom:115vh;transform:translate(15px)scale(.9)rotate(720deg)}}.nl-svg{background:var(--card);border:2px solid var(--border);border-radius:10px;max-width:100%;margin:1rem auto;padding:.5rem;display:block}.nl-active{cursor:pointer}.nl-disabled{cursor:default;opacity:.92}.nl-tick-label{font-family:var(--sans);fill:var(--ink2);font-size:13px}.nl-mark-label{font-family:var(--sans);fill:var(--orange);font-size:13px;font-weight:700}.nl-point{stroke:var(--card);stroke-width:2px;transition:cx .15s}.nl-point-selected{fill:var(--blue)}.nl-point-correct{fill:var(--green)}.nl-point-incorrect{fill:var(--red)}@keyframes thumbUp{0%{opacity:1;transform:scale(0)rotate(-20deg)}40%{opacity:1;transform:scale(1.6)rotate(10deg)}70%{opacity:1;transform:scale(1.2)rotate(-5deg)}to{opacity:0;transform:scale(.8)translateY(-80px)rotate(0)}}@keyframes balloonA{0%{opacity:0;bottom:-80px;transform:translate(0)rotate(-8deg)scale(.3)}8%{opacity:1;transform:translate(0)rotate(-8deg)scale(1.25)}25%{transform:translate(40px)rotate(10deg)scale(1)}50%{transform:translate(-30px)rotate(-8deg)scale(1.06)}75%{transform:translate(35px)rotate(7deg)scale(1)}90%{opacity:1}to{opacity:0;bottom:115vh;transform:translate(-15px)rotate(-4deg)scale(.9)}}@keyframes balloonB{0%{opacity:0;bottom:-80px;transform:translate(0)rotate(8deg)scale(.3)}8%{opacity:1;transform:translate(0)rotate(8deg)scale(1.3)}20%{transform:translate(-45px)rotate(-12deg)scale(1)}45%{transform:translate(35px)rotate(9deg)scale(1.04)}70%{transform:translate(-25px)rotate(-6deg)scale(1)}90%{opacity:1}to{opacity:0;bottom:115vh;transform:translate(20px)rotate(5deg)scale(.85)}}@keyframes balloonC{0%{opacity:0;bottom:-80px;transform:translate(0)scale(.2)rotate(0)}10%{opacity:1;transform:translate(0)scale(1.4)rotate(180deg)}30%{transform:translate(20px)scale(1)rotate(360deg)}60%{transform:translate(-20px)scale(1.05)rotate(540deg)}90%{opacity:1}to{opacity:0;bottom:115vh;transform:translate(10px)scale(.9)rotate(720deg)}}.av-picker{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1rem 1.25rem}.av-picker-label{color:var(--ink2);text-transform:uppercase;letter-spacing:.055em;margin-bottom:.5rem;font-size:.75rem;font-weight:800}.av-row{flex-wrap:wrap;gap:.38rem;margin-bottom:.6rem;display:flex}.av{border:3px solid var(--border);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000001a}.av:hover{border-color:var(--blue);transform:scale(1.08);box-shadow:0 4px 12px #1865f233}.av.sel{border-color:var(--blue);background:var(--blue-bg);border-width:4px;box-shadow:0 0 0 3px #1865f226,0 4px 12px #1865f24d}.name-inp{border:1.5px solid var(--border);width:190px;color:var(--ink);background:var(--card);border-radius:8px;outline:none;padding:.38rem .7rem;font-size:.9rem;font-weight:600}.name-inp:focus{border-color:var(--blue)}.ct{margin-bottom:.45rem;font-family:Fredoka One,cursive;font-size:1.15rem;font-weight:800}.cp{color:var(--ink);text-align:left;font-size:1.1rem;line-height:1.75}.terms{flex-wrap:wrap;gap:.35rem;margin-top:.65rem;display:flex}.term{background:var(--blue-bg);color:var(--blue);border-radius:6px;padding:.22rem .55rem;font-size:.78rem;font-weight:700}.bar-viz-toggle-btn{background:var(--card);cursor:pointer;color:#3a5280;border:2px solid #b0c4de;border-radius:12px;align-items:center;gap:.6rem;width:100%;margin:1rem 0 .35rem;padding:.7rem 1.2rem;font-family:Comic Sans MS,cursive;font-size:1rem;font-weight:800;display:flex;box-shadow:0 2px 8px #1865f21a}.bar-viz-toggle-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-bg);box-shadow:0 4px 14px #1865f22e}.bar-viz-card{flex-direction:column;min-height:520px;padding:1.4rem 1.5rem;display:flex}.exp-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.exp-prob{background:var(--blue-bg);color:var(--blue);border-radius:8px;align-items:center;padding:.38rem .85rem;font-size:1.05rem;font-weight:800;display:inline-flex}.exp-step-meta{color:var(--ink2);text-transform:uppercase;letter-spacing:.055em;margin-bottom:.2rem;font-size:.73rem;font-weight:800}.exp-step-title{margin-bottom:.3rem;font-family:Fredoka One,cursive;font-size:1rem;font-weight:800}.exp-step-desc{color:var(--ink);white-space:pre-line;text-align:left;margin-bottom:.9rem;font-size:1.1rem;line-height:1.85}.exp-bars{margin:1.5rem 0}.bar-row{margin-bottom:1.2rem}.bar-label{color:var(--ink2);text-align:left;margin-bottom:.4rem;font-size:.9rem;font-weight:700}.bar-svg{background:var(--border);border-radius:8px;width:100%;height:40px;display:block;overflow:hidden}.exp-ctrl{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.exp-ct{color:var(--ink2);font-size:.95rem;font-weight:800}.cc-wrap{background:var(--card);border:2px solid #c4b5fd;border-radius:14px;margin-top:1.5rem;margin-bottom:1rem;padding:1.1rem 1.2rem}.cc-label{color:#7c3aed;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.65rem;font-family:Fredoka One,cursive;font-size:.85rem;font-weight:800}.cc-q{color:var(--ink);text-align:left;margin-bottom:.55rem;font-size:1.1rem;font-weight:700;line-height:1.55}.cc-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cc-inp{border:1.5px solid var(--border);background:var(--card);border-radius:8px;outline:none;width:200px;padding:.38rem .7rem;font-family:inherit;font-size:.9rem;font-weight:700}.cc-inp:focus{border-color:#7c3aed}.cc-opt{border:1.5px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;padding:.38rem .8rem;font-family:inherit;font-size:.86rem;font-weight:700}.cc-opt:hover{border-color:#7c3aed}.cc-opt.cc-right{border-color:var(--green);background:var(--green-bg);color:var(--green)}.cc-opt.cc-wrong{border-color:var(--red);background:var(--red-bg);color:var(--red)}.cc-fb{margin-top:.35rem;font-size:.84rem;font-weight:700}.cc-fb.ok{color:var(--green)}.cc-fb.no{color:var(--red)}.cc-score{color:#7c3aed;background:#f3eeff;border-radius:7px;margin-top:.6rem;padding:.35rem .7rem;font-size:.82rem;font-weight:800;display:block}.rl-fill .answer-unit{color:var(--ink);margin-left:.3rem;font-size:1.05rem;font-weight:700}.am-svg{background:var(--card);border:2px solid var(--border);border-radius:10px;max-width:100%;margin:1rem auto;padding:.5rem;display:block}.am-side-label{font-family:var(--sans);fill:var(--ink);font-size:13px;font-weight:700}.am-cell-bg{fill:#0000}.am-cell-interactive{cursor:pointer}.am-cell-interactive:hover circle{opacity:.7}.math-hub-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.grades-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.grade-card-link{color:inherit;text-decoration:none;transition:transform .2s;display:block}.grade-card-link:hover{transform:translateY(-4px)}.grade-card-link:hover .grade-status.available{background:var(--blue);color:#fff}.grade-number{color:var(--blue);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:800}.grade-title{color:var(--ink);margin:.5rem 0;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.15rem;line-height:1.3}.grade-desc{color:var(--ink2);margin:.75rem 0 1rem;font-size:.9rem;line-height:1.6}.grade-status{border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:800;transition:all .2s;display:inline-block}.grade-status.available{background:var(--blue-bg);color:var(--blue);border:2px solid var(--blue)}.grade-status.coming-soon{color:var(--amber);border:2px solid var(--amber);opacity:.7;background:#fff8e1}@media (width<=768px){.page-content{padding:1.5rem 1rem}.page-header h1{font-size:2rem}.grades-grid{grid-template-columns:1fr}}.grade4-math-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.page-content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:2rem}.page-header{margin-bottom:2.5rem}.breadcrumb{color:var(--ink2);margin-bottom:.75rem;font-size:.85rem;font-weight:600}.breadcrumb a{color:var(--blue);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.page-header h1{color:var(--ink);margin:.5rem 0;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:2.5rem}.page-subtitle{color:var(--ink2);margin-top:.75rem;font-size:1.05rem;line-height:1.6}.modules-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.module-card-link{color:inherit;text-decoration:none;transition:transform .2s;display:block}.module-card-link:hover{transform:translateY(-4px)}.module-card-link:hover .module-status.available{background:var(--blue);color:#fff}.module-number{color:var(--blue);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:800}.module-title{color:var(--ink);margin:.5rem 0;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.15rem;line-height:1.3}.module-desc{color:var(--ink2);margin:.75rem 0 1rem;font-size:.9rem;line-height:1.6}.module-status{border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:800;transition:all .2s;display:inline-block}.module-status.available{background:var(--blue-bg);color:var(--blue);border:2px solid var(--blue)}.module-status.coming-soon{color:var(--amber);border:2px solid var(--amber);opacity:.7;background:#fff8e1}@media (width<=768px){.page-content{padding:1.5rem 1rem}.page-header h1{font-size:2rem}.modules-grid{grid-template-columns:1fr}}.prob-eq{margin-bottom:.5rem;font-size:1.3rem;font-weight:900}.sf-tag{color:var(--green);background:var(--green-bg);border-radius:5px;align-items:center;gap:.3rem;margin-bottom:.65rem;padding:.2rem .5rem;font-size:.77rem;font-weight:700;display:inline-flex}.frac-wrap{flex-wrap:wrap;align-items:center;gap:.9rem;margin-bottom:.75rem;display:flex}.frac-lbl{color:var(--ink2);font-size:.85rem;font-weight:700}.sw-panel{background:var(--amber-bg);border:1px solid #f0c060;border-radius:10px;margin-top:.7rem;padding:.9rem 1rem;display:block}.sw-panel h4{color:var(--amber);margin-bottom:.4rem;font-size:.85rem;font-weight:800}.sw-panel pre{white-space:pre-wrap;color:var(--ink);font-family:inherit;font-size:.82rem;line-height:1.75}.half-note{color:#5a3c00;text-align:center;background:linear-gradient(135deg,#ffd166,#ffbc2e);border-radius:10px;margin:.7rem 0;padding:.65rem 1rem;font-size:.88rem;font-weight:800}.review-link{color:var(--blue);margin-top:.5rem;font-size:.9rem;text-decoration:none}.review-link:hover{text-decoration:underline}.thumbs-up-fx{pointer-events:none;z-index:300;font-size:3rem;animation:1.2s cubic-bezier(.34,1.56,.64,1) forwards thumbUp;position:fixed}.st-dot.submitted{color:#7c3aed;background:#f3eeff;border-color:#7c3aed}.angle-diagram{background:var(--card);border-radius:8px;margin:1rem auto;padding:1rem;display:block}@media (width<=640px){.angles-grid{grid-template-columns:1fr}}@keyframes ribbonFall{0%{opacity:0;top:-50px;transform:rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;top:110vh;transform:rotate(720deg)}}.protractor-widget{background:var(--card);border:2px solid var(--border);border-radius:12px;padding:.75rem}.see-it-panel{margin-bottom:2rem}.ct{color:var(--ink);margin-bottom:.6rem;font-family:Fredoka One,cursive;font-size:1.3rem;font-weight:800}.cp{color:var(--ink);margin-bottom:.75rem;font-size:1rem;line-height:1.75}.diagram-example{background:var(--bg);border-radius:8px;flex-direction:column;align-items:center;margin:1rem 0;padding:.75rem;display:flex}.diagram-label{color:var(--ink2);margin-top:.5rem;font-size:.85rem;font-weight:700}.angles-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-top:1rem;display:grid}.angle-type-box{text-align:center;background:var(--bg);border-radius:10px;flex-direction:column;align-items:center;padding:.75rem;display:flex}.angle-type-box strong{color:var(--ink);margin-top:.5rem;margin-bottom:.25rem;font-size:.95rem;font-weight:800}.angle-type-box p{color:var(--ink2);margin:0;font-size:.8rem;line-height:1.5}.cc-wrap{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-top:1.5rem;padding:1.2rem}.cc-label{color:var(--ink);margin-bottom:.9rem;font-family:Fredoka One,cursive;font-size:1rem;font-weight:800}.cc-q{color:var(--ink);margin-bottom:.5rem;font-size:.95rem;font-weight:700}.cc-opts{flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem;display:flex}.cc-opt{border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:.45rem .85rem;font-family:Comic Sans MS,cursive;font-size:.9rem;font-weight:700;transition:all .15s}.cc-opt:hover{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.cc-fb{border-radius:8px;margin-top:.4rem;padding:.45rem .75rem;font-size:.85rem;font-weight:700}.cc-fb.ok{background:var(--green-bg);color:var(--green)}.cc-fb.no{background:var(--red-bg);color:var(--red)}.see-section-label.watch{color:#a8e8a0;background:#1b3a2a;border-left:5px solid #7eff7e;border-radius:10px;align-items:center;gap:.6rem;margin:1.5rem 0 .6rem;padding:.55rem .9rem;font-family:Comic Sans MS,Chalkboard SE,cursive;display:flex}.ssl-icon{font-size:1.4rem}.ssl-text{letter-spacing:.04em;font-size:.95rem;font-weight:800}.ssl-sub{opacity:.75;margin-left:.3rem;font-size:.78rem;font-weight:600}.chalk-wrap{border-radius:16px;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 8px 32px #00000040}.chalk-bar{background:#3d2b1f;justify-content:space-between;align-items:center;gap:.6rem;padding:.35rem .75rem;display:flex}.chalk-bar-title{color:#e8d5b0;letter-spacing:.06em;opacity:.6;font-family:Comic Sans MS,cursive;font-size:.78rem;font-weight:800}.chalk-btn{cursor:pointer;color:#e8d5b0;background:0 0;border:1.5px solid #c8a870;border-radius:8px;padding:.22rem .6rem;font-family:Comic Sans MS,cursive;font-size:.78rem;font-weight:800}.chalk-btn:hover{background:#c8a87033}#chalkCanvas{cursor:default;aspect-ratio:700/500;width:100%;max-height:500px;display:block}.chalk-overlay{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}.play-button{color:#a8e8a0;background:#1e5032bf;border:3px solid #a8e8a0;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:2.5rem;transition:transform .15s,background .15s;display:flex;box-shadow:0 0 40px #64dc8240}.play-button:hover{background:#1e5032d9;transform:scale(1.05)}.play-text{color:#a8e8a0;letter-spacing:.08em;text-shadow:0 2px 8px #00000080;font-family:Comic Sans MS,cursive;font-size:1.1rem;font-weight:800}.chalk-tray{background:#5c3317;border-top:3px solid #7a4a25;height:14px}@media (width<=640px){.angles-grid{grid-template-columns:1fr}}.ct-intro{color:var(--ink2);font-size:.9rem;line-height:1.6}.ct-card{margin-bottom:1.2rem}.ct-num{color:#7c3aed;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:800}.ct-q{color:var(--ink);margin-bottom:.75rem;font-size:1rem;font-weight:700;line-height:1.6}.ct-textarea{border:2px solid var(--border);width:100%;min-height:120px;color:var(--ink);resize:vertical;background:#fff;border-radius:8px;padding:.75rem;font-family:Comic Sans MS,cursive;font-size:.95rem}.ct-textarea:focus{border-color:#7c3aed;outline:none}.ct-fb{border-radius:8px;margin-top:.75rem;padding:.75rem;font-size:.9rem;line-height:1.6}.ct-fb.loading{background:var(--amber-bg);color:var(--amber);font-style:italic}.ct-fb.done{color:#7c3aed;background:#f3eeff;border:1px solid #7c3aed}.ph-green{color:var(--green);letter-spacing:.01em;margin-bottom:.2rem;font-family:Fredoka One,cursive;font-size:1.6rem;font-weight:800}.ps{color:var(--ink2);font-size:.88rem;line-height:1.6}.st-dot-green{color:#c8b48a;background:0 0;border:2px solid #c8b48a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:900;transition:all .25s;display:inline-flex}.tib-card{margin-bottom:1.2rem}.tib-num{color:var(--green);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:800}.tib-q{color:var(--ink);margin-bottom:.75rem;font-size:1rem;font-weight:700;line-height:1.6}.tib-textarea{border:2px solid var(--border);width:100%;min-height:120px;color:var(--ink);resize:vertical;background:#fff;border-radius:8px;padding:.75rem;font-family:Comic Sans MS,cursive;font-size:.95rem}.tib-textarea:focus{border-color:var(--green);outline:none}.tib-fb{border-radius:8px;margin-top:.75rem;padding:.75rem;font-size:.9rem;line-height:1.6}.tib-fb.loading{background:var(--amber-bg);color:var(--amber);font-style:italic}.tib-fb.done{background:var(--green-bg);color:var(--green);border:1px solid var(--green)}.tib-done-msg{background:var(--green-bg);border:2px solid var(--green);text-align:center;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.tib-done-text{color:var(--ink2);margin:0;font-size:.95rem;line-height:1.6}.completion-panel{text-align:center;margin-top:1.5rem}.skill-tree{justify-content:center;margin-bottom:1.5rem;display:flex}.review-schedule{background:var(--card);border:1px solid var(--border);text-align:left;border-radius:10px;margin-bottom:1.5rem;padding:1.2rem}.review-schedule h3{color:var(--ink);margin-bottom:.75rem;font-family:Fredoka One,cursive;font-size:1.1rem;font-weight:800}.review-schedule ul{margin:0 0 .75rem;padding:0;list-style:none}.review-schedule li{color:var(--ink2);padding:.3rem 0 .3rem 1.5rem;font-size:.95rem;position:relative}.review-schedule li:before{content:"✓";color:var(--green);font-weight:700;position:absolute;left:0}.review-note{color:var(--ink2);margin:0;font-size:.85rem;font-style:italic}.final-stars{margin-bottom:1rem;font-size:2rem}.final-btn{font-size:1.1rem}.ribbon{pointer-events:none;z-index:300;font-size:2rem;animation:5s ease-in forwards ribbonFall;position:fixed}.balloon-fx{pointer-events:none;z-index:300;font-size:2.5rem;position:fixed;bottom:-80px}.step-content,.practice-container,.brain-stretch-panel,.remember-it-panel{flex-direction:column;gap:1.25rem;margin-bottom:2rem;display:flex}.challenge-header h3,.teach-card-header h3{font-family:var(--heading);color:var(--ink);margin:0 0 .5rem}.challenge-question,.teach-prompt{margin-bottom:1rem;font-size:1.05rem;line-height:1.6}.brain-stretch-textarea,.teach-textarea{box-sizing:border-box;width:100%;font-family:var(--sans);border:2px solid var(--border);background:var(--card);color:var(--ink);resize:vertical;border-radius:10px;margin-bottom:1rem;padding:.85rem;font-size:1rem;line-height:1.5}.brain-stretch-textarea:focus,.teach-textarea:focus{border-color:var(--blue);outline:none}.button-group{flex-wrap:wrap;gap:.75rem;display:flex}.feedback-box{background:var(--blue-bg);border:1px solid var(--blue);border-radius:10px;margin-top:1rem;padding:.85rem 1rem}.feedback-box.success{background:var(--green-bg);border-color:var(--green)}.feedback-box p{margin:.35rem 0 0}.pt-dot{color:#c8b48a;background:0 0;border:2px solid #c8b48a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.7rem;font-weight:900;transition:all .2s;display:inline-flex}.problem-content{text-align:center}.problem-content p{text-align:left}.status-message{text-align:center;border-radius:8px;margin-top:.75rem;padding:.45rem .75rem;font-size:.9rem;font-weight:700}.status-message.correct{background:var(--green-bg);color:var(--green)}.status-message.wrong{background:var(--red-bg);color:var(--red)}.hint-box{background:var(--amber-bg);color:var(--amber);border:1px solid #f0c060;border-radius:10px;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem}.theme-selector{flex-wrap:wrap;gap:.6rem;display:flex}.theme-button{border:2px solid var(--border);background:var(--card);color:var(--ink);font-family:var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.9rem;transition:all .15s;display:flex}.theme-button:hover{border-color:var(--orange)}.theme-button.active{border-color:var(--orange);color:var(--orange);background:#fff4e6;font-weight:700}.theme-icon{font-size:1.1rem}.glossary-pill{background:var(--blue-bg);color:var(--blue);border-radius:999px;padding:.3rem .75rem;font-size:.85rem;font-weight:700;display:inline-block}.comprehension-question{border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:1.25rem}.comprehension-question:last-of-type{border-bottom:none}.comprehension-question label{cursor:pointer;align-items:center;gap:.3rem;margin-top:.5rem;margin-right:1.25rem;font-size:.95rem;display:inline-flex}.correct-badge,.wrong-badge{border-radius:999px;margin-left:.75rem;padding:.2rem .6rem;font-size:.8rem;font-weight:700;display:inline-block}.correct-badge{background:var(--green-bg);color:var(--green)}.wrong-badge{background:var(--red-bg);color:var(--red)}.number-input,.text-input{font-family:var(--sans);border:2px solid var(--border);background:var(--card);color:var(--ink);border-radius:8px;padding:.5rem .75rem;font-size:1rem}.number-input:focus,.text-input:focus{border-color:var(--blue);outline:none}.fraction-bar-widget{background:var(--card);border:2px solid var(--border);border-radius:12px;padding:1rem}.fraction-bar-row{border:2px solid var(--ink);border-radius:6px;width:100%;height:44px;display:flex;overflow:hidden}.fraction-bar-row+.fraction-bar-row{margin-top:.5rem}.fraction-bar-seg{border-right:1px solid var(--ink);background:#fff;flex:1 1 0;justify-content:center;align-items:center;transition:background .15s;display:flex}.fraction-bar-seg:last-child{border-right:none}.fraction-bar-seg[role=button]{cursor:pointer}.fraction-bar-seg[role=button]:hover{background:var(--blue-bg)}.fraction-bar-seg.shaded{color:#fff}.fraction-bar-check{font-size:.85rem;font-weight:900}.fraction-bar-vs{text-align:center;color:var(--ink2);margin:.4rem 0;font-size:.78rem}.fraction-bar-readout{text-align:center;color:var(--ink2);margin-top:.5rem;font-size:.9rem;font-weight:700}.mixed-answer-wrap{gap:.6rem}.conv-demo-table{border-collapse:collapse;width:100%;max-width:260px;font-family:Comic Sans MS,cursive}.conv-demo-table{border-collapse:collapse;width:100%;max-width:260px;margin:0 auto;font-family:Comic Sans MS,cursive}.conv-demo-table th,.conv-demo-table td{border:2px solid var(--border);text-align:center;padding:.4rem .8rem}.conv-demo-table th{background:var(--blue-bg);color:var(--blue)}.practice-panel{margin-bottom:2rem}.pm{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.2rem;display:flex}.pm-label{color:var(--ink2);font-family:Fredoka One,cursive;font-size:.88rem;font-weight:700}.pm-bar{background:var(--border);border-radius:999px;flex:80px;height:5px;overflow:hidden}.pm-fill{background:var(--blue);border-radius:999px;height:100%;transition:width .35s}.prac-tracker{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:.65rem;display:flex}.pt-dot{color:#c8b48a;cursor:pointer;background:0 0;border:2px solid #c8b48a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.7rem;font-weight:900;transition:all .2s;display:inline-flex}.pt-dot.current{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.pt-dot.correct{border-color:var(--green);background:var(--green-bg);color:var(--green)}.pt-dot.correct-retry{border-color:var(--amber);background:var(--amber);color:#fff;font-weight:800}.pt-dot.wrong{color:#b0907a;background:#f5ebe0;border-color:#d4b8a0}.prob-card{box-shadow:0 4px 18px #0000001a}.prob-card.correct{border-color:var(--green);background:var(--green-bg);box-shadow:0 0 0 3px #ffd16655,0 4px 18px #0000001a}.prob-visual{background:var(--bg);border-radius:10px;flex-direction:column;align-items:center;margin-bottom:1rem;padding:1rem;display:flex}.prob-question{color:var(--ink);text-align:center;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.answer-wrap{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.answer-lbl{color:var(--ink2);font-size:.85rem;font-weight:700}.answer-select{border:2px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;min-width:180px;padding:.5rem .75rem;font-family:Comic Sans MS,cursive;font-size:1rem}.answer-select:focus{border-color:var(--blue);outline:none}.answer-select:disabled{background:var(--border);cursor:not-allowed}.fb{border-radius:8px;margin-top:.45rem;padding:.45rem .75rem;font-size:.9rem;font-weight:700;display:none}.fb.ok{background:var(--green-bg);color:var(--green);display:block}.fb.no{background:var(--red-bg);color:var(--red);display:block}.fb.pt{background:var(--amber-bg);color:var(--amber);display:block}.half-card{text-align:center;padding:2rem}.half-msg{color:var(--ink);margin-bottom:1.5rem;font-size:1.2rem;font-weight:800}.result-box{text-align:center;padding:1.5rem 1rem}.result-score{color:var(--blue);font-size:2.8rem;font-weight:900}.result-msg{color:var(--ink2);margin-top:.35rem;font-size:.95rem}.result-stars{margin-top:.45rem;font-size:1.2rem}.result-actions{flex-direction:column;align-items:center;gap:.8rem;margin-top:1.5rem;display:flex}.result-actions button{min-width:220px}.btn-retry{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:.9rem;padding:.8rem 2rem;font-size:1rem;font-weight:800}.compare-numeric{color:var(--ink);align-items:center;gap:1.2rem;font-size:1.6rem;font-weight:800;display:flex}.compare-vs{color:var(--ink2);font-size:1rem;font-weight:700}.real-life-panel{margin-bottom:2rem}.ph{letter-spacing:.01em;margin-bottom:.2rem;font-family:Fredoka One,cursive;font-size:1.6rem;font-weight:800}.ps{color:var(--ink2);margin-bottom:1.5rem;font-size:.88rem}.theme-row{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.85rem;padding:.5rem .65rem;display:flex}.theme-label{color:var(--ink2);white-space:nowrap;font-family:Comic Sans MS,cursive;font-size:.8rem;font-weight:800}.theme-btn{border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:.28rem .7rem;font-family:Comic Sans MS,cursive;font-size:.85rem;transition:all .12s}.theme-btn.sel{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.theme-btn:hover:not(.sel){border-color:var(--blue)}.section-tracker{align-items:center;gap:6px;margin-bottom:1rem;display:flex}.st-dot{color:#c8b48a;cursor:default;background:0 0;border:2px solid #c8b48a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:900;transition:all .25s;display:inline-flex}.st-dot.done-ok{border-color:var(--green);background:var(--green-bg);color:var(--green)}.st-dot.done-no{color:#b0907a;background:#f5ebe0;border-color:#d4b8a0}.st-dot.current{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.st-label{color:var(--ink2);margin-right:.3rem;font-size:.78rem;font-weight:700}.rl{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:.9rem;padding:1.1rem 1.2rem}.rl-body p{text-align:left;font-size:1.1rem;line-height:1.65}.rl-diagram{background:var(--bg);border-radius:8px;justify-content:center;margin:1rem 0;padding:.75rem;display:flex}.rl-answer-label{color:var(--ink2);margin-top:.85rem;margin-bottom:.5rem;font-size:.9rem;font-weight:700}.rl-fill{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.rl-select{border:2px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;min-width:180px;padding:.5rem .75rem;font-family:Comic Sans MS,cursive;font-size:1rem}.rl-select:focus{border-color:var(--blue);outline:none}.rl-select:disabled{background:var(--border);cursor:not-allowed}.rl-fb{margin-top:.5rem;font-size:.85rem;font-weight:700}.rl-fb.ok{color:var(--green)}.rl-fb.no{color:var(--red)}.rl-complete{margin-bottom:1rem}.rl-complete-msg{background:var(--blue-bg);border:2px solid var(--blue);color:var(--blue);text-align:center;border-radius:10px;padding:.9rem 1.2rem;font-size:.95rem;font-weight:700}.answer-unit{color:var(--ink);margin-left:.3rem;font-size:1.05rem;font-weight:700}.symbol-btn{border:2px solid var(--border);width:52px;height:52px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;font-size:1.4rem;font-weight:900;transition:all .12s}.symbol-btn:hover:not(:disabled){border-color:var(--blue);background:var(--blue-bg)}.symbol-btn.sel{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.symbol-btn:disabled{cursor:not-allowed;opacity:.7}.review-subject{text-transform:uppercase;letter-spacing:.03em;color:var(--blue);background:var(--blue-bg);border-radius:999px;margin-bottom:.5rem;padding:.25rem .65rem;font-size:.78rem;font-weight:800;display:inline-block}.brain-stretch-panel{margin-bottom:2rem}.ct-header{margin-bottom:1.2rem}.ct-intro{color:var(--ink2);text-align:left;margin-bottom:.3rem;font-size:1.1rem;line-height:1.6}.ct-card{background:var(--card);border:2px solid #c4b5fd;border-radius:14px;margin-bottom:1rem;padding:1.2rem 1.25rem}.ct-num{color:#7c3aed;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem;font-family:Fredoka One,cursive;font-size:.8rem;font-weight:800}.ct-q{color:var(--ink);letter-spacing:.01em;text-align:left;margin-bottom:.85rem;font-size:1.1rem;font-weight:500;line-height:1.82}.ct-textarea{box-sizing:border-box;border:1.5px solid var(--border);resize:vertical;background:var(--card);width:100%;max-width:100%;min-height:110px;color:var(--ink);border-radius:9px;outline:none;padding:.6rem .8rem;font-family:inherit;font-size:.9rem;line-height:1.6;transition:border-color .15s}.ct-textarea:focus{border-color:#7c3aed}.ct-fb{border-radius:9px;margin-top:.65rem;padding:.65rem .85rem;font-size:.88rem;line-height:1.65;display:none}.ct-fb.loading{color:#6d28d9;background:#f3eeff;font-style:italic;display:block}.ct-fb.done{background:var(--green-bg);border-left:3px solid var(--green);color:#1b5e20;display:block}.ct-fb.error{background:var(--amber-bg);color:var(--amber);display:block}.bs-complete{color:#7c3aed;text-align:center;background:#f3eeff;border:2px solid #7c3aed;border-radius:10px;margin-bottom:1rem;padding:.9rem 1.2rem;font-size:.95rem;font-weight:700}.remember-it-panel{margin-bottom:2rem}.ph-green{letter-spacing:.01em;color:var(--green);margin-bottom:.2rem;font-family:Fredoka One,cursive;font-size:1.6rem;font-weight:800}.st-dot-green{color:#c8b48a;cursor:default;background:0 0;border:2px solid #c8b48a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:900;transition:all .25s;display:inline-flex}.st-dot-green.submitted{border-color:var(--green);background:var(--green-bg);color:var(--green)}.st-dot-green.current{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.tib-card{border:2px solid var(--green);border-left:4px solid var(--green);background:var(--card);border-radius:14px;margin-bottom:1rem;padding:1.2rem 1.25rem}.tib-num{color:var(--green);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem;font-family:Fredoka One,cursive;font-size:.8rem;font-weight:800}.tib-q{color:var(--ink);letter-spacing:.01em;text-align:left;margin-bottom:.85rem;font-size:1.1rem;font-weight:500;line-height:1.82}.tib-textarea{box-sizing:border-box;border:1.5px solid var(--border);resize:vertical;background:var(--card);width:100%;max-width:100%;min-height:100px;color:var(--ink);border-radius:9px;outline:none;padding:.6rem .8rem;font-family:inherit;font-size:.95rem;line-height:1.6;transition:border-color .15s}.tib-textarea:focus{border-color:var(--green)}.tib-fb{border-radius:9px;margin-top:.65rem;padding:.65rem .85rem;font-size:.92rem;line-height:1.65;display:none}.tib-fb.loading{color:#6d28d9;background:#f3eeff;font-style:italic;display:block}.tib-fb.done{background:var(--green-bg);border-left:3px solid var(--green);color:#1b5e20;display:block}.tib-fb.error{background:var(--amber-bg);color:var(--amber);display:block}.tib-done-msg{margin-bottom:1rem}.tib-done-msg-inner{background:var(--green-bg);border:2px solid var(--green);text-align:center;border-radius:10px;padding:1.25rem}.tib-done-title{color:var(--green);margin-bottom:.3rem;font-size:1.3rem;font-weight:800}.tib-done-text{color:#1b5e20;font-size:.9rem}.rem-extras{margin-top:1.5rem}.tree-card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:.9rem;padding:1rem}.rem-card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:.9rem;padding:1rem 1.2rem}.rem-card h3{color:var(--green);margin-bottom:.28rem;font-size:.94rem;font-weight:800}.rem-card p{text-align:left;font-size:1.1rem;line-height:1.65}.queue{flex-wrap:wrap;gap:.38rem;margin-top:.45rem;display:flex}.qchip{background:var(--green-bg);color:var(--green);border-radius:999px;padding:.24rem .65rem;font-size:.76rem;font-weight:700}.brow{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.2rem;display:flex}.legal-page{background:var(--bg);flex-direction:column;min-height:100vh;font-family:Comic Sans MS,Chalkboard SE,cursive;display:flex}.legal-container{background:var(--card);border-radius:16px;max-width:800px;margin:3rem auto;padding:3rem;box-shadow:0 2px 8px #00000014}.legal-container h1{color:var(--ink);text-align:left;margin-bottom:.5rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:2.5rem;font-weight:800}.last-updated{color:var(--ink2);margin-bottom:2rem;font-size:.9rem;font-style:italic}.legal-container section{margin-bottom:2.5rem}.legal-container h2{color:var(--blue);margin-top:2rem;margin-bottom:1rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.5rem;font-weight:800}.legal-container h3{color:var(--ink);margin-top:1.5rem;margin-bottom:.75rem;font-size:1.2rem;font-weight:800}.legal-container p{color:var(--ink);text-align:left;margin-bottom:1rem;font-size:1.05rem;line-height:1.7}.legal-container ul,.legal-container ol{margin:1rem 0 1.5rem 1.5rem;padding:0}.legal-container li{color:var(--ink);margin-bottom:.5rem;font-size:1.05rem;line-height:1.7}.legal-container a{color:var(--blue);font-weight:600;text-decoration:none}.legal-container a:hover{text-decoration:underline}.legal-container strong{color:var(--ink);font-weight:800}@media (width<=768px){.legal-container{padding:2rem}.legal-container h1{font-size:2rem}.legal-container h2{font-size:1.3rem}.legal-container h3{font-size:1.1rem}.legal-container p,.legal-container li{font-size:1rem}}.pricing-page{background:var(--bg);flex-direction:column;min-height:100vh;font-family:Comic Sans MS,Chalkboard SE,cursive;display:flex}.pricing-container{max-width:1100px;margin:0 auto;padding:3rem 2rem}.pricing-title{color:var(--ink);text-align:center;margin-bottom:.5rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:3rem;font-weight:800}.pricing-subtitle{color:var(--ink2);text-align:center;margin-bottom:3rem;font-size:1.2rem}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:4rem;display:grid}.pricing-card{background:var(--card);border:2px solid var(--border);text-align:center;border-radius:16px;padding:2.5rem;position:relative}.pricing-card.pro{border-color:var(--gold);border-width:3px}.pro-badge{background:var(--gold);color:#6a4c00;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.3rem .8rem;font-size:.75rem;font-weight:800;position:absolute;top:-12px;right:20px}.pricing-card h2{color:var(--ink);margin-bottom:1.5rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.8rem}.price{color:var(--blue);margin-bottom:.5rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:3.5rem;font-weight:800}.pricing-card.pro .price{color:#6a4c00}.price span{font-size:1.5rem}.price-note{color:var(--ink2);margin-bottom:2rem;font-size:.95rem}.features-list{text-align:left;margin:2rem 0;padding:0;list-style:none}.features-list li{color:var(--ink);border-bottom:1px solid var(--border);padding:.6rem 0;font-size:1.05rem}.features-list li:last-child{border-bottom:none}.features-list li:before{content:"✓ ";color:var(--blue);margin-right:.5rem;font-weight:800}.pricing-card.pro .features-list li:before{color:var(--gold)}.btn-free,.btn-pro{text-align:center;border-radius:10px;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-block}.btn-free{background:var(--blue);color:#fff}.btn-free:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1865f24d}.btn-pro{background:var(--gold);color:#6a4c00}.btn-pro:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd16666}.comparison-section{margin:4rem 0}.comparison-section h2{color:var(--ink);text-align:center;margin-bottom:2rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:2rem}.comparison-table{background:var(--card);border:1px solid var(--border);border-collapse:collapse;border-radius:12px;width:100%;overflow:hidden}.comparison-table thead{background:var(--blue-bg)}.comparison-table th{color:var(--ink);text-align:left;padding:1rem;font-size:1.05rem;font-weight:800}.comparison-table td{border-top:1px solid var(--border);color:var(--ink);padding:1rem;font-size:1rem}.comparison-table td:first-child{font-weight:600}.comparison-table td:not(:first-child){text-align:center;font-size:1.2rem}.faq-section{margin:4rem 0}.faq-section h2{color:var(--ink);text-align:center;margin-bottom:2rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:2rem}.faq-list{gap:1.5rem;display:grid}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.faq-item h3{color:var(--ink);margin-bottom:.5rem;font-size:1.15rem;font-weight:800}.faq-item p{color:var(--ink2);font-size:1.05rem;line-height:1.6}@media (width<=768px){.pricing-title{font-size:2rem}.pricing-grid{grid-template-columns:1fr}.comparison-table{font-size:.9rem}.comparison-table th,.comparison-table td{padding:.7rem .5rem}}.tutoring-consent{background:var(--card);border:2px solid var(--border);color:var(--ink);border-radius:8px;margin:1.5rem 0;padding:1.5rem;font-family:Comic Sans MS,Chalkboard SE,cursive}.consent-header{color:var(--ink);margin-bottom:1rem;font-size:1.1rem}.consent-content{background:var(--bg);border-radius:6px;max-height:400px;margin-bottom:1rem;padding:1rem;overflow-y:auto}.consent-section{margin-bottom:1.5rem}.consent-section:last-child{margin-bottom:0}.consent-section h4{color:var(--blue);margin-bottom:.5rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1rem}.consent-section p{margin:.5rem 0;font-size:.95rem;line-height:1.6}.consent-section ul{margin:.5rem 0 .5rem 1.5rem;padding:0}.consent-section li{margin:.25rem 0;font-size:.95rem}.consent-form-fields{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.form-field{flex-direction:column;gap:.5rem;display:flex}.form-field label{color:var(--ink);font-size:.95rem;font-weight:600}.optional-indicator{color:var(--ink2);font-size:.85rem;font-weight:400}.consent-input{border:2px solid var(--border);color:var(--ink);background:#fff;border-radius:6px;padding:.75rem;font-family:Comic Sans MS,Chalkboard SE,cursive;font-size:1rem;transition:border-color .2s}.consent-input:focus{border-color:var(--blue);outline:none}.consent-checkbox-wrapper{background:var(--blue-bg);border-left:4px solid var(--blue);border-radius:6px;margin-top:1rem;padding:1rem}.consent-checkbox-label{cursor:pointer;align-items:flex-start;gap:.75rem;display:flex}.consent-checkbox{cursor:pointer;width:20px;height:20px;accent-color:var(--blue);flex-shrink:0;margin-top:.1rem}.consent-checkbox-text{flex:1;font-size:.95rem;line-height:1.5}.required-indicator{color:var(--red);font-weight:700}.consent-warning{border-left:4px solid var(--red);color:var(--red);background:#fee;border-radius:4px;margin-top:.75rem;padding:.75rem;font-size:.9rem;font-weight:700}.consent-content::-webkit-scrollbar{width:8px}.consent-content::-webkit-scrollbar-track{background:var(--border);border-radius:4px}.consent-content::-webkit-scrollbar-thumb{background:var(--ink2);border-radius:4px}.consent-content::-webkit-scrollbar-thumb:hover{background:var(--ink)}@media (width<=768px){.tutoring-consent{padding:1rem}.consent-content{max-height:300px;padding:.75rem}.consent-section h4{font-size:.95rem}.consent-section p,.consent-section li,.consent-checkbox-text{font-size:.9rem}}.tutoring-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.tutoring-page .page-content{flex:1;max-width:1200px;margin:0 auto;padding:2rem}.tutoring-page .page-header{margin-bottom:2rem}.tutoring-page .page-subtitle{color:var(--ink2);margin-top:.5rem;font-size:1.1rem;line-height:1.6}.consent-card{margin-bottom:2rem}.consent-card h2{color:var(--purple);margin-bottom:1rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif}.btn-show-consent{background:var(--purple);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem;font-family:Comic Sans MS,cursive;font-size:1rem;transition:background .2s}.btn-show-consent:hover{background:#6b2fcc}.consent-confirmed{background:var(--green-bg);border-left:4px solid var(--green);border-radius:8px;align-items:center;gap:.75rem;padding:1rem;display:flex}.consent-checkmark{color:var(--green);font-size:1.5rem;font-weight:700}.consent-confirmed a{color:var(--blue);text-decoration:underline}.curriculum-browser{margin:2rem 0}.curriculum-browser h2{color:var(--ink);margin-bottom:.5rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.8rem}.curriculum-intro{color:var(--ink2);margin-bottom:1.5rem;font-size:1rem}.grade-section{border:2px solid var(--border);background:var(--card);border-radius:8px;margin-bottom:1rem;overflow:hidden}.grade-header{cursor:pointer;background:var(--card);align-items:center;gap:.75rem;padding:1rem 1.5rem;transition:background .2s;display:flex}.grade-header:hover{background:var(--blue-bg)}.grade-header h3{color:var(--blue);flex:1;margin:0;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.3rem}.module-count{color:var(--ink2);background:var(--bg);border-radius:12px;padding:.25rem .75rem;font-size:.9rem}.caret{color:var(--ink2);text-align:center;width:20px;font-size:1.2rem;transition:transform .2s;display:inline-block}.caret.expanded{transform:rotate(90deg)}.grade-content{padding:0 1rem 1rem}.module-section{border-left:3px solid var(--blue);background:var(--bg);border-radius:6px;margin:.75rem 0}.module-header{align-items:flex-start;gap:.75rem;padding:1rem;transition:background .2s;display:flex}.module-header:hover{background:var(--blue-bg)}.module-info{flex:1}.module-header h4{color:var(--ink);margin:0 0 .25rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.1rem}.module-description{color:var(--ink2);margin:0;font-size:.9rem;line-height:1.4}.module-content{padding:0 1rem 1rem 2.5rem}.subtopic-card{border:1px solid var(--border);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0;padding:1rem;transition:all .2s;display:flex}.subtopic-card:hover{border-color:var(--blue);box-shadow:0 2px 8px #1865f21a}.subtopic-info{flex:1}.subtopic-card h5{color:var(--ink);margin:0 0 .25rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1rem}.subtopic-description{color:var(--ink2);margin:0;font-size:.85rem}.subtopic-actions{align-items:center;gap:.75rem;display:flex}.duration-badge{color:var(--purple);white-space:nowrap;background:#f3e8ff;border-radius:12px;padding:.4rem .75rem;font-size:.85rem;font-weight:700}.btn-book{background:var(--blue);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.6rem 1.25rem;font-family:Comic Sans MS,cursive;font-size:.95rem;transition:background .2s}.btn-book:hover{background:#1454c9}.tutoring-info{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;display:grid}.tutoring-info h3{margin-bottom:1rem;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:1.2rem}.tutoring-info ol,.tutoring-info ul{margin:0;padding-left:1.5rem}.tutoring-info li{margin:.5rem 0;line-height:1.6}@media (width<=768px){.tutoring-page .page-content{padding:1rem}.grade-header{padding:.75rem 1rem}.grade-header h3{font-size:1.1rem}.module-header{padding:.75rem}.module-header h4{font-size:1rem}.module-content{padding:0 .5rem .75rem 1.5rem}.subtopic-card{flex-direction:column;align-items:flex-start;padding:.75rem}.subtopic-actions{justify-content:space-between;width:100%}.tutoring-info{grid-template-columns:1fr}}@media (width<=480px){.curriculum-browser h2{font-size:1.5rem}.grade-header h3{font-size:1rem}.module-count{padding:.2rem .5rem;font-size:.8rem}.btn-book,.btn-show-consent{text-align:center;width:100%}}
