:root{color-scheme:light;--bg: #f5f4ed;--ink: #292d28;--muted: #62685c;--purple: #69529f;--purple-hover: #594389;--lav: #e5dcf7;--green: #dbe9cd;--green-dark: #315e48;--orange: #ffbb95;--line: #dedfd6;--paper: #fff;--soft: #eeece4;--diagram: #f4f0fa;--angle-a: #69529f;--angle-b: #315e48;--angle-c: #a14d1d;--button-ink: #fff;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{color-scheme:dark;--bg: #20231f;--ink: #f4f3ec;--muted: #b9bcb0;--purple: #c4acef;--purple-hover: #d2bff3;--lav: #40354e;--green: #304737;--green-dark: #b4d5bb;--orange: #563c2e;--line: #43483d;--paper: #292e27;--soft: #30352c;--diagram: #33303b;--angle-a: #c4acef;--angle-b: #add3b5;--angle-c: #efac80;--button-ink: #20231f}:root[data-palette=teal]{--purple: #356b5b;--purple-hover: #285747;--lav: #e0ece5;--green: #e0ece5;--green-dark: #356b5b;--diagram: #edf3ee;--angle-a: #356b5b;--angle-b: #426b91}:root[data-palette=blue]{--purple: #426b91;--purple-hover: #335777;--lav: #e3edf6;--green: #e3edf6;--green-dark: #426b91;--diagram: #eef3f8;--angle-a: #426b91}:root[data-theme=dark][data-palette=teal]{--purple: #9bd1ba;--purple-hover: #b2ddca;--lav: #2e463c;--green: #2e463c;--green-dark: #9bd1ba;--diagram: #293b32;--angle-a: #9bd1ba;--angle-b: #a9c8e7}:root[data-theme=dark][data-palette=blue]{--purple: #a9c8e7;--purple-hover: #c0d8ee;--lav: #304151;--green: #304151;--green-dark: #a9c8e7;--diagram: #2b3744;--angle-a: #a9c8e7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.65}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--purple);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.5}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}[hidden]{display:none!important}.section-container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;z-index:20;background:var(--paper);padding:12px 20px;border-radius:12px}.skip-link:focus{top:12px}.site-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:27px;font-weight:700;letter-spacing:-.9px}.brand img{border-radius:11px}.site-header nav{display:flex;gap:28px;font-size:14px;color:var(--muted)}.site-header nav a:hover,.login-link:hover{color:var(--purple)}.header-actions{display:flex;align-items:center;gap:19px}.theme-toggle{background:none;border:0;width:38px;height:38px;display:grid;place-items:center;border-radius:50%}.theme-toggle:hover{background:var(--soft)}.login-link{font-size:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:17px;min-height:52px;padding:12px 25px;font-weight:600;font-size:15px;border-radius:999px;border:1px solid transparent;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--purple);color:var(--button-ink)}.button-primary:hover{background:var(--purple-hover)}.button-secondary{border-color:var(--line);background:transparent}.button-secondary:hover{background:var(--paper)}.header-actions .button{min-height:42px;padding:9px 21px;font-size:14px}.palette-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;flex-shrink:0;border:1px solid var(--line);border-radius:99px;padding:8px 10px;color:var(--muted);background:transparent;font-size:12px;transition:background .16s,border-color .16s,color .16s}.palette-trigger:hover,.palette-trigger[data-state=open]{color:var(--purple);background:var(--lav);border-color:var(--purple)}.palette-trigger:active{background:var(--soft)}.palette-trigger:focus-visible{outline-width:2px;outline-offset:3px}.palette-chevron{color:var(--muted);transition:transform .16s}.palette-trigger[data-state=open] .palette-chevron{transform:rotate(180deg);color:var(--purple)}.palette-menu{z-index:30;width:172px;max-width:calc(100vw - 24px);padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 12px 34px -12px #16212b35;transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.palette-menu-label{padding:6px 10px 8px;color:var(--muted);font-size:11px}.palette-menu-item{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 10px;border-radius:10px;outline:none;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.palette-menu-item[data-state=checked]{background:var(--lav);color:var(--purple)}.palette-menu-item[data-highlighted]{background:var(--soft);box-shadow:inset 0 0 0 1px var(--line)}.palette-menu-item[data-state=checked][data-highlighted]{background:var(--lav);box-shadow:inset 0 0 0 1px var(--purple)}.palette-menu-item .palette-swatch{width:12px;height:12px}.palette-menu-check{display:inline-flex;margin-left:auto;color:var(--purple)}.palette-swatch{width:10px;height:10px;border-radius:50%}.swatch-original{background:#69529f}.swatch-teal{background:#356b5b}.swatch-blue{background:#426b91}.hero{padding-top:50px;padding-bottom:45px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:65px;align-items:center}.eyebrow{font-size:13px;font-weight:600;color:var(--green-dark);display:inline-block;margin-bottom:23px}h1{font-size:clamp(35px,3.75vw,54px);line-height:1.38;font-weight:650;letter-spacing:-1.8px;white-space:pre-line}.hero-description{max-width:420px;color:var(--muted);font-size:17px;margin-top:24px;line-height:1.85}.hero-actions{display:flex;gap:13px;margin-top:32px}.credit-note{font-size:12px;color:var(--muted);margin-top:16px;max-width:370px}.hero-audience{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:42px;font-size:13px;color:var(--muted)}.hero-audience svg{color:var(--green-dark)}.hero-preview{border:1px solid var(--line);background:var(--paper);border-radius:30px;padding:26px 28px 22px;transform:rotate(1.5deg);box-shadow:0 18px 50px -38px #292d2860}.preview-heading{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.preview-heading svg{color:var(--purple)}.preview-label{margin-left:auto;font-size:10px;padding:3px 8px;border-radius:99px;background:var(--soft)}.hero-preview h2{font-size:20px;font-weight:600;margin-top:24px}.fraction-bars{display:block;width:100%;max-width:460px;margin:16px auto 24px;overflow:visible}.fraction-bars.compact{max-width:400px;margin:18px auto}.fraction-bars text{fill:var(--ink);font-size:15px;font-weight:600}.math-paper{fill:var(--paper)}.fraction-fill{fill:var(--lav)}.division-line{stroke:var(--purple);stroke-width:1.5}.hero-area{display:block;width:100%;max-width:400px;margin:6px auto 18px;overflow:visible}.hero-area text{fill:var(--muted);font-size:13px}.hero-area .area-equation{fill:var(--purple);font-size:16px;font-weight:600}.area-moving{transform-box:view-box;transition:transform .9s cubic-bezier(.22,.61,.36,1),opacity .35s ease}.area-triangle{fill:var(--lav);stroke:var(--purple);stroke-width:1.5;stroke-linejoin:round}.area-second{fill:var(--paper)}.area-dimensions{transition:opacity .25s ease}.area-height,.area-measure{fill:none;stroke:var(--purple);stroke-width:1}.area-height{stroke-dasharray:4 4}.bar-outline{stroke:var(--purple);stroke-width:1.5}.hero-options,.fraction-options{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.hero-options button,.fraction-options button{border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:9px 14px;font-size:12px;min-height:40px}.hero-options button[aria-pressed=true],.fraction-options button[aria-pressed=true]{color:var(--purple);background:var(--lav);border-color:var(--purple)}.hero-options button:hover,.fraction-options button:hover{border-color:var(--purple)}.preview-answer{display:flex;align-items:flex-start;gap:12px;background:var(--bg);border-radius:16px;padding:15px;margin-top:22px;font-size:12px}.preview-answer span{color:var(--purple);font-weight:700}.preview-answer p{color:var(--muted)}.hero-animation .preview-answer{min-height:88px}.hero-playback{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:10px;color:var(--muted)}.hero-playback-toggle{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:7px 3px;border-radius:6px;font-size:10px;color:var(--muted)}.hero-playback-toggle:hover:not(:disabled){color:var(--purple)}.hero-animation .hero-options button{position:relative;overflow:hidden}.demo-section{padding-top:62px;padding-bottom:86px}.section-intro{max-width:750px;margin-bottom:30px}.section-intro .eyebrow{margin-bottom:14px}h2{font-size:clamp(25px,2.7vw,36px);line-height:1.45;letter-spacing:-.9px;font-weight:600}.section-intro p{font-size:15px;color:var(--muted);margin-top:16px}.demo-shell{border:1px solid var(--line);border-radius:32px;background:var(--paper);padding:23px}.demo-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.demo-tabs{display:flex;padding:4px;background:var(--soft);border-radius:99px;gap:3px}.demo-tabs button{border:0;padding:10px 25px;border-radius:99px;color:var(--muted);background:transparent;font-size:14px}.demo-tabs button[aria-selected=true]{background:var(--paper);color:var(--ink);box-shadow:0 2px 6px #00000008}.demo-label{font-size:12px;color:var(--muted);padding-right:8px}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.lesson-visual{background:var(--diagram);border-radius:21px;padding:30px 25px;min-height:380px;text-align:center;display:flex;flex-direction:column;justify-content:center}.small-label{color:var(--muted);font-size:12px}.diagram-hint{color:var(--muted);font-size:12px;margin-top:13px}.equation{font-size:28px;font-weight:600;letter-spacing:1px;color:var(--purple);margin-top:23px;font-variant-numeric:tabular-nums}.lesson-copy{padding:26px 22px 18px 0;display:flex;flex-direction:column;align-items:flex-start}.lesson-copy h3{font-size:24px;line-height:1.6;font-weight:600;margin-top:10px}.teacher-note{background:var(--bg);border-radius:18px;padding:20px 23px;margin-top:25px;width:100%;min-height:140px}.teacher-name{color:var(--purple);font-size:13px;font-weight:700}.teacher-note p{margin-top:8px;font-size:15px;line-height:1.9}.thinking-note{color:var(--muted);font-size:12px;margin-top:14px}.lesson-footer{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:15px;width:100%;margin-top:auto;padding-top:26px}.step-count{font-size:12px;color:var(--muted);margin-right:auto}.lesson-next{font-size:13px;padding:10px 19px;min-height:44px;background:var(--green);color:var(--green-dark)}.lesson-next:hover{background:var(--lav);color:var(--purple)}.reset{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;padding:6px 0;font-size:12px;color:var(--muted)}.demo-caption{color:var(--muted);font-size:12px;text-align:center;margin-top:17px}.triangle-visual{padding:15px 25px 20px}.triangle-canvas{width:100%;max-width:410px;margin:0 auto;touch-action:none;overflow:visible}.triangle-canvas text{fill:var(--ink);font-size:15px;font-weight:600}.triangle-outline{fill:var(--paper);stroke:var(--purple);stroke-width:2;stroke-linejoin:round}.angle-a{fill:var(--angle-a);opacity:.55}.angle-b{fill:var(--angle-b);opacity:.5}.angle-c{fill:var(--angle-c);opacity:.55}.parallel-line{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:6 5}.apex-handle{cursor:grab}.apex-handle:active{cursor:grabbing}.apex-handle:focus-visible{outline:none}.apex-handle:focus-visible .apex-dot{stroke-width:5px;stroke:var(--green-dark)}.apex-dot{fill:var(--purple);stroke:var(--paper);stroke-width:3}.parallel-caption{font-size:12px;color:var(--muted);margin-top:0}.triangle-sliders{display:flex;gap:15px;margin:12px auto 0;width:100%;max-width:355px}.triangle-sliders label{flex:1;min-width:0;text-align:left}.triangle-sliders label span{font-size:10px;color:var(--muted)}.triangle-sliders input{display:block;width:100%;accent-color:var(--purple);min-height:28px;cursor:pointer}.angle-equation{font-size:clamp(19px,2.3vw,27px);font-variant-numeric:tabular-nums;font-weight:600;margin-top:13px}.angle-text-a{color:var(--angle-a)}.angle-text-b{color:var(--angle-b)}.angle-text-c{color:var(--angle-c)}.rounding-note{font-size:10px;color:var(--muted);margin-top:9px}.features-section{padding-top:12px;padding-bottom:90px}.features-section h2{max-width:580px;margin-bottom:35px}.feature-row{display:grid;grid-template-columns:70px 1fr 1.2fr;align-items:center;gap:30px;padding:30px 0;border-top:1px solid var(--line)}.feature-row:last-child{border-bottom:1px solid var(--line)}.feature-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:19px;background:var(--lav);color:var(--purple)}.feature-follow .feature-icon{background:var(--green);color:var(--green-dark)}.feature-review .feature-icon{background:var(--orange);color:var(--angle-c)}.feature-row h3{font-size:21px;font-weight:600}.feature-row p{font-size:14px;color:var(--muted);line-height:1.9;max-width:445px}.faq-section{display:grid;grid-template-columns:1fr 1.65fr;gap:80px;padding-top:20px;padding-bottom:100px}.faq-section h2{padding-top:12px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:15px;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{width:16px;height:16px;flex-shrink:0;position:relative}.faq-plus:before,.faq-plus:after{content:"";position:absolute;background:var(--muted);top:7px;left:1px;width:14px;height:1.5px}.faq-plus:after{transform:rotate(90deg);transition:transform .18s}details[open] .faq-plus:after{transform:rotate(0)}.faq-list details p{font-size:14px;color:var(--muted);padding:0 30px 23px 0;line-height:1.9}.closing{background:var(--green);border-radius:32px;padding:44px 50px;display:flex;align-items:center;justify-content:space-between;gap:50px}.closing h2{white-space:pre-line;font-size:33px}.closing>div>p{margin-top:16px;color:var(--green-dark);font-size:14px;max-width:420px}.closing-action{max-width:290px}.closing .closing-action p{font-size:12px}.site-footer{padding-top:54px;padding-bottom:36px;display:flex;justify-content:space-between;align-items:center;gap:30px}.site-footer .brand{font-size:24px}.site-footer img{width:31px;height:31px}.site-footer p{font-size:12px;color:var(--muted);margin-top:9px}.platform-links{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:15px}.platform-links a{display:inline-flex;align-items:center;gap:4px}@media(prefers-reduced-motion:no-preference){.hero-changing-label,.hero-step-copy{animation:hero-label-in .28s ease both}@keyframes hero-label-in{0%{opacity:.3;translate:0 3px}to{opacity:1;translate:0 0}}.hero-animation[data-running=true] .hero-options button[aria-pressed=true]:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--purple);opacity:.4;transform-origin:left;animation:hero-progress 3.5s linear infinite}@keyframes hero-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.palette-menu[data-state=open]{animation:palette-open .14s ease-out}@keyframes palette-open{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.hero-copy,.hero-preview{animation:enter .5s ease both}.hero-preview{animation-delay:.1s}@keyframes enter{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}}@media(max-width:1050px){.section-container{width:calc(100% - 48px)}.site-header nav{gap:17px}.hero{gap:35px;padding-top:35px}h1{font-size:38px;letter-spacing:-1px}.hero-preview{padding:24px 20px}.lesson-grid{gap:24px}.lesson-copy{padding-right:0}.feature-row{gap:20px;grid-template-columns:62px 1fr 1.05fr}.faq-section{gap:40px}}@media(max-width:760px){.section-container{width:calc(100% - 36px)}.site-header{min-height:82px;gap:16px}.site-header nav,.login-link{display:none}.header-actions{gap:6px}.brand{font-size:24px}.brand img{width:33px;height:33px}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:15px;row-gap:36px}.hero-copy{max-width:530px}h1{font-size:clamp(31px,6vw,43px);line-height:1.42}.hero-description{font-size:16px;margin-top:19px}.hero-actions{margin-top:24px}.hero-preview{transform:none;max-width:530px;width:100%;justify-self:center}.hero-audience{margin-top:0;font-size:12px;align-items:flex-start;text-align:left}.hero-audience svg{margin-top:3px}.demo-section{padding-top:50px;padding-bottom:65px}.demo-shell{padding:14px;border-radius:25px}.demo-tabs button{padding:9px 17px;font-size:13px}.demo-label{font-size:10px}.lesson-grid{grid-template-columns:1fr;gap:9px}.lesson-visual{padding:25px 14px;min-height:330px}.lesson-copy{padding:20px 8px 12px}.lesson-copy h3{font-size:22px}.teacher-note{margin-top:19px;min-height:128px;padding:19px}.lesson-footer{padding-top:22px}.triangle-visual{padding:10px 14px 20px}.features-section{padding-bottom:65px}.features-section h2{margin-bottom:24px}.feature-row{grid-template-columns:48px 1fr;column-gap:17px;row-gap:8px;padding:25px 0;align-items:start}.feature-icon{width:46px;height:46px;border-radius:15px;grid-row:span 2}.feature-icon svg{width:23px}.feature-row h3{font-size:18px}.feature-row p{grid-column:2;font-size:13px}.faq-section{grid-template-columns:1fr;gap:27px;padding-top:0;padding-bottom:60px}.closing{flex-direction:column;align-items:flex-start;padding:31px 25px;border-radius:25px;gap:26px}.closing h2{font-size:28px}.closing-action{max-width:100%}.site-footer{padding-top:35px;align-items:flex-start;flex-direction:column;gap:22px}}@media(max-width:360px){.section-container{width:calc(100% - 28px)}.site-header{gap:8px}.site-header .brand{font-size:22px;gap:8px}.site-header .brand img{width:30px;height:30px}.header-actions{gap:4px}.header-actions .button{font-size:12px;padding-inline:12px}.theme-toggle{width:32px}.palette-trigger{gap:5px;padding-inline:8px}.palette-trigger>.palette-swatch{display:none}.hero-actions{gap:8px}.button{padding-inline:18px;gap:10px}.demo-label{display:none}.demo-tabs{width:100%}.demo-tabs button{flex:1}.fraction-options{gap:5px}.fraction-options button{padding-inline:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
