@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:300 700;src:url(/fonts/fredoka-latin-wght.woff2)format("woff2-variations"),url(/fonts/fredoka-latin-wght.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/fonts/nunito-latin-wght.woff2)format("woff2-variations"),url(/fonts/nunito-latin-wght.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--color-bg:#fff8ee;--color-bg-alt:#ffe9d4;--color-surface:#fffdf8;--color-text:#1b2356;--color-muted:#464e7e;--color-ink:#1b2356;--color-line:#e8d6c2;--color-primary:#1b2356;--color-on-primary:#fff8ee;--color-accent:#ff8a7a;--color-on-accent:#1b2356;--color-link:#0d5c78;--color-sea:#0b6b85;--color-sea-deep:#134a7a;--color-on-sea:#fff;--color-night:#1b2356;--color-on-night:#fff1e0;--color-on-night-muted:#c9cdec;--color-success:#17643f;--color-success-soft:#dcf5e4;--color-focus:#c2410c;--color-focus-on-dark:#ffc46b;--panel-pink:#ffd8dc;--panel-sky:#cdeffa;--panel-mint:#d5f2d9;--panel-lilac:#e6defc;--panel-butter:#ffeeb3;--diagram-a:#ff8a7a;--diagram-b:#4cb3d4;--diagram-c:#ffc94a;--diagram-empty:#fffdf8;--diagram-ink:#1b2356;--diagram-line:#1b2356;--diagram-frog:#6cc04a;--border-thin:2px;--border-card:3px;--focus-width:4px;--shadow-card:5px 6px 0 var(--color-ink);--shadow-card-hover:7px 9px 0 var(--color-ink);--shadow-press:2px 2px 0 var(--color-ink);--shadow-pill:3px 3px 0 var(--color-ink);--font-display:"Fredoka", "Nunito", ui-rounded, system-ui, sans-serif;--font-body:"Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--step--1:1rem;--step-0:1.25rem;--step-1:clamp(1.375rem, 1.3rem + .35vw, 1.5rem);--step-2:clamp(1.75rem, 1.5rem + 1.1vw, 2.375rem);--step-3:clamp(2.25rem, 1.8rem + 2.2vw, 3.5rem);--step-4:clamp(2.6rem, 1.9rem + 3.6vw, 4.75rem);--step-num:clamp(2.5rem, 2rem + 2.5vw, 4rem);--leading-tight:1.08;--leading-snug:1.25;--leading-body:1.55;--weight-body:600;--weight-strong:800;--weight-display:600;--measure:58ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--tap:48px;--tap-big:64px;--container:74rem;--gutter:1.25rem;--wave-height:48px;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--radius-pill:999px;--dur-instant:.01ms;--dur-fast:.14s;--dur-base:.24s;--dur-hop:.52s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme=light]{color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg:#12173a;--color-bg-alt:#1a2150;--color-surface:#232c63;--color-text:#fff3e4;--color-muted:#cfd2f0;--color-ink:#060920;--color-line:#2e3878;--color-primary:#ffd27a;--color-on-primary:#12173a;--color-accent:#ff8a7a;--color-on-accent:#12173a;--color-link:#8fdcf2;--color-sea:#0a4f66;--color-sea-deep:#0b2b52;--color-on-sea:#fff;--color-night:#080b24;--color-on-night:#fff1e0;--color-on-night-muted:#c9cdec;--color-success:#8be3ad;--color-success-soft:#173d33;--color-focus:#ffc46b;--color-focus-on-dark:#ffc46b;--panel-pink:#5a3350;--panel-sky:#1f4f6e;--panel-mint:#24533f;--panel-lilac:#3f3a78;--panel-butter:#5c4a24;--diagram-a:#ff8a7a;--diagram-b:#5cc4e6;--diagram-c:#ffcf5c;--diagram-empty:#2f3a7a;--diagram-ink:#060920;--diagram-line:#fff3e4;--diagram-frog:#7ad35a}}:root[data-theme=dark]{color-scheme:dark;--color-bg:#12173a;--color-bg-alt:#1a2150;--color-surface:#232c63;--color-text:#fff3e4;--color-muted:#cfd2f0;--color-ink:#060920;--color-line:#2e3878;--color-primary:#ffd27a;--color-on-primary:#12173a;--color-accent:#ff8a7a;--color-on-accent:#12173a;--color-link:#8fdcf2;--color-sea:#0a4f66;--color-sea-deep:#0b2b52;--color-on-sea:#fff;--color-night:#080b24;--color-on-night:#fff1e0;--color-on-night-muted:#c9cdec;--color-success:#8be3ad;--color-success-soft:#173d33;--color-focus:#ffc46b;--color-focus-on-dark:#ffc46b;--panel-pink:#5a3350;--panel-sky:#1f4f6e;--panel-mint:#24533f;--panel-lilac:#3f3a78;--panel-butter:#5c4a24;--diagram-a:#ff8a7a;--diagram-b:#5cc4e6;--diagram-c:#ffcf5c;--diagram-empty:#2f3a7a;--diagram-ink:#060920;--diagram-line:#fff3e4;--diagram-frog:#7ad35a}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur-base:.01ms;--dur-hop:.01ms}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--space-5)}body{min-height:100vh;font-family:var(--font-body);font-size:var(--step-0);font-weight:var(--weight-body);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);overflow-wrap:break-word;flex-direction:column;margin:0;display:flex;overflow-x:clip}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-display);line-height:var(--leading-tight);margin:0 0 var(--space-3);text-wrap:balance}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1);line-height:var(--leading-snug)}p,ul,ol{margin:0 0 var(--space-4)}p,li{max-width:var(--measure)}strong{font-weight:var(--weight-strong)}a{color:var(--color-link);font-weight:var(--weight-strong);text-decoration-thickness:var(--border-thin);text-underline-offset:.18em}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--border-thin)}main:focus{outline:none}img,svg{max-width:100%;height:auto}.skip-link{left:var(--space-2);top:calc(-1 * var(--space-9));z-index:10;padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-md);position:absolute}.skip-link:focus{top:var(--space-2)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.needs-js{display:none!important}:root.js .needs-js{display:revert!important}:root.js .no-js-only{display:none!important}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}main{flex:1}.section{padding-block:var(--space-8)}.section__head{text-align:center;margin-bottom:var(--space-7)}.section__head p{color:var(--color-muted);font-size:var(--step-1);margin-inline:auto}.grid{gap:var(--space-6);display:grid}@media (width>=40rem){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=52rem){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=40rem) and (width<=51.99rem){.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-header{background:var(--color-bg);border-bottom:var(--border-card) solid var(--color-ink)}.site-header__inner{align-items:center;gap:var(--space-3);min-height:4.5rem;padding-block:var(--space-2);display:flex}.brand{align-items:center;gap:var(--space-2);min-height:var(--tap);color:var(--color-text);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-1);margin-right:auto;text-decoration:none;display:inline-flex}.brand img{border-radius:var(--radius-pill);background:var(--panel-butter);border:var(--border-thin) solid var(--color-ink);flex:none;width:44px;height:44px}.site-nav ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:var(--tap);padding-inline:var(--space-3);border-radius:var(--radius-pill);color:var(--color-text);font-size:var(--step--1);align-items:center;text-decoration:none;display:inline-flex}.site-nav a:hover{background:var(--color-bg-alt)}.site-nav a[aria-current=page]{background:var(--panel-butter);box-shadow:inset 0 0 0 var(--border-thin) var(--color-ink)}@media (width<=30rem){.brand span{display:none}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-big);padding:var(--space-3) var(--space-6);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-pill);box-shadow:var(--shadow-pill);font-family:var(--font-display);font-size:var(--step-1);font-weight:var(--weight-display);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--shadow-card);transform:translate(-1px,-2px)}.btn:active{box-shadow:var(--shadow-press);transform:translate(2px,2px)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--accent{background:var(--color-accent);color:var(--color-on-accent)}.btn--plain{background:var(--color-surface);color:var(--color-text)}.btn-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.label{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-1) var(--space-4);border:var(--border-thin) solid currentColor;border-radius:var(--radius-pill);font-size:var(--step--1);font-weight:var(--weight-strong);letter-spacing:.04em;text-transform:uppercase;display:inline-flex}.chip{padding:var(--space-1) var(--space-3);border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--panel-butter);color:var(--color-text);font-size:var(--step--1);font-weight:var(--weight-strong);line-height:var(--leading-snug);display:inline-block}.card{padding:var(--space-4);background:var(--color-surface);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;display:flex;position:relative}.card h3{margin:var(--space-4) 0 var(--space-2)}.card p{color:var(--color-muted);margin:0}.card__art{aspect-ratio:4/3;border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-sm);place-items:center;display:grid;overflow:hidden}.card__art img{width:72%;height:auto}.card__art svg{width:86%}.card__num{top:var(--space-5);left:var(--space-5);z-index:1;border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-accent);width:2.5rem;height:2.5rem;color:var(--color-on-accent);font-family:var(--font-display);font-weight:var(--weight-display);place-items:center;display:grid;position:absolute}.card__foot{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.card--link{transition:transform var(--dur-base) var(--ease-pop), box-shadow var(--dur-base) var(--ease-out)}.card--link:hover,.card--link:has(a:focus-visible){box-shadow:var(--shadow-card-hover);transform:translate(-2px,-3px)rotate(-.4deg)}.card--link h3 a{color:var(--color-text);text-decoration:none}.card--link h3 a:after{content:"";border-radius:var(--radius-md);position:absolute;inset:0}.card--link h3 a:focus-visible{outline:none}.card--link:has(a:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--space-1)}.panel-pink{background:var(--panel-pink)}.panel-sky{background:var(--panel-sky)}.panel-mint{background:var(--panel-mint)}.panel-lilac{background:var(--panel-lilac)}.panel-butter{background:var(--panel-butter)}.band--alt{background:var(--color-bg-alt);border-block:var(--border-card) solid var(--color-ink)}.band--sea{background:linear-gradient(180deg, var(--color-sea), var(--color-sea-deep));color:var(--color-on-sea);position:relative}.band--sea .section__head p{color:var(--color-on-sea)}.band--sea :focus-visible,.band--sea .card :focus-visible,.band--sea .card:has(a:focus-visible){outline-color:var(--color-focus-on-dark)}.wave{width:100%;height:var(--wave-height);display:block}.wave path{fill:currentColor}.wave--top{color:var(--color-sea);margin-bottom:-1px}.wave--bottom{color:var(--color-sea-deep);margin-top:-1px;transform:scaleY(-1)}.hero{padding-block:var(--space-7) var(--space-8)}.hero__inner{gap:var(--space-6);align-items:center;display:grid}@media (width>=52rem){.hero__inner{grid-template-columns:1.15fr 1fr}}.hero h1{font-size:var(--step-4);margin-bottom:var(--space-4)}.hero h1 em{background:linear-gradient(transparent 62%, var(--panel-butter) 62%);font-style:normal}.hero__lead{font-size:var(--step-1);color:var(--color-muted);margin-bottom:var(--space-6)}.hero__art{width:100%;max-width:30rem;margin-inline:auto;position:relative}.hero__frame{padding:var(--space-5);background:var(--panel-sky);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:relative}.hero__frame img{width:78%;margin-inline:auto;display:block}.sticker{min-width:3.5rem;height:3.5rem;padding-inline:var(--space-2);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-pill);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-2);color:var(--diagram-ink);place-items:center;display:grid;position:absolute}.sticker--1{background:var(--diagram-a);top:8%;left:-4%;transform:rotate(-8deg)}.sticker--2{background:var(--diagram-c);top:40%;right:-5%;transform:rotate(7deg)}.sticker--3{background:var(--diagram-b);bottom:7%;left:2%;transform:rotate(4deg)}.trust{gap:var(--space-2) var(--space-5);margin:var(--space-6) 0 0;font-size:var(--step--1);color:var(--color-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.trust li{align-items:center;gap:var(--space-2);display:inline-flex}.trust .icon{color:var(--color-success)}.soon{align-items:center;gap:var(--space-3) var(--space-5);margin-top:var(--space-7);padding:var(--space-5) var(--space-6);background:var(--color-night);color:var(--color-on-night);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-wrap:wrap;display:flex}.soon p{font-family:var(--font-display);font-size:var(--step-1);margin:0}.soon ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.soon li{padding:var(--space-1) var(--space-3);border:var(--border-thin) dashed var(--color-on-night-muted);border-radius:var(--radius-pill);color:var(--color-on-night-muted);font-size:var(--step--1)}.cta{gap:var(--space-5);padding:var(--space-7) var(--space-6);background:var(--color-accent);color:var(--color-on-accent);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);align-items:center;display:grid}.cta h2{font-size:var(--step-3)}.cta p{font-size:var(--step-1)}.cta img{width:100%;max-width:28rem;margin-inline:auto}@media (width>=52rem){.cta{padding:var(--space-7) var(--space-8);grid-template-columns:1fr 1fr}}.page-hero{padding-block:var(--space-7);background:var(--color-bg-alt);border-bottom:var(--border-card) solid var(--color-ink)}.page-hero__inner{gap:var(--space-5);align-items:center;display:grid}@media (width>=46rem){.page-hero__inner{grid-template-columns:1fr 16rem}}.page-hero__art{width:14rem;padding:var(--space-3);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-inline:auto}.page-hero p{font-size:var(--step-1);color:var(--color-muted)}.crumbs ol{gap:var(--space-2);margin:0 0 var(--space-4);font-size:var(--step--1);flex-wrap:wrap;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:var(--space-2);color:var(--color-muted)}.crumbs a{min-height:var(--tap);align-items:center;display:inline-flex}.lessons{gap:var(--space-4);counter-reset:lesson;margin:0;padding:0;list-style:none;display:grid}@media (width>=46rem){.lessons{grid-template-columns:repeat(2,minmax(0,1fr))}}.lesson{align-items:center;gap:var(--space-4);min-height:var(--tap-big);max-width:none;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-md);counter-increment:lesson;display:flex}.lesson:before{content:counter(lesson);border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--panel-butter);width:2.5rem;height:2.5rem;font-family:var(--font-display);flex:none;place-items:center;display:grid}.lesson__text{flex:1}.lesson__title{font-weight:var(--weight-strong);line-height:var(--leading-snug);display:block}.lesson__skill{color:var(--color-muted);font-size:var(--step--1);display:block}.lesson .chip{flex:none}.explainer{padding:var(--space-5);background:var(--color-surface);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.explainer__stage{padding:var(--space-4);border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-md)}.explainer__stage svg{width:100%;display:block}.explainer__readout{margin:var(--space-4) 0 0;text-align:center;max-width:none;font-family:var(--font-display);font-size:var(--step-2);line-height:var(--leading-snug)}.explainer__readout b{font-weight:var(--weight-display);font-size:var(--step-num)}.explainer__controls{justify-content:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.tool{justify-content:center;align-items:center;gap:var(--space-2);min-width:var(--tap-big);min-height:var(--tap-big);padding:var(--space-2) var(--space-5);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-pill);font:inherit;font-family:var(--font-display);font-size:var(--step-1);font-weight:var(--weight-display);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:inline-flex}.tool:active{box-shadow:var(--shadow-press);transform:translate(2px,2px)}.tool:disabled{opacity:.5;cursor:not-allowed}.tool--go{background:var(--color-accent);color:var(--color-on-accent)}.tool[aria-pressed=true]{background:var(--diagram-c);color:var(--diagram-ink)}.stepper{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-bg);margin:0;display:inline-flex}.stepper__label{padding-inline:var(--space-2);font-weight:var(--weight-strong)}.stepper output{text-align:center;min-width:2ch;font-family:var(--font-display);font-size:var(--step-2)}.stepper .tool{min-width:var(--tap);min-height:var(--tap);box-shadow:none;padding:0}.slider{gap:var(--space-2);width:100%;max-width:28rem;font-weight:var(--weight-strong);text-align:center;display:grid}.slider input{width:100%;height:var(--tap);accent-color:var(--diagram-a);cursor:pointer}.choice{justify-content:center;gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:inline-flex}.choice legend{width:100%;margin-bottom:var(--space-2);text-align:center;font-weight:var(--weight-strong)}.frame-grid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));max-width:34rem;margin-inline:auto;display:grid}.cell{aspect-ratio:1;min-height:var(--tap);border:var(--border-card) solid var(--diagram-line);border-radius:var(--radius-sm);background:var(--diagram-empty);color:var(--diagram-ink);font:inherit;cursor:pointer;place-items:center;padding:0;display:grid}.cell svg{width:72%}.cell circle{fill:var(--diagram-a);stroke:var(--diagram-ink);stroke-width:6px;transform-origin:50%;animation:pop var(--dur-base) var(--ease-pop)}.hundred{gap:var(--space-1);grid-template-columns:repeat(10,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.hundred li{aspect-ratio:1;border:var(--border-thin) solid var(--diagram-line);border-radius:var(--radius-sm);background:var(--diagram-empty);max-width:none;color:var(--color-text);font-size:clamp(.8rem,.55rem + 1.2vw,1.25rem);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;place-items:center;display:grid}.hundred li.is-on{background:var(--diagram-c);color:var(--diagram-ink)}.hundred li.is-now{background:var(--diagram-a);color:var(--diagram-ink);animation:pop var(--dur-base) var(--ease-pop)}.d-line{stroke:var(--diagram-line);stroke-width:3px;stroke-linecap:round;fill:none}.d-text{fill:var(--color-text);font-family:var(--font-display);font-weight:var(--weight-display)}.d-ink{fill:var(--diagram-ink);font-family:var(--font-display);font-weight:var(--weight-display)}.d-a,.d-b,.d-c,.d-empty,.d-frog{stroke:var(--diagram-line);stroke-width:3px}.d-a{fill:var(--diagram-a)}.d-b{fill:var(--diagram-b)}.d-c{fill:var(--diagram-c)}.d-empty{fill:var(--diagram-empty)}.d-frog{fill:var(--diagram-frog)}.d-hop{stroke:var(--diagram-a);stroke-width:4px;stroke-dasharray:8 6;fill:none}.d-move,.d-beam{transition:transform var(--dur-hop) var(--ease-pop)}.explain-note{margin-top:var(--space-6);padding:var(--space-5);background:var(--color-bg-alt);border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-md)}.explain-note h2{font-size:var(--step-1)}.explain-note p:last-child,.explain-note ul:last-child{margin-bottom:0}.prose{max-width:46rem;padding-block:var(--space-7) var(--space-8)}.prose h2{margin-top:var(--space-7)}.prose li{margin-bottom:var(--space-2)}.site-footer{margin-top:var(--space-8);padding-block:var(--space-8) var(--space-6);background:var(--color-night);color:var(--color-on-night);border-top:var(--border-card) solid var(--color-ink)}.site-footer :focus-visible{outline-color:var(--color-focus-on-dark)}.site-footer a{color:var(--color-on-night)}.site-footer__grid{gap:var(--space-6);display:grid}@media (width>=46rem){.site-footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}.site-footer .brand{color:var(--color-on-night)}.site-footer p,.site-footer__small{color:var(--color-on-night-muted);font-size:var(--step--1)}.site-footer h2{margin-bottom:var(--space-2);color:var(--color-accent);font-size:var(--step--1);font-family:var(--font-body);font-weight:var(--weight-strong);letter-spacing:.06em;text-transform:uppercase}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li a{min-height:var(--tap);font-weight:var(--weight-body);align-items:center;text-decoration:none;display:inline-flex}.site-footer li a:hover{text-decoration:underline}.site-footer__small{margin-top:var(--space-7);padding-top:var(--space-5);border-top:var(--border-thin) solid var(--color-on-night-muted)}.flush+.site-footer{margin-top:0}.theme-switch{position:relative}:root:not([data-theme-choice]) .theme-switch{display:none}.theme-switch__button{width:var(--tap);height:var(--tap);border:var(--border-thin) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);cursor:pointer;place-items:center;padding:0;display:inline-grid}.theme-switch__button:hover,.theme-switch__button[aria-expanded=true]{background:var(--panel-butter)}.theme-switch__icon{display:none}:root[data-theme-choice=light] .theme-switch__icon--light,:root[data-theme-choice=dark] .theme-switch__icon--dark,:root[data-theme-choice=system] .theme-switch__icon--system{display:block}.theme-switch__panel{z-index:30;top:calc(100% + var(--space-2));min-width:11rem;padding:var(--space-2);background:var(--color-surface);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-card);position:absolute;right:0}.theme-switch__panel fieldset{border:0;margin:0;padding:0}.theme-switch__panel legend{padding:var(--space-1) var(--space-3) var(--space-2);color:var(--color-muted);font-size:var(--step--1);font-weight:var(--weight-strong)}.theme-switch__option{align-items:center;gap:var(--space-3);min-height:var(--tap);padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer;display:flex}.theme-switch__option:hover,.theme-switch__option:has(input:checked){background:var(--color-bg-alt)}.theme-switch__option input{opacity:0;position:absolute}.theme-switch__option:has(input:focus-visible){outline:var(--focus-width) solid var(--color-focus)}@keyframes pop{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.bob{animation:bob calc(var(--dur-hop) * 6) ease-in-out infinite}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:var(--dur-instant)!important;scroll-behavior:auto!important;animation:none!important}}.plain-list{margin:0;padding:0;list-style:none}.plain-list>li{max-width:none}.center{text-align:center}.center p,.center img{margin-inline:auto}.center .btn-row{justify-content:center}.stack-top{margin-top:var(--space-6)}.hero{overflow-x:clip}.site-footer__small{max-width:none}@media (width<=39.99rem){.card__art{aspect-ratio:16/9}.card__art img{width:auto;height:9rem}.card__art svg{width:auto;height:8rem}.sticker--1{left:-2%}.sticker--2{right:-2%}[data-explainer=number-line] .explainer__stage{overscroll-behavior-x:contain;overflow-x:auto}[data-explainer=number-line] .explainer__stage svg{min-width:46rem}}.crumbs li{align-items:center;display:inline-flex}@media (width<=30rem){.site-header__inner{gap:var(--space-1)}.site-nav a{padding-inline:var(--space-2)}}.card__art--pic{aspect-ratio:auto;min-height:7rem;padding:var(--space-4);overflow-x:auto}.card__art--pic svg{width:auto;max-width:100%;height:auto}.btn-row--center{justify-content:center}.pic__cell{fill:var(--diagram-empty);stroke:var(--diagram-line);stroke-width:2px}.pic__dot{stroke:var(--diagram-line);stroke-width:2.5px}.pic__dot--0{fill:var(--diagram-a)}.pic__dot--1{fill:var(--diagram-b)}.pic__dot--2{fill:var(--diagram-c)}.pic__cross,.pic__axis,.pic__hop{fill:none;stroke:var(--diagram-line);stroke-width:4px;stroke-linecap:round}.pic__axis{stroke-width:3px}.pic__hop{stroke-width:3px;stroke-dasharray:6 6}.pic__rod{fill:var(--diagram-c);stroke:var(--diagram-line);stroke-width:2.5px}.pic__seam{fill:none;stroke:var(--diagram-line);stroke-width:1.5px}.pic__cube{fill:var(--diagram-b);stroke:var(--diagram-line);stroke-width:2.5px}.pic__num{fill:var(--color-text);font-family:var(--font-display);font-size:18px}.practice{gap:var(--space-5);display:grid}@media (width>=46rem){.practice{grid-template-columns:repeat(2,minmax(0,1fr))}}.practice>.practice__item{counter-increment:q;gap:var(--space-3)}.practice{counter-reset:q}.practice__q{color:var(--color-text);font-family:var(--font-display);font-size:var(--step-1);font-weight:var(--weight-display)}.practice__q:before{content:counter(q) ". "}.reveal summary{min-height:var(--tap);padding:var(--space-2) var(--space-5);background:var(--color-surface);border:var(--border-card) solid var(--color-ink);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);color:var(--color-text);font-family:var(--font-display);font-weight:var(--weight-display);cursor:pointer;align-items:center;display:inline-flex}.reveal summary:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--space-1)}.reveal__a{margin:var(--space-3) 0 0;color:var(--color-text);font-family:var(--font-display);font-size:var(--step-2)}a.lesson__title{color:var(--color-text);text-decoration-thickness:var(--border-thin);text-underline-offset:var(--space-1)}a.lesson__title:hover{text-decoration-color:var(--color-accent)}a.lesson__title:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--space-1)}.quick__list{font-size:var(--step-2);font-weight:700;line-height:1.3}.quick__chart{margin-block:var(--space-4)}
