:root{color:#252336;font-synthesis:none;--purple:#6351a5;--dark:#443473;--muted:#686577;--border:#e6e5ec;--green:#28705d;background:#f7f7fa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #9670db}h1:focus,main:focus{outline:none}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em}h2{margin-bottom:.8rem;font-size:1.25rem;line-height:1.3}p{color:var(--muted)}svg{flex-shrink:0}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--border);z-index:5;background:#fff;flex-direction:column;width:244px;padding:35px 22px 25px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{letter-spacing:-.04em;align-items:center;gap:12px;padding:0 6px;font-size:1.2rem;font-weight:750;display:flex}.brand small{letter-spacing:.025em;color:var(--muted);margin-top:3px;font-size:.68rem;font-weight:500;display:block}.brand-mark{background:var(--purple);border-radius:13px;justify-content:center;align-items:center;gap:3px;width:38px;height:42px;display:flex}.brand-mark span{background:#fff;border-radius:3px;width:4px;height:13px}.brand-mark span:nth-child(2){height:23px}.brand-mark span:last-child{height:17px}.sidebar nav{gap:8px;margin-top:51px;display:grid}nav a{color:var(--muted);border-radius:10px;align-items:center;gap:13px;min-height:49px;padding:12px 17px;font-size:.9rem;font-weight:550;display:flex}nav a:hover{background:#f8f6fc}nav a[aria-current=page]{color:var(--dark);background:#f0ebfa}.nav-count{background:#fff;border-radius:5px;margin-left:auto;padding:1px 6px;font-size:.7rem}.sidebar-foot{border-top:1px solid var(--border);margin-top:auto;padding:25px 12px 0;font-size:.75rem}.sidebar-foot svg{color:var(--purple);margin-bottom:11px}.sidebar-foot strong{font-weight:650;display:block}.sidebar-foot p{margin:8px 0 22px;line-height:1.65}.sidebar-foot>span{color:#898594;font-size:.7rem}.workspace{margin-left:244px}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:80px;padding:0 48px;display:flex}.desktop-context{color:var(--muted);font-size:.85rem}.offline-pill{border:1px solid var(--border);color:var(--muted);background:#fafafa;border-radius:30px;align-items:center;gap:8px;padding:7px 11px;font-size:.72rem;display:flex}.status-dot{background:#9b8761;border-radius:50%;width:6px;height:6px}.offline-pill.ready{color:#28614f;background:#f4faf7;border-color:#deeee4}.ready .status-dot{background:#378465}.main{max-width:1190px;margin:0 auto;padding:45px 48px 30px}.eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--purple);margin:0 0 12px;font-size:.65rem;font-weight:750}.page-heading{margin-bottom:28px}.page-heading h1{white-space:pre-line;margin:0 0 15px;font-size:2.5rem;font-weight:650;line-height:1.16}.page-heading p{max-width:560px;margin:0;font-size:.9rem;line-height:1.7}.home-grid{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:22px;display:grid}.card{border:1px solid var(--border);background:#fff;border-radius:16px;margin-bottom:22px;padding:27px}.demo-hero{background:#eeebf6;border:1px solid #e2dced;border-radius:16px;min-height:290px;padding:31px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:1;max-width:330px}.tag{color:var(--dark);letter-spacing:.055em;background:#ffffffa8;border:1px solid #ded5ed;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:.58rem;font-weight:750;display:inline-flex}.tag.neutral{border-color:var(--border);color:var(--muted);background:#f5f5f8}.hero-copy h2{max-width:240px;margin-top:22px;font-size:1.6rem}.hero-copy p{color:#615871;max-width:260px;font-size:.85rem;line-height:1.7}.meta{color:#6a627a;flex-wrap:wrap;align-items:center;gap:18px;margin:20px 0;font-size:.72rem;display:flex}.meta span{align-items:center;gap:5px;display:flex}.primary,.secondary,.danger,.danger-outline{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:13px;min-height:46px;padding:12px 18px;font-size:.8rem;font-weight:650;display:inline-flex}.primary{background:var(--purple);color:#fff;box-shadow:0 3px 5px #4f367a12}.primary:hover:enabled{background:#51418e}.secondary{color:var(--dark);background:#fff;border-color:#d7d3e1}.secondary:hover:enabled{background:#f5f2fb}.danger{color:#fff;background:#a33643}.danger-outline{color:#9d3440;background:#fff;border-color:#e8cbd0}.shapes{justify-content:center;align-items:center;gap:23px;min-height:150px;padding:35px 20px;display:flex}.shape{flex-shrink:0;display:block}.shape-circle{border:15px solid #9a89bf;border-radius:50%;width:60px;height:60px}.shape-square{background:#b6aec9;border-radius:10px;width:58px;height:58px;transform:rotate(13deg)}.shape-triangle{border-bottom:64px solid #6c599e;border-left:36px solid #0000;border-right:36px solid #0000;width:0;height:0;transform:rotate(-9deg)}.demo-hero>.shapes{opacity:.55;grid-template-columns:70px 70px;gap:32px;display:grid;position:absolute;bottom:12px;right:-28px;transform:rotate(-17deg)}.demo-hero>.shapes .shape-circle,.demo-hero>.shapes .shape-square{grid-column:2}.compact{min-height:120px;padding:20px}.compact .shape-circle{border-width:12px;width:48px;height:48px}.compact .shape-square{width:48px;height:48px}.compact .shape-triangle{border-bottom-width:50px;border-left-width:28px;border-right-width:28px}.icon-tile{width:48px;height:48px;color:var(--green);background:#eff5f2;border-radius:13px;justify-content:center;align-items:center;margin-bottom:19px;display:inline-flex}.icon-tile.subtle{color:var(--purple);background:#ebe7f3;flex-shrink:0;margin:0}.local-card{margin:0;padding:27px}.local-card h2{font-size:1rem}.local-card p{font-size:.78rem;line-height:1.65}.divider{background:var(--border);height:1px;margin:20px 0}.tiny-label{color:var(--muted);font-size:.7rem;font-weight:550}.local-state{margin:6px 0 12px;font-size:.75rem;font-weight:600;display:block}.text-link{color:var(--purple);align-items:center;gap:8px;min-height:30px;font-size:.75rem;font-weight:600;display:inline-flex}.activity-card{margin-top:24px}.section-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.section-line h2{margin-bottom:0;font-size:1rem}.metric-row{grid-template-columns:repeat(3,1fr);margin:24px 0 5px;display:grid}.metric-row>div{border-left:1px solid var(--border);padding:0 22px}.metric-row>div:first-child{border:none;padding-left:0}.metric-label{color:var(--muted);font-size:.72rem;display:block}.metric-row strong{letter-spacing:-.04em;margin-top:7px;font-size:2rem;font-weight:600;line-height:1.3;display:block}.muted{color:var(--muted)}.small{font-size:.73rem}.activity-card>.small{margin:17px 0 0}.next-section{gap:19px;margin-top:33px;padding:0 2px;display:flex}.next-section .eyebrow{font-size:.6rem}.next-section h2{margin:7px 0;font-size:1.05rem}.next-section p{max-width:600px;font-size:.8rem;line-height:1.7}.page-footer{color:#777282;border-top:1px solid var(--border);margin:42px 0 8px;padding-top:21px;font-size:.66rem;line-height:1.65}.page-footer p{margin:6px 0 0;font-size:.64rem}.test-dot{background:#a398b7;border-radius:2px;width:6px;height:6px;margin-right:7px;display:inline-block}.module-card{grid-template-columns:210px 1fr;padding:0;display:grid;overflow:hidden}.module-art{background:#eeebf6;justify-content:center;align-items:center;display:flex}.module-art .shapes{flex-wrap:wrap;gap:15px;max-width:170px}.module-copy{padding:28px}.module-copy h2{margin-top:19px}.module-copy p{font-size:.85rem}.availability{color:var(--green);align-items:center;gap:5px;font-size:.72rem;display:inline-flex}.actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.future-card{background:0 0;border-style:dashed;align-items:center;gap:23px;display:flex}.future-card svg{color:var(--purple)}.future-card h2{margin:5px 0 8px}.future-card p{max-width:550px;margin:0;font-size:.8rem}.lesson-card,.question-card,.intro-card{max-width:690px;margin-left:auto;margin-right:auto}.lesson-card>.shapes,.intro-card>.shapes{background:#f5f2fa;border-radius:12px}.lesson-body{color:#4e485d;margin:25px 0;font-size:1rem;line-height:1.9}.intro-card{text-align:center}.intro-card h2{margin-top:24px}.intro-card p{max-width:450px;margin:15px auto 25px;font-size:.88rem}.question-card{padding:30px 34px}.question-card .eyebrow{margin:0}.question-card>.shapes{background:#f8f6fb;border-radius:10px;margin:20px 0}.question-card h2{margin:25px 0 17px;font-size:1.35rem}.choices{gap:12px;display:grid}.choice{cursor:pointer;border:1px solid #dcd9e5;border-radius:10px;align-items:center;gap:13px;min-height:62px;padding:12px 15px;font-size:.9rem;display:flex;position:relative}.choice.selected{border:2px solid var(--purple);background:#f3effb;padding:11px 14px}.choice:hover{background:#f9f7fc}.choice input{opacity:0;width:1px;height:1px;position:absolute}.choice:has(input:focus-visible){outline-offset:3px;outline:3px solid #9670db}.choice-letter{color:#716780;background:#f1eff5;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;display:flex}.radio-decoration{background:#fff;border:1px solid #c7c0d4;border-radius:50%;width:17px;height:17px;margin-left:auto}.selected .radio-decoration{border:5px solid var(--purple)}fieldset{border:0;margin:0;padding:0}legend{color:var(--muted);margin-bottom:13px;padding:0;font-size:.75rem}fieldset:disabled .choice{cursor:default}.check-button{width:100%;margin-top:22px}.feedback{border:1px solid;border-radius:11px;margin-top:22px;padding:20px}.feedback.correct{color:#226249;background:#eff8f3;border-color:#cee7d9}.feedback.incorrect{color:#835124;background:#fcf3ed;border-color:#e9d7c8}.feedback strong{font-size:.95rem}.feedback p{color:inherit;margin:10px 0;font-size:.85rem;line-height:1.7}.feedback small{align-items:center;gap:6px;font-size:.68rem;display:flex}.stats-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.stat-card{position:relative}.stat-card>strong{letter-spacing:-.045em;margin:8px 0;font-size:2.8rem;font-weight:600;display:block}.stat-card p{max-width:300px;min-height:42px;font-size:.82rem}.fraction{color:var(--muted);font-size:.75rem}.stat-card.purple{background:#f0edf8}.stat-card progress{appearance:none;background:#dcd7e8;border:0;border-radius:5px;width:100%;height:6px;margin:18px 0 9px;display:block}.stat-card progress::-webkit-progress-bar{background:#ded8ea;border-radius:5px}.stat-card progress::-webkit-progress-value{background:var(--purple);border-radius:5px}.stat-card progress::-moz-progress-bar{background:var(--purple);border-radius:5px}.settings-stack{max-width:760px}.settings-stack p{font-size:.85rem;line-height:1.8}.install-instructions{border-top:1px solid var(--border);margin-top:24px;padding-top:12px}.install-instructions p{font-size:.77rem}.alert{border:1px solid;border-radius:10px;padding:16px 20px;font-size:.8rem}.alert.error{color:#963746;background:#fff0f1;border-color:#ecc9ce}.alert.success{color:#226249;background:#eff8f3;border-color:#cfe6d8}.boot{text-align:center;padding:60px 25px}.boot h1{font-size:1.3rem}.bottom-navigation,.mobile-brand{display:none}.skip-link{z-index:100;border:2px solid var(--purple);background:#fff;padding:15px;position:fixed;top:-70px;left:15px}.skip-link:focus{top:15px}dialog{border:1px solid var(--border);border-radius:18px;width:calc(100% - 32px);max-width:460px;padding:30px;box-shadow:0 25px 80px #29203b30}dialog::backdrop{background:#221a3e77}dialog h2{font-size:1.3rem}dialog p{font-size:.9rem}@media (width>=1450px){.main{padding-top:55px}.demo-hero{min-height:320px}.hero-copy{max-width:350px}.hero-copy p{max-width:300px}.demo-hero>.shapes{opacity:.65;bottom:25px;right:10px}}@media (width<=1100px){.sidebar{width:210px;padding-left:14px;padding-right:14px}.workspace{margin-left:210px}.main{padding:34px 28px}.topbar{padding:0 28px}.home-grid{grid-template-columns:1fr}.local-card{display:none}.demo-hero>.shapes{opacity:.7;bottom:12px;right:20px}.hero-copy{max-width:70%}.hero-copy p{max-width:360px}.module-card{grid-template-columns:170px 1fr}}@media (width<=700px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:68px;padding:env(safe-area-inset-top) 21px 0}.mobile-brand{letter-spacing:-.04em;font-size:1.02rem;font-weight:750;display:block}.desktop-context{display:none}.offline-pill{gap:5px;max-width:190px;padding:6px 8px;font-size:.59rem}.main{padding:29px 21px 100px}.page-heading h1{font-size:2.1rem}.page-heading p{font-size:.85rem}.page-heading{margin-bottom:24px}.eyebrow{font-size:.58rem}.demo-hero{min-height:290px;padding:25px}.hero-copy{max-width:95%}.hero-copy p{max-width:250px}.hero-copy h2{max-width:220px;font-size:1.45rem}.demo-hero>.shapes{opacity:.2;bottom:10px;right:-35px}.demo-hero .primary{margin-top:5px}.card{border-radius:14px;padding:23px}.activity-card{margin-top:20px}.metric-row>div{padding:0 11px}.metric-label{font-size:.63rem}.metric-row strong{font-size:1.8rem}.section-line{gap:10px}.section-line h2{font-size:.93rem}.text-link{font-size:.67rem}.next-section{gap:13px}.next-section h2{font-size:1rem}.next-section p{font-size:.78rem}.icon-tile.subtle{border-radius:11px;width:39px;height:39px}.module-card{padding:0;display:block}.module-art{height:140px}.module-art .shapes{max-width:none}.module-copy{padding:24px}.future-card{gap:13px;padding:23px 17px}.future-card p{font-size:.76rem}.question-card{padding:22px}.question-card h2{font-size:1.2rem}.question-card .tag{font-size:.5rem}.question-card .section-line{gap:8px}.choices{gap:10px}.choice{min-height:60px}.shapes{gap:20px}.stats-grid{gap:14px}.stat-card{padding:20px 17px}.stat-card>strong{font-size:2.15rem}.stat-card p{min-height:72px;font-size:.73rem}.stat-card .tiny-label{font-size:.65rem}.actions>.primary,.actions>.secondary{flex-grow:1}.bottom-navigation{border-top:1px solid var(--border);padding:5px 10px max(8px,env(safe-area-inset-bottom));z-index:6;background:#fff;display:block;position:fixed;bottom:0;left:0;right:0}.bottom-navigation nav{grid-template-columns:repeat(5,1fr);display:grid}.bottom-navigation nav a{border-radius:9px;flex-direction:column;align-items:center;gap:5px;min-height:53px;padding:7px 2px;font-size:.58rem;display:flex}.nav-count{display:none}.bottom-navigation nav a[aria-current=page]{background:#f1edf8}.page-footer{margin-top:30px;font-size:.62rem}.page-footer p{font-size:.61rem}.lesson-body{font-size:.92rem}.settings-stack p{font-size:.82rem}}@media (prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,color .15s}.card,.demo-hero{animation:.3s ease-out appear}@keyframes appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
