@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-cyrillic-ext-400-normal-VNDy5CZS.woff2)format("woff2"),url(/assets/andika-cyrillic-ext-400-normal-BJwze9_g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-cyrillic-400-normal-DYbdP60f.woff2)format("woff2"),url(/assets/andika-cyrillic-400-normal-CIdpN1kB.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-vietnamese-400-normal-afg23LQ3.woff2)format("woff2"),url(/assets/andika-vietnamese-400-normal-Bw99zChb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-ext-400-normal-D580Nkki.woff2)format("woff2"),url(/assets/andika-latin-ext-400-normal-NXfvB_tZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-400-normal-BTFTIZb-.woff2)format("woff2"),url(/assets/andika-latin-400-normal-BK42By1L.woff)format("woff");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:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-cyrillic-ext-700-normal-DvCsrHON.woff2)format("woff2"),url(/assets/andika-cyrillic-ext-700-normal-BdIUMeTx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-cyrillic-700-normal-D404ywHU.woff2)format("woff2"),url(/assets/andika-cyrillic-700-normal-Bzg0mZT8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-vietnamese-700-normal-CS3rZngu.woff2)format("woff2"),url(/assets/andika-vietnamese-700-normal-CZOGxJjV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-ext-700-normal-Ch3SGZaH.woff2)format("woff2"),url(/assets/andika-latin-ext-700-normal-DBt0PRsd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-700-normal-Dk95f5lc.woff2)format("woff2"),url(/assets/andika-latin-700-normal-CAUSQC6x.woff)format("woff");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{--bg:#f6f3ec;--surface:#fff;--ink:#1f2a37;--ink-soft:#5b6573;--line:#e2ddd2;--accent:#2f6fdb;--accent-ink:#fff;--word:#2f6fdb;--nonword:#d9771f;--ok:#2e8a57;--miss:#b54a2e;--radius:18px;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:Andika,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input{font:inherit;color:inherit}h1{margin:0 0 .4em;font-size:clamp(1.8rem,4vw,2.6rem)}.app{flex-direction:column;min-height:100%;display:flex}main{flex:1;display:flex}.topbar{color:var(--ink-soft);align-items:center;gap:16px;padding:10px 20px;font-size:.95rem;display:flex}.topbar .pupil{margin-right:auto}.sync{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.sync i{background:var(--ok);border-radius:50%;width:9px;height:9px}.sync.busy i{background:#d4a72c}.sync.off i{background:var(--miss)}.screen{flex-direction:column;flex:1;align-items:center;width:100%;max-width:900px;margin:0 auto;padding:24px 20px 40px;display:flex}.screen.center{text-align:center;justify-content:center}.lead{color:var(--ink-soft);margin:0 0 1.5em;font-size:1.3rem}.hint{color:var(--ink-soft);margin:4px 0 12px;font-size:.9rem}.note{background:#fff4d6;border-radius:12px;padding:10px 14px;font-size:.95rem}.error{color:var(--miss)}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.5}.primary{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:14px 32px;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-block}.primary.big{margin-top:16px;padding:18px 56px;font-size:1.5rem}.primary.small{padding:8px 18px;font-size:.95rem}.ghost{border:1.5px solid var(--line);color:var(--ink-soft);background:0 0;border-radius:999px;padding:6px 16px;font-size:.95rem;text-decoration:none}.start{justify-content:center}.card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:0 1px 0 var(--line), 0 8px 24px #1f2a370f;flex-direction:column;gap:8px;margin-bottom:16px;padding:24px;display:flex}.card label{flex-direction:column;gap:6px;font-weight:700;display:flex}.card input[type=text],.card input:not([type]),.card input[type=password]{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:1.2rem;font-weight:400}.card input:focus{outline:2px solid var(--accent);outline-offset:1px}.resume{background:#eef4ff}.resume p{margin:0 0 8px}.grades{border:0;gap:10px;margin:4px 0 0;padding:0;display:flex}.grades legend{margin-bottom:6px;font-weight:700}.grades label{border:1.5px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:row;flex:1;justify-content:center;padding:12px 0;font-size:1.3rem}.grades label.on{border-color:var(--accent);color:var(--accent);background:#eef4ff}.grades input{opacity:0;pointer-events:none;position:absolute}.footer-link{color:var(--ink-soft);margin-top:12px;font-size:.9rem}.menu{justify-content:center}.menu .lead{margin-bottom:1em}.task-list{flex-direction:column;gap:14px;width:100%;max-width:620px;margin:0;padding:0;list-style:none;display:flex}.task-card{text-align:left;background:var(--surface);width:100%;box-shadow:0 1px 0 var(--line), 0 8px 24px #1f2a370f;border-radius:22px;align-items:center;gap:18px;padding:18px 22px;transition:transform .1s,box-shadow .1s;display:flex}.task-card:not(:disabled):hover{box-shadow:0 1px 0 var(--line), 0 12px 28px #1f2a371a;transform:translateY(-2px)}.task-card:disabled{opacity:1}.task-number{width:56px;height:56px;color:var(--accent);background:#eef4ff;border-radius:50%;flex:none;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.task-card.done .task-number{color:var(--ok);background:#e3f3e9}.task-card.soon .task-number{color:var(--ink-soft);background:#f1ede4}.task-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.task-title{font-size:1.35rem;font-weight:700}.task-subtitle{color:var(--ink-soft);font-size:.95rem}.task-card.soon .task-title{color:var(--ink-soft)}.status.new{color:var(--accent);background:#eef4ff}.status.started{color:#a86a00;background:#fff1d6}.status.soon{color:var(--ink-soft);background:#f1ede4}.topbar .back{color:var(--ink);margin-right:auto;font-weight:700}.instruction{text-align:center;justify-content:center;gap:8px}.instruction-text{max-width:38em;margin:12px 0;font-size:1.35rem;line-height:1.55}.example-row{flex-wrap:wrap;justify-content:center;gap:20px;margin:8px 0 4px;display:flex}.example{background:var(--surface);border-radius:var(--radius);flex-direction:column;align-items:center;gap:10px;padding:16px 28px;display:flex}.example-word{font-size:2.2rem;font-weight:700}.chip{color:#fff;border-radius:999px;padding:4px 14px;font-size:.95rem;font-weight:700}.chip-word{background:var(--word)}.chip-nonword{background:var(--nonword)}.trial{-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:space-between}.phase-label{color:var(--ink-soft);font-size:1rem}.stimulus{letter-spacing:.02em;flex:1;justify-content:center;align-items:center;min-height:2em;font-size:clamp(4rem,14vw,8rem);font-weight:700;display:flex}.answer-row{gap:20px;width:100%;max-width:760px;display:flex}.answer{color:#fff;border-radius:28px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-height:140px;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:700;transition:transform 50ms;display:flex;box-shadow:0 6px #0000002e}.answer:active:not(:disabled){transform:translateY(3px);box-shadow:0 3px #0000002e}.answer:disabled{opacity:.35}.answer-word{background:var(--word)}.answer-nonword{background:var(--nonword)}.feedback{background:var(--surface);border-radius:var(--radius);white-space:nowrap;border:3px solid;padding:14px 28px;font-size:1.5rem;position:fixed;top:22%;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #1f2a3726}.feedback.ok{border-color:var(--ok);color:var(--ok)}.feedback.miss{border-color:var(--miss);color:var(--miss)}.feedback b{color:var(--ink)}.progress{width:100%;max-width:760px;padding:12px 20px 0}.progress-track{background:#ebe4d4;border-radius:99px;height:18px;position:relative;box-shadow:inset 0 2px 3px #1f2a3714}.progress-fill{background:repeating-linear-gradient(-45deg,#ffffff38 0 8px,#0000 8px 16px),linear-gradient(90deg,#7cc6ff,#9b8cff 50%,#f58ec0) 0 0/720px 100%;border-radius:99px;min-width:18px;height:100%;transition:width .5s cubic-bezier(.34,1.4,.64,1)}.progress-rider{filter:drop-shadow(0 2px 2px #00000026);transition:left .5s cubic-bezier(.34,1.4,.64,1);position:absolute;top:50%;transform:translate(-50%,-50%)}.star-pop{animation:.45s ease-out star-pop;display:block}@keyframes star-pop{0%{transform:scale(.7)rotate(-20deg)}60%{transform:scale(1.25)rotate(8deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.progress-fill,.progress-rider{transition:none}.star-pop{animation:none}}.done-badge{color:#fff;background:#ffd65a;border-radius:50%;width:120px;height:120px;margin-bottom:20px;font-size:72px;line-height:120px}.results{max-width:1200px;margin:0 auto;padding:24px 20px 60px}.results-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.results-head h1{margin:0 auto 0 0;font-size:1.8rem}.results-actions{align-items:center;gap:10px;display:flex}.empty{color:var(--ink-soft);padding:40px 0}.table-wrap{background:var(--surface);border-radius:var(--radius);margin-top:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums}.strong{font-weight:700}.status{white-space:nowrap;border-radius:999px;padding:3px 12px;font-size:.85rem;font-weight:700}.status.done{color:var(--ok);background:#e3f3e9}.status.open{color:var(--ink-soft);background:#f1ede4}@media (width<=600px){.answer-row{gap:12px}.answer{border-radius:22px;min-height:120px}.feedback{white-space:normal;text-align:center;width:90%;font-size:1.15rem}}
