:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f6f7fb;--surface:#fff;--line:#1118301f;--ink:#0f1424;--ink-2:#3d4560;--accent:#0b6fd6;--accent-ink:#fff;--go:#0f8a4f;--coral:#ff7a59;--violet:#7b61ff;--target:2.2cm;--radius:22px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#080b16;--surface:#141a30;--line:#ffffff24;--ink:#eef1fa;--ink-2:#b4bbd3;--accent:#6cb4ff;--accent-ink:#061226;--go:#4fd18f}}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0}.board{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.board--center{text-align:center;place-content:center;justify-items:center;gap:1.5rem;display:grid}.board__title{margin:0;font-size:clamp(2rem,5vw,3.2rem)}.board__message{max-width:36rem;color:var(--ink-2);font-size:1.6rem}.board__me{margin:0;font-size:6rem}.big-button{min-width:var(--target);min-height:var(--target);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font:700 clamp(1.4rem, 3vw, 2rem) var(--font);cursor:pointer;touch-action:manipulation;border:0;padding:.6rem 1.6rem}.big-button:disabled{opacity:.4;cursor:default}.big-button--go{background:var(--go)}.big-button--quiet{color:var(--ink);border:3px solid var(--line);background:0 0}.big-button--yes{background:var(--go)}.big-button--no{background:var(--coral)}.big-button--choice{min-width:3.4cm;font-size:clamp(2rem,5vw,3rem)}.small-button{border:2px solid var(--line);background:var(--surface);min-height:1.2cm;color:var(--ink);font:600 1rem var(--font);border-radius:999px;padding:0 1rem}.link-button{color:var(--ink-2);font:1.1rem var(--font);background:0 0;border:0;min-height:1.2cm;text-decoration:underline}.pairing__title{margin:0;font-size:clamp(1.6rem,4vw,2.6rem)}.pairing__qr{background:#fff;border-radius:12px;width:min(60vmin,18rem);padding:.5rem}.pairing__qr svg{width:100%;height:auto;display:block}.pairing__hint{color:var(--ink-2);max-width:30rem;margin:0;font-size:1.2rem}.pairing__code{letter-spacing:.12em;margin:0;font:800 clamp(2.6rem,8vw,4.4rem) ui-monospace,SF Mono,Menlo,monospace}.pairing__small{color:var(--ink-2);margin:0}.picker{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.picker__child{border:4px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;width:4.5cm;height:4.5cm;font-size:4.6rem}.lesson{grid-template-rows:auto 1fr;gap:1rem;display:grid}.lesson__bar{align-items:center;gap:.8rem;font-size:1.6rem;display:flex}.lesson__progress{flex:1;justify-content:center;gap:.4rem;display:flex}.dot{background:var(--line);border-radius:50%;width:.9rem;height:.9rem}.dot--done{background:var(--go)}.dot--now{background:var(--accent)}.lesson__item{text-align:center;align-content:start;justify-items:center;gap:1.2rem;display:grid}.lesson__actions{gap:1rem;display:flex}.lesson__waiting{color:var(--ink-2)}.badge{background:var(--violet);color:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.85rem}.prompt__line{margin:.2rem 0;font-size:clamp(1.6rem,4vw,2.6rem)}.hints{color:var(--ink-2);margin:0;padding:0;font-size:1.3rem;list-style:none}.feedback{border-radius:var(--radius);background:var(--surface);padding:.6rem 1.2rem;font-size:1.8rem;font-weight:700}.feedback p{margin:.3rem 0 0;font-size:1.3rem;font-weight:400}.feedback--correct{color:var(--go)}.answer{justify-items:center;gap:1rem;display:grid}.answer--choices{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.answer__label{color:var(--ink-2);margin:0;font-size:1.3rem}.equation,.words{margin:0;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:800}.objects{flex-wrap:wrap;justify-content:center;gap:.8rem;max-width:40rem;display:flex}.object{width:var(--target);height:var(--target);border:3px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:50%;font-size:2.2rem}.object--marked,.object--in{background:var(--accent);color:var(--accent-ink)}.counter{margin:0;font-size:2.4rem;font-weight:800}.numline{border-top:4px solid var(--ink);flex-wrap:wrap;justify-content:center;gap:.3rem;padding-top:.4rem;display:flex}.numline__tick{min-width:1.6cm;min-height:var(--target);border:2px solid var(--line);background:var(--surface);color:var(--ink);font:700 1.4rem var(--font);border-radius:12px}.numline__tick--placed{background:var(--accent);color:var(--accent-ink)}.bar{gap:.3rem;width:min(90vw,32rem);font-size:2rem;font-weight:800;display:grid}.bar__whole,.bar__part{border:3px solid var(--ink);background:var(--surface);border-radius:8px;padding:.6rem}.bar__parts{grid-template-columns:1fr 1fr;gap:.3rem;display:grid}.numpad{grid-template-columns:repeat(7, var(--target));gap:.5rem;display:grid}.numpad__key{width:var(--target);height:var(--target);border:2px solid var(--line);background:var(--surface);color:var(--ink);font:700 1.5rem var(--font);border-radius:14px}.inkpad{aspect-ratio:1;border:3px dashed var(--line);border-radius:var(--radius);background:var(--surface);width:min(80vmin,30rem);position:relative}.inkpad__canvas{touch-action:none;width:100%;height:100%;color:var(--ink);position:absolute;inset:0}.inkpad__guide{color:var(--line);place-content:center;font-size:16rem;display:grid;position:absolute;inset:0}.tv{grid-template-rows:auto 1fr;gap:2vh;min-height:100dvh;padding:5vh 5vw;font-size:2.4vw;display:grid}.tv--idle{place-content:center}.tv--blank{background:#000}.tv__brand{color:var(--ink-2);font-size:6vw;font-weight:800}.tv__bar{align-items:center;gap:2vw;display:flex}.tv__me{font-size:5vw}.tv__progress{color:var(--ink-2);margin-left:auto}.tv__item{text-align:center;align-content:center;justify-items:center;gap:3vh;display:grid}.tv__prompt{margin:0;font-size:4vw}.tv__big{margin:0;font-size:7vw;font-weight:800}.tv__choices{gap:3vw;display:flex}.tv__choice{border:.4vw solid var(--line);border-radius:2vw;padding:1vh 3vw;font-size:6vw;font-weight:800}.inkpad--tv{width:50vh}.bar--tv,.numline--tv{width:70vw;font-size:3vw}@media (prefers-reduced-motion:no-preference){.big-button,.object,.numline__tick{transition:transform .12s}.big-button:active,.object:active,.numline__tick:active{transform:scale(.96)}}
