:root{--bg:#fff8ec;--ink:#2b2a4c;--muted:#5f5d7e;--yellow:#ffc93c;--coral:#ff6b6b;--sky:#4cc9f0;--green:#6bcb77;--grape:#7b5ea7;--card:#fff;--line:3px solid var(--ink);--shadow:0 5px 0 var(--ink);color:var(--ink);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:18px/1.45 ui-rounded,Nunito,Varela Round,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background-color:var(--bg);background-image:radial-gradient(circle at 10% 14%,#ffe9a8 0 90px,#0000 91px),radial-gradient(circle at 94% 72%,#cdeffb 0 120px,#0000 121px);background-attachment:fixed;min-height:100vh;margin:0}main{max-width:640px;margin:0 auto;padding:16px 16px 40px}h1{margin:0 0 8px;font-size:28px;line-height:1.15}h2{margin:20px 0 8px;font-size:21px;line-height:1.2}a{color:var(--ink);font-weight:700}.brand{align-items:center;gap:10px;margin:4px 0 18px;font-size:24px;font-weight:800;display:flex}.brand .mascot{width:52px;height:52px}.card{background:var(--card);border:var(--line);box-shadow:var(--shadow);border-radius:26px;margin-bottom:20px;padding:20px}.card>:last-child{margin-bottom:0}label{margin:14px 0 6px;font-weight:700;display:block}input,select,textarea{font:inherit;border:var(--line);width:100%;color:var(--ink);background:#fff;border-radius:16px;padding:10px 14px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--sky);outline-offset:2px}button{font:inherit;color:#fff;background:var(--coral);border:var(--line);box-shadow:0 5px 0 var(--ink);cursor:pointer;border-radius:999px;margin-top:16px;padding:11px 26px;font-weight:800;transition:transform 80ms,box-shadow 80ms}button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}button.link{color:var(--ink);box-shadow:none;background:0 0;border:0;margin:0;padding:0;text-decoration:underline}button.link:active{transform:none}.pill{background:var(--yellow);border:var(--line);border-radius:999px;margin:4px 8px 4px 0;padding:6px 16px;font-weight:800;display:inline-block}.error{color:#b3261e;font-weight:700}.muted{color:var(--muted);font-weight:400}@media (prefers-reduced-motion:no-preference){.mascot{animation:3s ease-in-out infinite bob}}@keyframes bob{50%{transform:translateY(-5px)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 5px 0 var(--ink)}button.ghost{color:var(--ink);background:#fff}a button{text-decoration:none}.kid-top{align-items:center;gap:12px;margin:4px 0 20px;display:flex}.kid-top .avatar{filter:drop-shadow(0 3px 0 var(--ink));flex:none}.kid-top>div{flex:1}.hi{font-size:26px;font-weight:800;line-height:1.1}.sub{color:var(--muted);font-size:15px}.grownup{width:46px;height:46px;box-shadow:0 3px 0 var(--ink);background:#fff;place-items:center;margin:0;padding:8px;display:grid}.hero{background:var(--yellow);grid-template-columns:1fr 120px;align-items:center;gap:8px;display:grid}.hero .mascot{width:120px;height:120px}@media (width<=420px){.hero{grid-template-columns:1fr 90px}.hero .mascot{width:90px;height:90px}}.note{border:2.5px dashed var(--ink);background:#fff;border-radius:18px;align-items:center;gap:10px;padding:10px 14px;font-size:15px;display:flex}.overlay{background:#2b2a4c8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{width:100%;max-width:360px;margin:0}.dialog h2{margin-top:0}.dialog input{letter-spacing:.4em;text-align:center;font-size:28px}.actions{gap:12px;display:flex}.profile-row{align-items:center;gap:14px;margin-bottom:4px;display:flex}.profile-row .avatar{filter:drop-shadow(0 3px 0 var(--ink));flex:none}fieldset.avatar-picker{border:0;flex-wrap:wrap;gap:10px;margin:14px 0 0;padding:0;display:flex}.avatar-picker legend{margin-bottom:6px;padding:0;font-weight:700}.avatar-option{border:var(--line);cursor:pointer;border-radius:18px;flex-direction:column;align-items:center;margin:0;padding:8px 10px;font-size:14px;font-weight:700;display:flex;position:relative}.avatar-option input{opacity:0;width:1px;height:1px;position:absolute}.avatar-option:has(input:checked){background:var(--yellow);box-shadow:0 4px 0 var(--ink)}.avatar-option:has(input:focus-visible){outline:3px solid var(--sky);outline-offset:2px}.question .ask{margin:14px 0 4px;font-size:20px}.question .stem{margin:0 0 8px;font-size:22px;font-weight:700;line-height:1.35}.progress{border:var(--line);background:#fff;border-radius:999px;height:14px;overflow:hidden}.progress span{background:var(--green);height:100%;transition:width .3s;display:block}.choices{gap:12px;margin-top:12px;display:grid}button.choice{text-align:left;width:100%;color:var(--ink);background:#fff;margin:0;padding:14px 18px}button.choice:hover:not(:disabled){background:var(--yellow)}button.unsure{margin:18px auto 0;font-size:16px;display:block}@media (prefers-reduced-motion:reduce){.progress span{transition:none}}.wordcard h1{margin-bottom:0;font-size:40px}.wordcard .newtag{text-transform:uppercase;letter-spacing:.08em;color:var(--grape);margin:0 0 4px;font-size:14px;font-weight:800}.wordcard .pos{color:var(--muted);margin:0 0 12px;font-style:italic}.wordcard .def{margin:0 0 8px;font-size:21px;font-weight:700}.examples{margin:0 0 12px;padding-left:22px}.examples li{margin-bottom:6px}.chips{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.chiplabel{margin-right:4px;font-size:14px;font-weight:800}.chip{border:2.5px solid var(--ink);background:var(--bg);border-radius:999px;padding:3px 12px;font-size:15px;font-weight:700}.feedback{border:2.5px dashed var(--ink);background:#f4fbff;border-radius:18px;margin-top:16px;padding:14px 16px}.feedback .verdict{margin:0 0 4px;font-size:20px;font-weight:800}.feedback .rightans{background:var(--yellow);border:var(--line);border-radius:12px;margin:0 0 6px;padding:2px 12px;font-size:20px;font-weight:800;display:inline-block}.feedback .why{margin:6px 0 0}.stickers{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-auto-rows:1fr;gap:12px;display:grid}.sticker{text-align:left;color:var(--ink);border:var(--line);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:18px;flex-direction:column;align-items:stretch;gap:6px;margin:0;padding:12px 14px;font-weight:400;display:flex}.sticker:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.sticker-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sticker b{font-size:21px}.sticker .pos{color:var(--muted);background:#f1ecff;border-radius:999px;padding:2px 8px;font-size:12px;font-style:normal;font-weight:700}.sticker .def{color:var(--ink);opacity:.8;font-size:16px;line-height:1.35}.card-tools{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;display:flex}.card-tools input{flex:200px;width:auto}.seg{border:var(--line);background:#fff;border-radius:999px;display:inline-flex;overflow:hidden}.seg button{box-shadow:none;color:var(--ink);background:0 0;border:0;border-radius:0;margin:0;padding:8px 18px}.seg button.on{background:var(--yellow)}.seg button:active{transform:none}a.grownup{text-decoration:none}label.check{align-items:center;gap:10px;font-weight:600;display:flex}label.check input{width:22px;height:22px;margin:0}h3{margin:18px 0 6px;font-size:18px}.hit{border-bottom:2px dashed var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.hit button{flex:none;margin:0;padding:8px 16px}.shell-bar{align-items:center;gap:10px;margin:2px 0 16px;display:flex}.shell-bar .progress{flex:1;min-width:0}.shell-fill{flex:1}.shell-bar .left{white-space:nowrap;font-size:14px;font-weight:700}.round-btn,.shell-bar .grownup{border:var(--line);width:46px;height:46px;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:50%;flex:none;place-items:center;margin:0;padding:0;text-decoration:none;display:grid}.round-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}button.choice{align-items:center;gap:12px;min-height:52px;display:flex}button.choice .num{border:2.5px solid var(--ink);background:var(--sky);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:14px;display:grid}button.choice.ok{background:#ddf6e0}button.choice.ok .num{background:var(--green)}button.choice.no{background:#ffe3e3}button.choice:disabled{opacity:1;cursor:default}.feedback.good{background:#ddf6e0;justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback.good .verdict{margin:0}button.small{margin:0;padding:6px 18px;font-size:15px}.qgrid{gap:12px;display:grid}.qside{min-width:0}@media (width>=820px){main.kid{max-width:960px}.qgrid{grid-template-columns:1fr 1fr;align-items:start;gap:28px}.qtext .stem{font-size:28px}.wordcard{max-width:720px;margin-left:auto;margin-right:auto;display:block}}@media (pointer:coarse){button.choice{min-height:60px}button,.round-btn{touch-action:manipulation}}main.kid{padding-bottom:max(40px, env(safe-area-inset-bottom))}.qtext .chip{margin:0 0 10px;font-size:14px;display:inline-block}.pagehead{align-items:center;gap:14px;margin:4px 0 14px;display:flex}.pagehead h1{margin:0}.pagehead .avatar{filter:drop-shadow(0 3px 0 var(--ink));flex:none}button.big{width:100%;padding:15px;font-size:20px}.center{text-align:center;margin:8px 0 18px}.steps{gap:6px;margin:4px 0 16px;display:flex}.steps i{border:2.5px solid var(--ink);background:#fff;border-radius:99px;flex:1;height:10px}.steps i.on{background:var(--yellow)}.card.soft{background:#f4fbff}.days{gap:8px;margin:8px 0 14px;display:flex}.days i{border:2.5px solid var(--ink);background:#fff;border-radius:10px;flex:1;place-items:center;height:36px;font-size:13px;font-style:normal;font-weight:800;display:grid}.days i.on{background:var(--green)}.stats{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats b{font-size:30px;line-height:1.1;display:block}.stats span{color:var(--muted);font-size:13px}.tip{border-top:2px dashed #2b2a4c59;gap:12px;padding:12px 0;display:flex}.tip:first-of-type{border-top:0}.tip .dot{border:2.5px solid var(--ink);background:var(--sky);border-radius:50%;flex:none;width:14px;height:14px;margin-top:6px}.tip .dot.g{background:var(--green)}.tip b{display:block}.tip p{margin:8px 0 0}.card.list{padding:6px 18px}.card.list a{border-top:2px dashed #2b2a4c59;justify-content:space-between;padding:14px 2px;font-weight:700;text-decoration:none;display:flex}.card.list a:first-child{border-top:0}@media (width>=820px){main{max-width:760px}}.brand .brand-actions{align-items:center;gap:10px;margin:0 0 0 auto;display:flex}.brand .brand-actions button{margin:0}a.btn-small{color:var(--ink);border:var(--line);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:999px;padding:6px 18px;font-size:15px;font-weight:800;text-decoration:none;display:inline-block}a.btn-small:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}footer.legal{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 12px;margin:28px 0 8px;font-size:15px;display:flex}footer.legal a{font-weight:600}.days i{flex-direction:column;gap:0;height:52px;line-height:1.1}.days i .wd{font-size:12px}.days i .dn{font-size:15px}p.muted.small{margin:0 0 12px;font-size:13px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 14px;font-size:13px;display:flex}.swatch{border:2.5px solid var(--ink);background:var(--green);border-radius:4px;width:14px;height:14px;margin-right:-6px;display:inline-block}.swatch.none{background:#fff}.legend-today{color:var(--ink);margin-left:auto;font-weight:800}.wordlist ul{margin:0 0 20px;padding:0;list-style:none}.wordlist li{break-inside:avoid;border-top:2px dashed #2b2a4c4d;padding:12px 0}.wordlist li:first-child{border-top:0}.wordlist li i{color:var(--muted);font-size:14px}.wordlist .eg{color:var(--muted);font-style:italic}.printonly{display:none}@media print{body{background:#fff!important}.brand,footer.legal,.noprint,button,nav{display:none!important}.printonly{display:block}main{max-width:none;padding:0}.card.wordlist{box-shadow:none;background:0 0;border:0;margin-bottom:8px;padding:0}.wordlist li{border-top:1px solid #bbb}}.days{padding-top:12px}.days i{position:relative}.days i .tag{color:var(--ink);background:var(--yellow);border:2px solid var(--ink);border-radius:999px;padding:0 6px;font-size:10px;font-weight:800;line-height:15px;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.or-divider{color:var(--muted,#6b6b7b);align-items:center;gap:12px;margin:16px 0 12px;font-size:.85rem;display:flex}.or-divider:before,.or-divider:after{content:"";opacity:.3;border-top:1px solid;flex:1}.auth button:not(.link){justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.auth .muted{text-align:center}.wanted-summary{margin:14px 0 8px}.wanted-chips{flex-wrap:wrap;gap:8px;max-height:260px;margin:0 0 8px;padding:0;list-style:none;display:flex;overflow-y:auto}.wanted-chips li{background:var(--yellow);border:var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 14px;font-weight:700;display:inline-flex}.wanted-chips li.chip-no_content{color:var(--muted);background:#ececf2;font-weight:400}.wanted-chips li.chip-learning{background:#ddf6e0}.wanted-chips li.chip-known{background:var(--sky)}.wanted-chips button.link{padding:0 4px;font-size:18px;line-height:1;text-decoration:none}textarea{resize:vertical;font:inherit}.overlay{z-index:20;background:#2b2a4c73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet{border:var(--line);width:min(420px,100%);max-height:90vh;box-shadow:0 6px 0 var(--ink);background:#fffbe9;border-radius:22px;padding:20px;overflow-y:auto}.sheet .sticker-head b{font-size:26px}.sheet p{margin:10px 0 0;font-size:17px;line-height:1.4}.sheet .ex{font-style:italic}.sheet em{font-style:normal;font-weight:800}.loading{color:var(--muted);justify-items:center;gap:4px;padding:56px 16px;display:grid}.loading .mascot{width:84px;height:84px}.auth .forgot{text-align:right;margin:8px 0 0}.home-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.home-actions button{flex:140px;margin:0}.hero button.big{margin-top:12px}a.btn-big{text-align:center;color:#fff;background:var(--coral);border:var(--line);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-top:16px;padding:15px;font-size:20px;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:block}a.btn-big:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.card.list a>span:first-child{flex-direction:column;gap:2px;display:flex}.card.list a>span:last-child{align-self:center}.card.list .sub{color:var(--muted);font-size:14px;font-weight:400}.bars{gap:12px;margin:8px 0 14px;padding:0;list-style:none;display:grid}.bar-head{justify-content:space-between;gap:12px;font-weight:700;display:flex}.bar-head .muted{white-space:nowrap;font-weight:400}.bar-track{border:2px solid var(--ink);background:#f1ecff;border-radius:999px;height:12px;margin-top:4px;overflow:hidden}.bar-fill{background:var(--green,#7ed957);height:100%}.bar-fill.faint{background:0 0}.sessions,.qlist{margin:0;padding:0;list-style:none}.sessions>li{border-top:2px dashed #2b2a4c4d;padding:10px 0}.sessions>li:first-child{border-top:0}button.link.row{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;font-weight:400;text-decoration:none;display:flex}.block{display:block}.qlist{margin-top:8px}.qlist li{border-top:1px solid #2b2a4c26;padding:6px 0 6px 8px}.qlist summary{cursor:pointer}.qlist p{margin:6px 0 0}.mark{border:2px solid var(--ink);border-radius:999px;margin-left:8px;padding:2px 10px;font-size:13px;font-weight:800}.mark.ok{background:#ddf6e0}.mark.again{background:var(--yellow)}details.how{margin-top:10px}details.how summary{cursor:pointer;font-weight:700}details.how ul{gap:6px;margin:8px 0 0;padding-left:20px;display:grid}.weekrow{border-top:2px dashed #2b2a4c4d;padding:10px 0}.weekrow:first-of-type{border-top:0}details.fold>summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:12px;list-style:none;display:flex}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary h2{margin:0}details.fold[open]>summary{margin-bottom:10px}.sticker .tags,.sheet .tags{flex:none;gap:6px;display:inline-flex}.sticker .pos.new,.sheet .pos.new{background:var(--yellow);color:var(--ink);border:2px solid var(--ink)}.milestone{align-items:center;gap:14px;display:flex}.milestone p{margin:0}.milestone .stars{letter-spacing:2px;white-space:nowrap;font-size:26px}.milestone .stars span{color:#d9d4ee}.milestone .stars span.on{color:var(--yellow-deep,#ffc93c);text-shadow:0 1px 0 var(--ink)}.note.slim{color:var(--muted);background:0 0;border:0;padding:4px 2px;font-size:14px}.note.slim svg{flex:none;width:20px;height:20px}.sheet .marked{border:2px solid var(--ink);background:#ddf6e0;border-radius:14px;margin:14px 0 0;padding:10px 12px}.sheet button.ghost{width:100%;margin-top:14px}.stickers .sticker-head{flex-direction:column;align-items:flex-start;gap:6px}.stickers .sticker .tags{flex-wrap:wrap}.legal-doc h2{margin-top:22px}.legal-doc ul{gap:6px;padding-left:22px;display:grid}.brand a.brand-home{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}@media (width<=420px){.brand .brand-name{font-size:18px}.brand .mascot{width:40px;height:40px}}
