@font-face{font-family:Jakarta;src:url('assets/jakarta.ttf') format('truetype');font-weight:200 800;font-display:swap}
/* Native CSS consumer landing. Brand font and leaf retained. Dials: variance 7, motion 4, density 3. Cards 24px, controls 16px; header layer 10. */
:root{color-scheme:light dark;--canvas:#fafbf8;--surface:#fff;--ink:#20352e;--muted:#52665e;--accent:#176b62;--on-accent:#fff;--line:#d8e1da;--mint:#eaf1e9;--puzzle:#e6eee5;--math:#f1eff7;--focus:#775ccc;--shadow:rgba(29,73,54,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--canvas);color:var(--ink);font:400 16px/1.65 Jakarta,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}h1,h2,h3{font-weight:600}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}a,button{touch-action:manipulation}.wrap{max-width:1280px;width:calc(100% - 96px);margin-inline:auto}.skip-link{position:absolute;top:-90px;left:16px;padding:12px 20px;background:var(--accent);color:var(--on-accent);z-index:20}.skip-link:focus{top:12px}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px}.brand span{font-size:27px;letter-spacing:-1.5px;font-weight:700}.brand img{object-fit:contain}nav{display:flex;align-items:center;gap:34px}nav a,.site-footer a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:500}nav a:hover,.text-link:hover,.site-footer a:hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 24px;border:0;border-radius:16px;background:var(--accent);color:var(--on-accent);font-size:15px;font-weight:600;white-space:nowrap;min-height:52px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow)}.button:active{transform:scale(.98)}.button span{font-size:21px;line-height:1}.button-small{min-height:44px;padding:10px 18px;font-size:13px;gap:16px}.hero{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:32px;padding-block:66px 58px;min-height:580px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:11px;font-weight:700;color:var(--accent);margin-bottom:22px}.hero h1{font-size:clamp(42px,4.7vw,66px);line-height:1.1;letter-spacing:-3px}.hero h1 span{color:var(--accent)}.hero-description{margin-top:26px;font-size:17px;color:var(--muted);max-width:440px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-size:14px;font-weight:600}.hero-art{overflow:hidden;border-radius:50% 50% 24px 24px;background:#dfeee1;aspect-ratio:1.1}.hero-art img{width:100%;height:100%;object-fit:cover}.intro-strip{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:28px;border-block:1px solid var(--line)}.intro-strip p{font-size:14px;line-height:1.7;color:var(--muted)}.intro-strip strong{color:var(--ink);font-weight:500}.intro-strip ul{display:flex;gap:32px;list-style:none;padding:0;margin:0;font-size:14px;font-weight:500;color:var(--muted)}.section{padding-block:88px}.section-intro{max-width:600px;margin-bottom:40px}h2{font-size:clamp(32px,3.4vw,45px);line-height:1.18;letter-spacing:-1.8px}.section-intro p{max-width:530px;margin-top:20px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.feature{border-radius:24px;overflow:hidden}.feature-copy{padding:30px}.feature-label{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:13px}.feature h3{font-size:29px;letter-spacing:-1px;line-height:1.25}.feature-copy>p:last-child{font-size:14px;line-height:1.75;color:var(--muted);margin-top:18px;max-width:310px}.feature-games{grid-row:span 2;background:var(--mint);display:flex;flex-direction:column;justify-content:space-between}.feature-games .feature-copy{padding:38px}.feature-games h3{font-size:37px}.feature-games img{width:100%;aspect-ratio:1.25;object-fit:cover}.feature-puzzles{background:var(--puzzle);display:grid;grid-template-columns:1.3fr 1fr;align-items:center}.feature-puzzles img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;transform:rotate(5deg) translateX(10px)}.feature-math{background:var(--math);display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:8px}.fraction-art{padding-right:22px;text-align:center}.fraction-disc{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1;border-radius:50%;overflow:hidden;max-width:180px;margin:auto;border:6px solid var(--surface)}.fraction-disc span{display:flex;justify-content:center;align-items:center;background:#176b72;color:#fff;font-size:31px}.fraction-disc span+span{background:#775ccc;border-left:2px solid var(--surface)}.fraction-art>p{font-size:11px;margin-top:12px;color:var(--muted)}.quest-note{display:flex;gap:22px;align-items:center;margin-top:24px;padding:18px 0}.quest-note img{width:100px;height:70px;object-fit:cover;border-radius:16px}.quest-note p{color:var(--muted);font-size:14px;max-width:640px}.quest-note strong{color:var(--ink);display:block;margin-bottom:3px;font-weight:600}.demo-section{background:var(--mint)}.demo-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.demo-copy>p:not(.eyebrow){max-width:350px;color:var(--muted);margin-top:22px}.demo-copy .demo-note{font-size:13px;max-width:320px!important}.puzzle-panel{border-radius:24px;background:var(--surface);border:1px solid var(--line);padding:28px;box-shadow:0 16px 40px var(--shadow)}.puzzle-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.puzzle-heading h3{font-size:16px;font-weight:600}.reset{border:0;background:transparent;color:var(--muted);font-size:12px;min-height:44px;padding:6px 10px;border-radius:12px}.reset:hover{background:var(--mint)}.puzzle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.tile{aspect-ratio:1;background:var(--canvas);border:2px solid var(--line);border-radius:16px;display:grid;place-items:center;transition:transform .18s,background .18s,border-color .18s;padding:8px}.tile:hover{transform:translateY(-3px);border-color:var(--accent)}.tile:active{transform:scale(.96)}.shape-frame{width:65%;aspect-ratio:1;background:var(--accent);display:grid;place-items:center}.shape{width:45%;aspect-ratio:1;background:#d5e8d4}.square{border-radius:4px}.circle{border-radius:50%}.tile.correct{background:var(--mint);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tile.incorrect{border-style:dashed;border-color:var(--muted)}.puzzle-feedback{min-height:54px;margin-top:20px;font-size:13px;color:var(--muted);line-height:1.6}.puzzle-feedback.success{color:var(--accent);font-weight:600}.faq{display:grid;grid-template-columns:1fr 1fr;gap:100px}.faq-list details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;min-height:72px;padding-block:16px;font-size:14px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{font-size:23px;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{padding-bottom:22px;font-size:14px;color:var(--muted)}details p a{text-decoration:underline;text-underline-offset:4px}.closing{padding:64px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--mint);border-radius:24px;margin-bottom:64px}.closing img{margin-bottom:24px;object-fit:contain}.closing p{margin-top:18px;color:var(--muted)}.availability{margin-top:28px;font-size:13px;font-weight:600;padding:12px 18px;border:1px solid var(--line);border-radius:16px;background:var(--canvas);color:var(--muted)}.site-footer{display:flex;align-items:center;justify-content:space-between;padding-block:24px 36px;gap:24px;border-top:1px solid var(--line)}.site-footer p{font-size:12px;color:var(--muted)}.site-footer>div{display:flex;gap:24px}.site-footer .brand span{font-size:23px}
.legal-main{max-width:760px;padding-block:72px}.legal-main h1{font-size:48px;letter-spacing:-2px;line-height:1.2;margin-bottom:18px}.legal-main .updated{font-size:13px;color:var(--muted);margin-bottom:32px}.legal-main h2{font-size:24px;letter-spacing:-.6px;margin-top:38px;margin-bottom:14px}.legal-main p,.legal-main li{font-size:15px;color:var(--muted);margin-top:14px}.legal-main a{text-decoration:underline;text-underline-offset:4px;color:var(--accent)}.legal-main ul{padding-left:22px}.draft-notice{padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:var(--mint)}.legal-main .draft-notice p{margin-top:4px}
@media(prefers-color-scheme:dark){:root{--canvas:#14221d;--surface:#1c2c25;--ink:#edf3ea;--muted:#b5c6bc;--accent:#a1d7c9;--on-accent:#142c25;--line:#42594c;--mint:#243c30;--puzzle:#293d31;--math:#302f40;--focus:#c6b9ef;--shadow:rgba(10,22,15,.18)}.hero-art{background:#dfeee1}.shape-frame{background:#a1d7c9}.shape{background:#254d3f}.fraction-disc{border-color:#4a465c}.fraction-disc span+span{border-left-color:#4a465c}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .65s both}.hero-art{animation:arrive .8s .1s both}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
@media(min-width:1536px){.hero{min-height:650px}}
@media(max-width:1023px){.wrap{width:calc(100% - 64px)}.hero{gap:24px;min-height:530px;padding-block:48px}.hero h1{font-size:48px}.hero-description{font-size:15px}.intro-strip ul{gap:22px}.demo-layout,.faq{gap:45px}.feature-copy,.feature-games .feature-copy{padding:24px}.feature h3{font-size:24px}.feature-games h3{font-size:32px}.feature-copy>p:last-child{font-size:13px}.feature-puzzles,.feature-math{grid-template-columns:1.4fr 1fr}.fraction-disc span{font-size:24px}.fraction-art{padding-right:16px}.hero-actions{gap:18px}}
@media(max-width:767px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.site-header{height:72px;gap:16px}nav{gap:18px}nav a{font-size:12px}nav a[href='#questions']{display:none}.site-header>.button{display:none}.brand span{font-size:25px}.brand img{width:30px;height:30px}.hero{grid-template-columns:1fr;padding-block:42px 32px;gap:34px;min-height:0}.eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:18px}.hero h1{font-size:clamp(40px,9vw,58px);letter-spacing:-2px}.hero-description{font-size:15px;max-width:390px;margin-top:20px}.hero-actions{margin-top:24px}.hero-art{aspect-ratio:1.55;border-radius:100px 100px 24px 24px}.intro-strip{align-items:flex-start;flex-direction:column;gap:18px;padding-block:24px}.intro-strip p br{display:none}.intro-strip p strong{margin-left:5px}.intro-strip ul{gap:12px 20px;flex-wrap:wrap;font-size:12px}.section{padding-block:56px}h2{font-size:33px;letter-spacing:-1.3px}.section-intro{margin-bottom:28px}.section-intro p{font-size:14px;max-width:400px}.feature-grid{grid-template-columns:1fr;gap:16px}.feature-games{grid-row:auto}.feature-games .feature-copy{padding:28px}.feature-games img{aspect-ratio:1.8}.feature-games h3{font-size:32px}.feature-puzzles,.feature-math{grid-template-columns:1.3fr 1fr;min-height:280px}.feature-copy{padding:24px}.feature-copy>p:last-child{font-size:13px}.feature-puzzles img{transform:rotate(5deg) translateX(5px)}.fraction-art>p{font-size:10px}.quest-note{gap:16px;margin-top:16px}.quest-note img{width:80px;height:68px}.quest-note p{font-size:12px}.demo-layout,.faq{grid-template-columns:1fr;gap:28px}.demo-copy>p:not(.eyebrow){font-size:14px}.demo-copy .demo-note{font-size:12px}.puzzle-panel{padding:22px}.puzzle-feedback{min-height:62px}.faq{gap:20px}.closing{padding:44px 24px;margin-bottom:32px}.site-footer{flex-wrap:wrap;gap:16px;padding-block:22px}.site-footer>div{width:100%;gap:24px}.site-footer p{margin-left:auto}.legal-main{padding-block:40px}.legal-main h1{font-size:36px}.legal-header nav a{display:inline-flex}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:37px}.hero-actions{gap:14px}.button{padding-inline:18px;font-size:13px}.text-link{font-size:12px}.feature-puzzles,.feature-math{grid-template-columns:1.4fr 1fr}.feature-copy{padding:20px}.feature h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
