:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#211a37;background:#faf9fe;line-height:1.5;--purple:#5739b7;--muted:#635b75;--line:#e8e2f2}
*{box-sizing:border-box}body{margin:0}button,a{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #8c59ea;outline-offset:4px}[hidden]{display:none!important}
header{background:#fff;border-bottom:1px solid var(--line)}.bar,main,footer{max-width:1160px;margin:auto;padding-inline:28px}.bar{height:77px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:21px;font-weight:800;line-height:1.15}.brand b{color:var(--purple)}.brand small{display:block;font-size:9px;letter-spacing:.16em;margin-top:5px;color:var(--muted)}.logo{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--purple);color:#fff;font-size:27px}.stars{background:#fff0c4;color:#744706;padding:8px 15px;border-radius:99px;font-weight:800;white-space:nowrap}
main{padding-block:30px 46px;min-height:74vh}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:335px;padding:31px 52px;background:#eee9ff;border:1px solid #e6defb;border-radius:28px;overflow:hidden}.hero svg{width:100%;max-height:270px}.hero h1{font-size:clamp(38px,6vw,65px);line-height:1.04;letter-spacing:-.055em;margin:8px 0 15px}.hero p:not(.eyebrow){max-width:370px;color:#504568;margin:0 0 23px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:850;color:var(--purple);margin:0}.primary{background:var(--purple);color:white;display:inline-block;border:0;border-radius:12px;padding:11px 18px;text-decoration:none;font-weight:750}.primary:hover{background:#442698}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:33px 0 15px}.section-heading h2{margin:2px 0 0;font-size:31px;letter-spacing:-.04em}.section-heading span,footer{color:var(--muted);font-size:13px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;color:inherit;min-height:103px}.card:hover{border-color:#ae97ef;background:#fdfbff}.symbol{background:var(--tint);color:#39226b;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-weight:850;font-size:23px}.card strong,.card small{display:block}.card strong{font-size:17px}.card small{color:var(--muted);font-size:13px;margin-top:4px}.arrow{color:var(--purple);font-weight:800}footer{padding-block:19px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.back{color:var(--purple);background:none;border:0;padding:7px 0;font-weight:750}.board{background:#fff;border:1px solid var(--line);border-radius:25px;margin:14px auto 0;max-width:800px;padding:clamp(18px,5vw,45px);text-align:center}.board h1{margin:4px 0;font-size:clamp(28px,5vw,43px);letter-spacing:-.04em}.board p{margin:6px 0;color:var(--muted)}.board progress{width:min(100%,270px);accent-color:var(--purple)}.question{font-size:clamp(24px,6vw,52px);min-height:96px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-weight:850;margin:12px 0}.question .dot{width:31px;height:31px;background:#7558d7;border-radius:50%}.options,.memory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:520px;margin:15px auto}.choice,.tile{background:#f4efff;border:2px solid #e8dfff;color:#302058;border-radius:14px;min-height:58px;font-size:clamp(19px,5vw,32px);font-weight:850}.choice:hover:not(:disabled),.tile:hover:not(:disabled){border-color:#8e69ed}.choice.correct,.tile.matched{background:#d8f8e9;border-color:#8cd3b0;color:#215740}.choice.wrong{background:#ffe6e1;border-color:#efae9f}.tile{aspect-ratio:1.25;min-height:50px}.tile:disabled,.choice:disabled{cursor:default}.board .feedback{min-height:25px;margin:13px 0;font-weight:750}.shape{display:inline-block;width:36px;height:36px;background:#6f50d0;vertical-align:middle}.circle{border-radius:100%}.triangle{clip-path:polygon(50% 0,100% 100%,0 100%);background:#dc6b49}.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#198269}.square{border-radius:5px}.choice .shape{width:25px;height:25px}.keys{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px}.key{padding:4px 12px;background:#efe8fc;border-radius:8px}.key.done{background:#d8f8e9;color:#215740}
@media(max-width:850px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:570px){.bar,main,footer{padding-inline:15px}.hero{grid-template-columns:1fr;padding:24px}.hero svg{max-height:180px;margin-top:8px}.cards{grid-template-columns:1fr}.options{grid-template-columns:repeat(2,1fr)}.board{padding-inline:14px}.question{gap:6px}.question .dot{width:24px;height:24px}}
.group-title{font-size:17px;margin:20px 0 10px;color:#504568}.mouse-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#f3efff;border:1px solid #e6dcff;border-radius:20px;padding:10px;margin:18px auto;max-width:540px}.mouse-grid>div{display:grid;place-items:center;min-height:65px;border-radius:10px;background:#fff8}.star-target{background:#ffedac;color:#744706;border:2px solid #e9cb70;border-radius:12px;min-width:54px;min-height:51px;font-size:28px}.drag-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px auto;max-width:560px}.drag-piece{touch-action:none;user-select:none;cursor:grab}.drag-piece[aria-pressed=true]{border-color:#8255dc;background:#eae0ff}.drag-piece:disabled{opacity:.35}.drag-slot{display:grid;place-content:center;justify-items:center;gap:4px;border:2px dashed #ad97df;background:#fbf8ff;color:#382365;border-radius:13px;min-height:78px;padding:5px;font-weight:750;font-size:clamp(10px,2vw,15px)}.drag-slot.matched{border-style:solid;border-color:#8cd3b0;background:#d8f8e9;color:#215740}.drag-slot .shape{width:24px;height:24px}
.drag-piece.dragging{position:relative;z-index:1;cursor:grabbing}
.card .completed-label{color:#215740;font-weight:750}.star-target{touch-action:manipulation}.clock-face{width:min(48vw,200px);overflow:visible}.clock-face circle{fill:#f3eeff;stroke:#8e70db;stroke-width:2}.clock-face text{font-size:13px;font-weight:750;fill:#372265;text-anchor:middle;dominant-baseline:central}.clock-face line{stroke-linecap:round}.hour-hand{stroke:#39216d;stroke-width:6}.minute-hand{stroke:#8c4b24;stroke-width:3}.clock-face .clock-pin{fill:#39216d;stroke:none}.maze-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:360px;margin:18px auto;background:#eee9ff;border-radius:14px;padding:8px}.maze-grid span{display:grid;place-items:center;aspect-ratio:1;border-radius:5px;font-size:clamp(16px,5vw,24px)}.maze-wall{background:#7257b6}.maze-path{background:#fff}.maze-controls{display:grid;grid-template-columns:repeat(3,52px);gap:6px;justify-content:center}.maze-controls button:first-child{grid-column:2}.maze-controls button:nth-child(2){grid-column:1}.maze-controls .choice{min-height:44px}
.category-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.category-button{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 14px;border:1px solid #badfd9;border-radius:16px;color:#15564f;background:#f1fcfa;text-align:left}.category-button:hover,.category-button[aria-pressed=true]{background:#d3f4ee;border-color:#32988c}.category-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#087f76;color:white;font-weight:850}.word-flashcard{flex-direction:column;line-height:1.2}.word-picture{font-size:clamp(48px,12vw,90px)}.word-choice{font-size:clamp(15px,3vw,25px);overflow-wrap:anywhere}.lesson-actions{display:flex;gap:20px;justify-content:center;margin-top:18px}.palette{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.palette button{background:var(--paint);border:2px solid transparent;color:#271e32;border-radius:9px;padding:7px 9px;font-weight:750}.palette button[aria-pressed=true]{border-color:#24163f;box-shadow:0 0 0 2px #e9ddff}.coloring-scene{display:block;width:min(100%,370px);margin:12px auto;background:#f3faff;border-radius:16px}.coloring-scene g{fill:#fff;stroke:#54436e;stroke-width:3;stroke-linejoin:round;cursor:pointer}.coloring-scene g:focus-visible{outline:none;stroke:#7b3fe4;stroke-width:5}.primary:disabled,.back:disabled{opacity:.55;cursor:default}@media(max-width:570px){.category-menu{grid-template-columns:1fr}.category-button{min-height:56px}}
.addition-table{border-collapse:separate;border-spacing:3px;margin:14px auto 0;font-variant-numeric:tabular-nums}.addition-table caption{font-weight:750;margin-bottom:6px}.addition-table th,.addition-table td{width:clamp(32px,11vw,54px);height:clamp(32px,11vw,46px);border-radius:7px;background:#f5f0ff;font-weight:750}.addition-table th{background:#e8dfff;color:#432984}.addition-table .addition-active{background:#ffedac;outline:2px solid #ae7a18}.addition-table .addition-correct{background:#d8f8e9;color:#215740}.board .addition-prompt{font-size:24px;font-weight:850;margin:14px 0 6px;color:#211a37}.puzzle-pair{display:flex;justify-content:center;gap:14px;margin:12px 0}.puzzle-pair>div{min-width:0}.puzzle-grid{display:grid;grid-template-columns:repeat(var(--columns),clamp(23px,8vw,49px));gap:3px}.puzzle-pair.mirrored>div:first-child{border-right:3px dashed #c34555;padding-right:12px}.puzzle-cell{width:100%;aspect-ratio:1;background:#faf6ff;border:1px solid #cfc0e5;border-radius:5px;padding:0}.puzzle-cell[data-filled=true],.puzzle-cell[aria-pressed=true]{background:#7253c6;border-color:#5436a0}.puzzle-input .puzzle-cell:hover:not(:disabled){outline:2px solid #a88de9;outline-offset:-2px}.mix-target{display:flex;align-items:center;justify-content:center;gap:14px;font-size:23px;margin:19px 0}.mix-swatch{display:inline-block;width:52px;height:52px;border-radius:50%;background:var(--paint);border:2px solid #54436e}.palette button:disabled{cursor:default}
.header-actions{display:flex;gap:8px;align-items:center}.sound-toggle,.listen-button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid #ddd0f4;border-radius:12px;padding:7px 10px;background:#f6f0ff;color:#432684;font-weight:750}.sound-toggle[aria-pressed=false]{background:#f3f1f6;color:#5b5367}.sound-toggle:hover,.listen-button:hover{border-color:#9a76e1}@media(max-width:430px){.sound-toggle{font-size:0;padding:7px 9px}.sound-toggle .sound-icon{font-size:17px}.header-actions .stars{font-size:13px;padding-inline:8px}}
.word-listen-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}
.drawing-tools,.drawing-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:12px}.drawing-tools button{background:#f6f0ff;border:1px solid #d8caee;border-radius:10px;color:#3c246d;padding:7px 10px;font-weight:750}.drawing-tools button[aria-pressed=true]{background:#e9ddff;border-color:#8357ce}.drawing-colors button{background:#fff;color:#302445;border-color:#ddd4ea}.drawing-colors button::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--paint);margin-right:5px}.drawing-paper{display:block;width:100%;max-width:600px;aspect-ratio:5/3;background:#fff;border-radius:13px;outline:2px solid #d5c6ed;margin:16px auto 0;touch-action:none;user-select:none;cursor:crosshair;overflow:hidden}.drawing-paper g{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.practice-length{background:#fff;border:1px solid #e8e2f2;border-radius:12px;padding:12px 16px;margin-bottom:16px}.practice-length label{font-weight:750}.practice-length select{font:inherit;padding:6px;border:1px solid #b8a4dc;border-radius:8px;margin-left:8px}.practice-length p{font-size:13px;color:#635b75;margin:6px 0 0}
