@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");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{--font:"Nunito Variable", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--n-0:#fff;--n-50:#f6f9fc;--n-100:#eef4fa;--n-200:#d9e4f0;--n-400:#8a9bb3;--n-600:#51607a;--n-900:#1e3a5f;--sky:#cfeaff;--cream:#fffdf7;--brand-100:#ffe7df;--brand-500:#e8552f;--brand-600:#d9471f;--brand-700:#b83d1a;--brand-800:#973014;--on-brand:#fff;--math:#1565c0;--math-100:#dbeafe;--lt:#2e7d32;--lt-100:#dcfce7;--logic:#7b1fa2;--logic-100:#f3e8ff;--ok:#1e7a46;--ok-100:#dff5e1;--bad:#c62828;--bad-100:#ffe3e0;--bad-700:#b91c1c;--warn:#a16207;--warn-100:#fef9c3;--star:#f5a300;--star-ink:#1e3a5f;--key-edge:#bcd9f2;--shape-red:var(--bad);--shape-blue:var(--math);--shape-green:var(--lt);--shape-yellow:var(--star);--shape-purple:var(--logic);--r-sm:8px;--r-md:14px;--r-lg:22px;--r-xl:30px;--r-full:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--t-xs:13px;--t-sm:15px;--t-base:16px;--t-md:18px;--t-lg:24px;--t-xl:34px;--t-2xl:48px;--t-avatar:64px;--lh-tight:1.15;--lh-body:1.5;--w-regular:400;--w-semibold:600;--w-bold:800;--border:2px;--border-dashed:3px;--border-accent:5px;--focus-ring:3px;--edge:4px;--press:3px;--control-h:48px;--icon-button:44px;--speak-button:56px;--key-h:60px;--avatar-xs:28px;--avatar-sm:40px;--avatar-lg:96px;--avatar-xl:128px;--pin-dot:18px;--progress-h:12px;--slot:72px;--picture:72px;--letter-cell-w:44px;--letter-cell-h:52px;--syllable-slot-w:64px;--result-star:56px;--icon-inline:1.25em;--checkbox:20px;--slot-sm:40px;--picture-sm:40px;--picture-preview:48px;--letter-cell-sm-w:32px;--letter-cell-sm-h:36px;--syllable-slot-sm-w:48px;--w-form:400px;--w-page:720px;--w-child:480px;--sh-1:0 1px 2px #1e3a5f1a;--sh-2:0 6px 18px #1e3a5f2e;--disabled-opacity:.55;--duration:.15s;--ease-out:cubic-bezier(.2, .8, .2, 1)}*,:before,:after{box-sizing:border-box;min-width:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;text-wrap:pretty;overflow-wrap:break-word;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100svh;font-family:var(--font);font-size:var(--t-base);line-height:var(--lh-body);color:var(--n-900);background:var(--n-100);margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:var(--lh-tight);text-wrap:balance}svg{flex:none;display:block}input,button{font:inherit}input{font-size:max(var(--t-base), 1rem)}button,a{touch-action:manipulation}button{-webkit-user-select:none;user-select:none}:focus-visible{outline:var(--focus-ring) solid var(--brand-500);outline-offset:var(--border)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:clip}.icon{width:var(--icon-inline);height:var(--icon-inline)}.muted{color:var(--n-600)}.nowrap{white-space:nowrap}.stack{gap:var(--s-4);flex-direction:column;display:flex}.button{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--control-h);padding-inline:var(--s-5);border:var(--border) solid transparent;border-radius:var(--r-md);font-size:var(--t-base);font-weight:var(--w-semibold);cursor:pointer;transition:background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);text-decoration:none;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}.button--primary{background:var(--brand-700);color:var(--on-brand);font-weight:var(--w-bold)}.button--secondary{background:var(--n-0);border-color:var(--n-200);color:var(--n-900)}.button--ghost{color:var(--n-600);padding-inline:var(--s-3);background:0 0}.button--danger{background:var(--bad);color:var(--on-brand)}.button--block{width:100%}.button--huge{width:100%;min-height:var(--key-h);border-radius:var(--r-lg);font-size:var(--t-lg);font-weight:var(--w-bold)}.button--huge.button--primary{--edge-color:var(--brand-700);background:var(--brand-500)}.button--primary:active:not(:disabled){background:var(--brand-800)}.button--huge.button--primary:active:not(:disabled){background:var(--brand-600)}.button--secondary:active:not(:disabled),.button--ghost:active:not(:disabled){background:var(--n-200)}.icon-button{width:var(--icon-button);height:var(--icon-button);border-radius:var(--r-full);background:var(--n-100);color:var(--n-600);cursor:pointer;transition:background-color var(--duration) var(--ease-out);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:active{background:var(--n-200)}.icon-button--danger{color:var(--bad)}.speak-control{align-items:center;gap:var(--s-1);flex-direction:column;flex:none;display:inline-flex}.speak{background:var(--brand-100);color:var(--brand-600);transition:background-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out)}.speak--lg{width:var(--speak-button);height:var(--speak-button)}.speak:active,.speak[data-state=playing]{background:var(--brand-500);color:var(--on-brand)}.speak[data-state=playing]{box-shadow:0 0 0 4px var(--brand-100)}.speak__error{color:var(--bad);font-size:var(--t-xs);white-space:normal}@media (hover:hover) and (pointer:fine){.button--primary:hover:not(:disabled){background:var(--brand-600)}.button--secondary:hover:not(:disabled),.button--ghost:hover:not(:disabled),.icon-button:hover{background:var(--n-100);border-color:var(--n-400)}.button--danger:hover:not(:disabled){background:var(--bad-700)}.icon-button--danger:hover{background:var(--bad-100)}.speak:hover{background:var(--brand-500);color:var(--on-brand)}.key:hover:not(:disabled),button.syllable-slot--filled:hover:not(:disabled){--edge-color:var(--brand-500)}button.word__cell--gap:hover:not(:disabled),button.syllable-slot:not(.syllable-slot--filled):hover:not(:disabled){border-color:var(--brand-500)}.avatar-button:hover{--edge-color:var(--brand-500)}.level-option:hover:not(:has(:disabled)){border-color:var(--brand-500)}.parent-nav__link:hover,.segmented__option:hover{background:var(--n-100)}.session-row:hover{background:var(--n-50)}.text-link:hover{color:var(--brand-700)}}.text-link{align-items:center;gap:var(--s-1);min-height:var(--icon-button);color:var(--n-600);font-size:var(--t-sm);font-weight:var(--w-semibold);display:inline-flex}.field{gap:var(--s-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.field__label{font-weight:var(--w-semibold);padding:0}.field__help{color:var(--n-600);font-size:var(--t-sm)}.field__error{align-items:center;gap:var(--s-1);color:var(--bad);font-size:var(--t-sm);font-weight:var(--w-semibold);display:flex}.input{width:100%;min-height:var(--control-h);padding-inline:var(--s-3);border:var(--border) solid var(--n-200);border-radius:var(--r-sm);background:var(--n-0);color:var(--n-900)}.input[aria-invalid=true]{border-color:var(--bad)}.form-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.notice{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-weight:var(--w-semibold);display:flex}.notice--error{background:var(--bad-100);color:var(--bad)}.notice--success{background:var(--ok-100)}.notice--success .icon{color:var(--ok)}.notice--stacked{flex-direction:column;align-items:flex-start}.notice--invite{align-items:flex-start;gap:var(--s-3);padding:var(--s-4);background:var(--warn-100);font-weight:var(--w-regular)}.notice__icon{width:24px;height:24px;color:var(--warn);flex:none;margin-top:2px}.notice__body{gap:var(--s-3);flex-direction:column;flex:1;display:flex}.notice__title{font-weight:var(--w-bold)}.notice__text{font-size:var(--t-sm)}.avatar{border-radius:var(--r-full);background:var(--brand-100);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.avatar--xs{width:var(--avatar-xs);height:var(--avatar-xs);font-size:var(--t-base)}.avatar--sm{width:var(--avatar-sm);height:var(--avatar-sm);font-size:var(--t-lg)}.avatar--lg{width:var(--avatar-lg);height:var(--avatar-lg);font-size:var(--t-2xl)}.avatar--xl{width:var(--avatar-xl);height:var(--avatar-xl);font-size:var(--t-avatar)}.avatar-picker__grid{gap:var(--s-2);grid-template-columns:repeat(6,1fr);display:grid}.avatar-option{min-height:var(--icon-button);border:var(--border) solid var(--n-200);border-radius:var(--r-md);background:var(--n-0);font-size:var(--t-lg);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.avatar-option:has(:checked){border-color:var(--brand-500);background:var(--brand-100)}.avatar-option:has(:focus-visible){outline:var(--focus-ring) solid var(--brand-500);outline-offset:var(--border)}.avatar-option__input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.page-center{min-height:100svh;padding:var(--s-6) var(--s-4);place-items:center;display:grid}.auth-card{gap:var(--s-5);width:100%;max-width:var(--w-form);padding:var(--s-6);border-radius:var(--r-lg);background:var(--n-0);box-shadow:var(--sh-1);flex-direction:column;display:flex}.auth-card__title{font-size:var(--t-lg)}.topbar{background:var(--n-0);border-block-end:var(--border) solid var(--n-200)}.topbar__inner{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-4);max-width:var(--w-page);padding:var(--s-2) var(--s-4);flex-wrap:wrap;margin-inline:auto;display:flex}.topbar__brand{font-weight:var(--w-bold);color:var(--brand-700)}.topbar__user{align-items:center;gap:var(--s-2);display:flex}.topbar__name{font-weight:var(--w-semibold)}.page{gap:var(--s-6);max-width:var(--w-page);padding:var(--s-6) var(--s-4) var(--s-10);flex-direction:column;margin-inline:auto;display:flex}.page__title{font-size:var(--t-xl)}.card{gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-lg);background:var(--n-0);box-shadow:var(--sh-1);flex-direction:column;display:flex}.card__title{font-size:var(--t-md)}.install-card{align-items:center;gap:var(--s-3) var(--s-4);background:var(--brand-100);box-shadow:none;flex-flow:wrap}.install-card__icon{width:var(--icon-button);height:var(--icon-button);border-radius:var(--r-full);background:var(--n-0);color:var(--brand-700);flex:none;justify-content:center;align-items:center;display:inline-flex}.install-card__text{gap:var(--s-1);flex-direction:column;flex:200px;display:flex}.pin-card{justify-content:space-between;align-items:center;gap:var(--s-3) var(--s-4);flex-flow:wrap}.pin-card__text{gap:var(--s-1);flex-direction:column;flex:200px;display:flex}.child-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.child-row{padding-block:var(--s-3);border-block-start:var(--border) solid var(--n-100)}.child-row:first-child{border-block-start:0}.child-row__summary{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.child-row__name{font-weight:var(--w-semibold);flex:1}.child-row__actions{gap:var(--s-2);display:flex}.confirm{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--bad-100);flex-direction:column;flex-basis:100%;display:flex}.confirm__text{font-weight:var(--w-semibold)}.initials{color:var(--n-900);font-size:var(--t-sm);font-weight:var(--w-bold)}.member-row__text{flex-direction:column;flex:1;min-width:0;display:flex}.member-row__name{align-items:center;gap:var(--s-2);font-weight:var(--w-semibold);flex-wrap:wrap;display:flex}.member-row__email{color:var(--n-600);font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{padding:2px var(--s-2);border-radius:var(--r-full);background:var(--n-100);color:var(--n-600);font-size:var(--t-xs);font-weight:var(--w-semibold);display:inline-block}.badge--you{background:var(--ok-100);color:var(--ok)}.badge--pending{background:var(--warn-100);color:var(--warn)}.initials--pending{background:var(--n-100);color:var(--n-600)}.member-row__address{overflow-wrap:anywhere}.member-row__note{color:var(--n-600);font-size:var(--t-sm)}.invite-form{align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.invite-form__title{font-size:var(--t-base);flex-basis:100%}.invite-form .field{flex:220px}.child-form{gap:var(--s-4);flex-direction:column;display:flex}.child-screen{min-height:100svh;padding:var(--s-5) var(--s-4);background:var(--sky);font-size:var(--t-md);flex-direction:column;align-items:center;display:flex}.child-panel{align-items:center;gap:var(--s-5);width:100%;max-width:var(--w-child);padding:var(--s-6) var(--s-5);border-radius:var(--r-xl);background:var(--cream);box-shadow:var(--sh-2);text-align:center;flex-direction:column;margin-block:auto;display:flex}.child-panel__top{align-self:stretch;display:flex}.child-panel__top--end{justify-content:flex-end}.child-title{font-size:var(--t-xl);font-weight:var(--w-bold);text-wrap:balance}.child-screen .button--ghost{font-weight:var(--w-bold)}.child-footer{padding-block-start:var(--s-5)}.avatar-grid{grid-template-columns:repeat(auto-fill, minmax(var(--avatar-xl), 1fr));gap:var(--s-4);width:100%;margin:0;padding:0;list-style:none;display:grid}.avatar-button{align-items:center;gap:var(--s-2);width:100%;padding:var(--s-4) var(--s-2);border-radius:var(--r-lg);background:var(--n-0);color:var(--n-900);cursor:pointer;flex-direction:column;display:flex}.avatar-button:active{background:var(--brand-100)}.avatar-button__name{font-size:var(--t-md);font-weight:var(--w-bold)}.avatar-button,.button--huge,.key,.word__cell,.syllable-slot--filled{--edge-color:var(--key-edge);box-shadow:0 var(--edge) 0 0 var(--edge-color);transition:background-color var(--duration) var(--ease-out), transform var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);border:0}.avatar-button:active:not(:disabled),.button--huge:active:not(:disabled),.key:active:not(:disabled),button.syllable-slot--filled:active:not(:disabled){transform:translateY(var(--press));box-shadow:none}.feedback{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--bad-100);color:var(--bad);font-size:var(--t-base);font-weight:var(--w-bold);align-self:center;display:flex}.pin{gap:var(--s-5);flex-direction:column;width:100%;display:flex}.pin__dots{justify-content:center;gap:var(--s-4);display:flex}.pin__dot{width:var(--pin-dot);height:var(--pin-dot);border:var(--border) solid var(--n-400);border-radius:var(--r-full)}.pin__dot--filled{border-color:var(--brand-500);background:var(--brand-500)}.keypad{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.key{height:var(--key-h);border-radius:var(--r-md);background:var(--n-0);color:var(--n-900);font-size:var(--t-lg);font-weight:var(--w-bold);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.key:active:not(:disabled){background:var(--n-100)}.key--muted{color:var(--n-600)}.key--go{--edge-color:var(--brand-800);background:var(--brand-700);color:var(--on-brand);font-size:var(--t-md)}.key--go:active:not(:disabled){background:var(--brand-800)}.key--go:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}.stars{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-full);background:var(--brand-100);font-size:var(--t-lg);font-weight:var(--w-bold);display:inline-flex}.stars__icon{width:var(--t-lg);height:var(--t-lg);fill:var(--star);stroke:var(--star-ink);stroke-width:1.5px;stroke-linejoin:round}.key:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}.feedback--ok{background:var(--ok-100);color:var(--ok)}.feedback--info{background:var(--n-100);color:var(--n-900)}.task-panel{align-items:stretch;gap:var(--s-4);padding:var(--s-4)}.task-top{align-items:center;gap:var(--s-3);display:flex}.progress{flex:1;gap:5px;display:flex}.progress__segment{height:var(--progress-h);border-radius:var(--r-full);background:var(--n-200);flex:1}.progress__segment--done{background:var(--ok)}.progress__segment--current{background:var(--brand-500)}.progress__count{color:var(--n-600);font-size:var(--t-base);font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.subject{align-self:flex-start;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-full);font-size:var(--t-base);font-weight:var(--w-bold);display:inline-flex}.subject--math{background:var(--math-100);color:var(--math)}.subject--lt{background:var(--lt-100);color:var(--lt)}.subject--logic{background:var(--logic-100);color:var(--logic)}.task-card{justify-content:center;gap:var(--s-4);min-height:240px;padding:var(--s-6) var(--s-3);border-radius:var(--r-lg);background:var(--sky);border:0;flex-direction:column;display:flex}.task-card__instruction{color:var(--n-600);font-size:var(--t-lg);font-weight:var(--w-bold);line-height:var(--lh-tight);text-wrap:balance}.task-card__head{align-items:center;gap:var(--s-3);display:flex}.task-card__head .task-card__instruction{flex:1}.task-card__head:has(.speak){text-align:start}.task-card .feedback{justify-content:center}.equation{justify-content:center;align-items:center;gap:var(--s-2);font-size:var(--t-2xl);font-weight:var(--w-bold);line-height:var(--lh-tight);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.slot{min-width:var(--slot);height:var(--slot);padding-inline:var(--s-2);border:var(--border-dashed) dashed var(--brand-500);border-radius:var(--r-md);background:var(--brand-100);color:var(--brand-600);justify-content:center;align-items:center;display:inline-flex}.sentence{font-size:var(--t-lg);font-weight:var(--w-bold);line-height:var(--lh-body);text-align:center;overflow-wrap:break-word}.choices{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.choice{height:calc(var(--key-h) + var(--s-5));border-radius:var(--r-lg);font-size:var(--t-xl)}.choices--2{grid-template-columns:repeat(2,1fr)}.choices--4{grid-template-columns:repeat(4,1fr)}.choice__picture,.cell--picture{font-size:var(--picture-sm);line-height:1}.key.choice--correct{--edge-color:var(--ok);background:var(--ok-100);opacity:1}.shape{width:var(--picture-sm);height:var(--picture-sm);flex:none}.shape--red{color:var(--shape-red)}.shape--blue{color:var(--shape-blue)}.shape--green{color:var(--shape-green)}.shape--yellow{color:var(--shape-yellow)}.shape--purple{color:var(--shape-purple)}.matrix{grid-template-columns:repeat(2, var(--slot));justify-content:center;gap:var(--s-2);display:grid}.matrix--2 .shape{width:var(--picture-preview);height:var(--picture-preview)}.matrix--3{grid-template-columns:repeat(3, calc(var(--slot) - var(--s-4)))}.cell{aspect-ratio:1;border:var(--border) solid var(--n-200);border-radius:var(--r-md);background:var(--n-0);justify-content:center;align-items:center;display:inline-flex}.cell--q{border:var(--border-dashed) dashed var(--brand-500);background:var(--brand-100);color:var(--brand-600);font-size:var(--t-xl);font-weight:var(--w-bold)}.shape-row{justify-content:center;align-self:stretch;gap:var(--s-2);display:flex}.shape-row>*{flex:0 1 var(--slot);min-width:0}.shape-row>.choice{height:var(--slot)}.shape-answer{align-items:center;gap:var(--s-2);vertical-align:middle;display:inline-flex}.letters{gap:var(--s-3);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.task-picture{font-size:var(--picture);line-height:1}.word{justify-content:center;gap:var(--s-1);display:flex}.word__cell{flex:0 1 var(--letter-cell-w);min-width:0;height:var(--letter-cell-h);border-radius:var(--r-sm);background:var(--n-0);color:var(--n-900);font-size:var(--t-lg);font-weight:var(--w-bold);border:0;justify-content:center;align-items:center;display:inline-flex}.word__cell--gap,.syllable-slot{border:var(--border-dashed) dashed var(--brand-500);background:var(--brand-100);box-shadow:none;color:var(--brand-600);cursor:pointer;transition:border-color var(--duration) var(--ease-out)}.word__cell--gap:is(:disabled,span),.syllable-slot:is(:disabled,span){cursor:default}.syllable-slots{justify-content:center;gap:var(--s-1);flex-wrap:wrap;display:flex}.syllable-slot{min-width:var(--syllable-slot-w);height:var(--letter-cell-h);padding-inline:var(--s-2);border-radius:var(--r-md);font-size:var(--t-lg);font-weight:var(--w-bold)}.syllable-slot--filled{box-shadow:0 var(--edge) 0 0 var(--edge-color);background:var(--n-0);color:var(--n-900);border:0}.syllable-input{gap:var(--s-3);flex-direction:column;display:flex}.tiles{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.tile--placeholder{height:var(--key-h);border:var(--border) dashed var(--n-200);border-radius:var(--r-md)}.result-stars{gap:var(--s-3);display:flex}.result-stars__star{width:var(--result-star);height:var(--result-star);fill:var(--n-200);stroke:var(--star-ink);stroke-width:1.5px;stroke-linejoin:round}.result-stars__star--earned{fill:var(--star)}.result-score{font-size:var(--t-md);font-weight:var(--w-bold)}.result-actions{gap:var(--s-3);flex-direction:column;width:100%;display:flex}.parent-nav{flex-basis:100%;order:3}.parent-nav__list{gap:var(--s-1);margin:0;padding:0;list-style:none;display:flex}.parent-nav__link{min-height:var(--icon-button);padding-inline:var(--s-3);border-block-end:var(--border-dashed) solid transparent;color:var(--n-600);font-weight:var(--w-semibold);align-items:center;text-decoration:none;display:inline-flex}.parent-nav__link[aria-current=page]{border-block-end-color:var(--brand-500);color:var(--n-900);font-weight:var(--w-bold)}.segmented{gap:var(--s-2);flex-wrap:wrap;display:flex}.segmented__option{align-items:center;gap:var(--s-2);min-height:var(--control-h);padding:var(--s-1) var(--s-4) var(--s-1) var(--s-2);border:var(--border) solid var(--n-200);border-radius:var(--r-full);background:var(--n-0);color:var(--n-900);font-weight:var(--w-semibold);cursor:pointer;display:inline-flex}.segmented__option[aria-pressed=true]{border-color:var(--brand-500);background:var(--brand-100);font-weight:var(--w-bold)}.stat-grid{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.stat{gap:var(--s-1);padding:var(--s-4);border:var(--border) solid var(--n-200);border-radius:var(--r-md);flex-direction:column;display:flex}.stat__label{align-items:center;gap:var(--s-2);font-size:var(--t-sm);font-weight:var(--w-bold);display:flex}.stat--math .stat__label{color:var(--math)}.stat--lt .stat__label{color:var(--lt)}.stat--logic .stat__label{color:var(--logic)}.stat__value{align-items:baseline;gap:var(--s-2);font-size:var(--t-lg);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.stat__unit{color:var(--n-600);font-size:var(--t-sm);font-weight:var(--w-semibold)}.summary-totals{font-weight:var(--w-semibold)}.level-list{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.level-row{padding:var(--s-4);border:var(--border) solid var(--n-200);border-radius:var(--r-md)}.level-row__field{border:0;min-width:0;margin:0;padding:0}.level-row__label{align-items:center;gap:var(--s-2);font-size:var(--t-sm);font-weight:var(--w-bold);margin-block-end:var(--s-2);padding:0;display:flex}.level-row--math .level-row__label{color:var(--math)}.level-row--lt .level-row__label{color:var(--lt)}.level-row--logic .level-row__label{color:var(--logic)}.level-row__body{align-items:center;gap:var(--s-2) var(--s-4);flex-wrap:wrap;display:flex}.level-picker{gap:var(--s-2);display:flex}.level-option{min-width:var(--control-h);min-height:var(--control-h);border:var(--border) solid var(--n-200);border-radius:var(--r-full);background:var(--n-0);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.level-option:has(:checked){border-color:var(--brand-500);background:var(--brand-100)}.level-option:has(:focus-visible){outline:var(--focus-ring) solid var(--brand-500);outline-offset:var(--border)}.level-option:has(:disabled){cursor:progress}.level-option__input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.level-changes{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.level-change{padding:var(--s-2) var(--s-4);border-radius:var(--r-full);font-weight:var(--w-bold);text-wrap:balance;align-self:center}.level-change .icon{vertical-align:-.2em;margin-inline-end:var(--s-2);display:inline-block}.level-change--math{background:var(--math-100);color:var(--math)}.level-change--lt{background:var(--lt-100);color:var(--lt)}.level-change--logic{background:var(--logic-100);color:var(--logic)}.star-rating{vertical-align:middle;gap:2px;display:inline-flex}.star-rating__star{width:var(--icon-inline);height:var(--icon-inline);color:var(--n-400)}.star-rating__star--earned{color:var(--star);fill:currentColor}.session-table{border-collapse:collapse;width:100%;display:block}.session-table thead{display:none}.session-table tbody{gap:var(--s-2);flex-direction:column;display:flex}.session-row{align-items:center;gap:var(--s-1) var(--s-3);padding:var(--s-3) var(--s-4);border:var(--border) solid var(--n-200);border-radius:var(--r-md);grid-template-columns:1fr auto;grid-template-areas:"date state""score stars";display:grid;position:relative}.session-row:has(.session-row__link:focus-visible){outline:var(--focus-ring) solid var(--brand-500)}.session-row td{padding:0}.session-row__date{grid-area:date}.session-row__state{grid-area:state;justify-self:end}.session-row__score{grid-area:score}.session-row__stars{grid-area:stars;justify-self:end}.session-row__link{color:var(--n-900);font-weight:var(--w-bold);text-decoration:none}.session-row__link:focus-visible{outline:none}.session-row__link:after{content:"";position:absolute;inset:0}.session-table__num{font-variant-numeric:tabular-nums}.session-state{padding:2px var(--s-2);border-radius:var(--r-full);background:var(--n-100);color:var(--n-600);font-size:var(--t-xs);font-weight:var(--w-bold)}.session-state--done{background:var(--ok-100);color:var(--ok)}.session-title{font-size:var(--t-lg)}.attempts-head{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-4);flex-wrap:wrap;display:flex}.toggle{align-items:center;gap:var(--s-2);min-height:var(--icon-button);font-weight:var(--w-semibold);cursor:pointer;display:inline-flex}.toggle__input{width:var(--checkbox);height:var(--checkbox);accent-color:var(--brand-500);margin:0}.attempts{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.attempt{gap:var(--s-3);padding:var(--s-3) var(--s-4);border:var(--border) solid var(--n-200);border-radius:var(--r-md);flex-direction:column;display:flex}.attempt--wrong{border-inline-start:var(--border-accent) solid var(--bad)}.attempt__head{align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.attempt__number{font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.subject--sm{padding:2px var(--s-2);font-size:var(--t-xs)}.attempt-status{align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-full);font-size:var(--t-sm);font-weight:var(--w-bold);margin-inline-start:auto;display:inline-flex}.attempt-status--first{background:var(--ok-100);color:var(--ok)}.attempt-status--second{background:var(--warn-100);color:var(--warn)}.attempt-status--wrong{background:var(--bad-100);color:var(--bad)}.attempt-status--open{background:var(--n-100);color:var(--n-600)}.attempt__task{align-items:center;gap:var(--s-2);padding:var(--s-3);border:var(--border) solid var(--n-200);border-radius:var(--r-sm);background:var(--n-50);flex-direction:column;display:flex}.attempt__instruction{color:var(--n-600);font-size:var(--t-sm);font-weight:var(--w-semibold);align-self:stretch}.attempt__task .equation{font-size:var(--t-lg)}.attempt__task .slot{min-width:var(--slot-sm);height:var(--slot-sm);border-width:var(--border)}.attempt__task .task-picture{font-size:var(--picture-sm)}.attempt__task .word{align-self:stretch}.attempt__task .word__cell{flex-basis:var(--letter-cell-sm-w);height:var(--letter-cell-sm-h);font-size:var(--t-md)}.attempt__task .syllable-slot{min-width:var(--syllable-slot-sm-w);height:var(--letter-cell-sm-h);font-size:var(--t-md)}.attempt__answers{gap:var(--s-1);flex-direction:column;margin:0;display:flex}.attempt__answers div{gap:var(--s-1);flex-wrap:wrap;display:flex}.attempt__answers dt{color:var(--n-600)}.attempt__answers dd{font-weight:var(--w-bold);margin:0}.words-toolbar{align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.words-toolbar .field{flex:220px}.word-table{border-collapse:collapse;width:100%;display:block}.word-table thead{display:none}.word-table tbody{gap:var(--s-2);flex-direction:column;display:flex}.word-row{align-items:center;gap:var(--s-1) var(--s-3);padding:var(--s-3) var(--s-4);border:var(--border) solid var(--n-200);border-radius:var(--r-md);grid-template-columns:auto 1fr auto;grid-template-areas:"emoji word actions""emoji syllables actions""emoji level actions";display:grid}.word-row td{padding:0}.word-row__emoji{font-size:var(--t-xl);grid-area:emoji;line-height:1}.word-row__word{font-weight:var(--w-bold);grid-area:word}.word-row__syllables{color:var(--n-600);grid-area:syllables}.word-row__level{grid-area:level}.word-row__actions{grid-area:actions}.word-row__actions,.word-table__actions{white-space:nowrap}.word-row__actions .speak-control{vertical-align:middle;margin-inline-end:var(--s-2)}.word-row__actions .icon-button+.icon-button{margin-inline-start:var(--s-2)}.level-badge{padding:2px var(--s-2);border-radius:var(--r-full);background:var(--n-100);color:var(--n-600);font-size:var(--t-xs);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;display:inline-block}html:has(.dialog[open]){overflow:hidden}.dialog{width:min(100% - 2 * var(--s-4), var(--w-form));max-height:calc(100svh - 2 * var(--s-4));padding:var(--s-5);border-radius:var(--r-lg);background:var(--n-0);color:var(--n-900);box-shadow:var(--sh-2);border:0}.dialog[open]{gap:var(--s-4);flex-direction:column;display:flex}.dialog::backdrop{background:#0f172a73}.dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.dialog__title{font-size:var(--t-md);padding-block-start:var(--s-2)}.word-form{gap:var(--s-4);flex-direction:column;display:flex}.emoji-field{align-items:flex-start;gap:var(--s-3);display:flex}.emoji-field .field{flex:1}.emoji-field__preview{width:var(--picture-preview);height:var(--picture-preview);border:var(--border) dashed var(--n-200);border-radius:var(--r-sm);font-size:calc(var(--picture-preview) * .75);flex:none;justify-content:center;align-items:center;margin-block-start:calc(var(--t-base) * var(--lh-body) + var(--s-2));line-height:1;display:flex}@media (width>=640px){.parent-nav{flex-basis:auto;order:0}.stat-grid{grid-template-columns:repeat(3,1fr)}.session-table{display:table}.session-table thead{display:table-header-group}.session-table tbody{display:table-row-group}.session-row{border:0;display:table-row}.session-table th,.session-row td{padding:var(--s-3) var(--s-2);border-block-end:1px solid var(--n-200);text-align:start;display:table-cell}.session-table th{color:var(--n-600);font-size:var(--t-xs);font-weight:var(--w-semibold)}.session-table .session-table__num{text-align:end}.word-table{display:table}.word-table thead{display:table-header-group}.word-table tbody{display:table-row-group}.word-row{border:0;display:table-row}.word-table th,.word-row td{padding:var(--s-2);border-block-end:1px solid var(--n-200);text-align:start;vertical-align:middle;display:table-cell}.word-table th{color:var(--n-600);font-size:var(--t-xs);font-weight:var(--w-semibold)}.word-table .word-row__actions{text-align:end}.word-row__emoji{font-size:var(--t-lg)}.word-row__level-label{display:none}}@media (prefers-reduced-motion:reduce){.button,.icon-button,.key,.word__cell,.syllable-slot,.avatar-button{transition:none}}
