.auth-root{--auth-bg:var(--bg);--auth-card:var(--surface);--auth-ink:var(--ink);--auth-muted:var(--ink-soft);--auth-accent:var(--accent);--auth-accent-ink:var(--accent-ink);--auth-soft:var(--surface-2);--auth-warn-bg:var(--gentle-soft);--auth-warn-ink:var(--gentle);--auth-info-bg:var(--good-soft);--auth-info-ink:var(--good);--auth-radius:var(--radius);--auth-focus:0 0 0 4px var(--focus);background:var(--auth-bg);min-height:100dvh;color:var(--auth-ink);font-family:var(--font);font-size:1.125rem;line-height:1.5}.auth-screen{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px 16px;display:flex}.auth-card{box-sizing:border-box;border-radius:var(--auth-radius);background:var(--auth-card);width:100%;max-width:480px;box-shadow:var(--shadow);padding:28px 24px}.auth-title{text-align:center;margin:0 0 8px;font-size:1.75rem;line-height:1.25}.auth-title:focus{outline:none}.auth-body{color:var(--auth-muted);text-align:center;margin:0 0 20px}.auth-footer{gap:16px;display:flex}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.auth-actions>*{flex:180px}.auth-row{justify-content:space-between;gap:12px;display:flex}.auth-label{flex-direction:column;gap:6px;font-weight:600;display:flex}.auth-input{box-sizing:border-box;border:2px solid var(--auth-muted);border-radius:var(--radius-small);background:var(--auth-card);min-height:56px;color:var(--auth-ink);font:inherit;padding:0 16px;font-weight:400}.auth-input-code{letter-spacing:.3em;text-align:center;font-size:1.5rem}.auth-fieldset{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.auth-check{border-radius:var(--radius-small);background:var(--auth-soft);cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.auth-check input{width:28px;height:28px;accent-color:var(--auth-accent);flex:none}.auth-consent{align-items:flex-start;font-size:1rem}.auth-button,.auth-choice,.auth-profile,.auth-pad-key,.auth-link{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.auth-button{border:2px solid var(--auth-accent);min-height:56px;color:var(--auth-accent);background:0 0;border-radius:999px;padding:0 24px;font-weight:700}.auth-button-primary{background:var(--auth-accent);color:var(--auth-accent-ink)}.auth-link{min-height:48px;color:var(--auth-accent);background:0 0;border:0;padding:0 12px;font-weight:600;text-decoration:underline}.auth-choices{flex-direction:column;gap:16px;display:flex}.auth-choice{border-radius:var(--auth-radius);background:var(--auth-soft);min-height:96px;color:var(--auth-ink);text-align:start;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:16px 20px;display:flex}.auth-choice-title{font-size:1.25rem;font-weight:700}.auth-choice-hint{color:var(--auth-muted);font-size:1rem}.auth-profiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.auth-profile{border-radius:var(--auth-radius);background:var(--auth-soft);width:100%;min-height:150px;color:var(--auth-ink);border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 8px;display:flex}.auth-avatar{background:var(--auth-accent);width:72px;height:72px;color:var(--auth-accent-ink);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.auth-profile-name{overflow-wrap:anywhere;font-size:1.25rem;font-weight:700}.auth-profile-hint{color:var(--auth-muted);font-size:.875rem}.auth-message{border-radius:var(--radius-small);background:var(--auth-warn-bg);color:var(--auth-warn-ink);text-align:center;margin:0 0 16px;padding:12px 16px;font-weight:600}.auth-message-info{background:var(--auth-info-bg);color:var(--auth-info-ink)}.auth-pad{flex-direction:column;align-items:center;gap:20px;display:flex}.auth-pad-dots{gap:14px;display:flex}.auth-pad-dot{box-sizing:border-box;border:3px solid var(--auth-accent);border-radius:50%;width:20px;height:20px}.auth-pad-dot-optional{opacity:.6;border-style:dashed}.auth-pad-dot-filled{background:var(--auth-accent);opacity:1}.auth-pad-keys{grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:320px;display:grid}.auth-pad-key{background:var(--auth-soft);min-height:72px;color:var(--auth-ink);border:0;border-radius:20px;font-size:1.75rem;font-weight:700}.auth-pad-key-action{font-size:1.5rem}.auth-pad-key-go{background:var(--auth-accent);color:var(--auth-accent-ink);font-size:1.25rem}.auth-root button:disabled{cursor:default;opacity:.45}.auth-root :focus-visible{box-shadow:var(--auth-focus);outline:none}.auth-root [tabindex="-1"]:focus,.auth-root [tabindex="-1"]:focus-visible{box-shadow:none;outline:none}@media (prefers-reduced-motion:no-preference){.auth-pad-key,.auth-choice,.auth-profile,.auth-button{transition:transform 80ms ease-out}.auth-pad-key:active:not(:disabled),.auth-choice:active,.auth-profile:active,.auth-button:active:not(:disabled){transform:scale(.96)}}.auth-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-disclosure{border-radius:var(--auth-radius);background:var(--auth-info-bg);color:var(--auth-info-ink);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.auth-disclosure h2,.auth-disclosure p{margin:0}a.auth-link{align-self:flex-start;align-items:center;display:inline-flex}.parent-entry{z-index:20;min-height:36px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-soft);font:inherit;opacity:.8;font-size:.85rem;position:fixed;inset-block-end:var(--space-3);inset-inline-end:var(--space-3)}.parent-mode{z-index:30;background:var(--bg);color:var(--ink);padding:var(--space-4);position:fixed;inset:0;overflow-y:auto}.parent-header{justify-content:space-between;align-items:center;gap:var(--space-3);max-width:720px;margin:0 auto var(--space-4);display:flex}.parent-title{margin:0;font-size:1.4rem}.parent-body{gap:var(--space-4);max-width:720px;margin:0 auto;display:grid}.parent-heading{margin:0 0 var(--space-3);font-size:1.2rem}.parent-subheading{margin:var(--space-4) 0 var(--space-2);font-size:1rem}.parent-panel,.parent-section,.parent-tabpanel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-5)}.parent-form{gap:var(--space-3);display:grid}.parent-label{gap:var(--space-1);font-weight:600;display:grid}.parent-label-inline{margin-inline-end:var(--space-4);display:inline-grid}.parent-input{min-height:44px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);color:var(--ink);font:inherit}.parent-fieldset{border:1px solid var(--line);border-radius:var(--radius-small);padding:var(--space-3);gap:var(--space-2);display:grid}.parent-check{align-items:center;gap:var(--space-2);display:flex}.parent-button{min-height:44px;padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer}.parent-button-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.parent-button:disabled{opacity:.6;cursor:default}.parent-link{padding:var(--space-1) 0;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;text-decoration:underline}.parent-link:disabled{color:var(--ink-soft);cursor:default;text-decoration:none}.parent-muted{color:var(--ink-soft);margin:0}.parent-message{padding:var(--space-3);border-radius:var(--radius-small);background:var(--gentle-soft);color:var(--gentle);margin:0}.parent-message-info{background:var(--good-soft);color:var(--good)}.parent-callout{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-small);background:var(--accent-soft);display:grid}.parent-callout p{margin:0}.parent-actions{gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.parent-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.parent-tab{min-height:40px;padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.parent-tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.parent-picker,.parent-list,.parent-figures{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.parent-child{text-align:start;width:100%}.parent-row{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);border-radius:var(--radius-small);background:var(--surface-2);flex-wrap:wrap;display:flex}.parent-row[data-unread=true]{border-inline-start:4px solid var(--sun)}.parent-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--surface);font-size:.8rem;font-weight:600}.parent-toast{z-index:1;align-items:center;gap:var(--space-3);max-width:720px;margin:0 auto var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-small);background:var(--gentle-soft);color:var(--gentle);box-shadow:var(--shadow);flex-wrap:wrap;display:flex;position:sticky;top:0}.parent-cards{gap:var(--space-3);margin-top:var(--space-3);display:grid}.parent-card{padding:var(--space-4);border-radius:var(--radius-small);background:var(--surface-2);border-inline-start:4px solid var(--accent)}.parent-card[data-tone=attention]{border-inline-start-color:var(--sun)}.parent-card[data-tone=info]{border-inline-start-color:var(--line)}.parent-card-title{margin:0 0 var(--space-1);font-size:1rem}.parent-card-body{margin:0 0 var(--space-3);color:var(--ink-soft)}.parent-figure{align-items:baseline;gap:var(--space-2);display:flex}.parent-figure-label{flex:1}.parent-figure-value{font-variant-numeric:tabular-nums;font-weight:700}.parent-figure-unit{color:var(--ink-soft);font-size:.85rem}@media (prefers-reduced-motion:no-preference){.parent-toast{animation:parent-toast-in var(--dur) var(--ease)}}@keyframes parent-toast-in{0%{opacity:0;transform:translateY(-8px)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f7f3ec;--surface:#fff;--surface-2:#efe9df;--ink:#23262b;--ink-soft:#575d66;--line:#ddd5c8;--line-strong:#8a8275;--accent:#2f6f62;--accent-ink:#fff;--accent-soft:#d8ebe5;--accent-strong:#1f5247;--sun:#f2b84b;--good:#2a7148;--good-soft:#dff1e5;--gentle:#8f5318;--gentle-soft:#fbead3;--info:#2f5d9a;--info-soft:#e1eaf7;--danger:#a23a32;--danger-soft:#f8e1de;--focus:#2457c5;--data-1:#2f6f62;--data-2:#c0602a;--data-3:#5a55b4;--data-4:#8a6d12;--scrim:#23262b;--text-xs:.78rem;--text-sm:.89rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.73rem;--text-3xl:2.07rem;--line-height-tight:1.2;--line-height-body:1.5;--line-height-relaxed:1.75;--weight-regular:400;--weight-medium:500;--weight-bold:700;--font-body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-dyslexia:Lexend, "Atkinson Hyperlegible", system-ui, sans-serif;--font-opendyslexic:OpenDyslexic, Lexend, "Atkinson Hyperlegible", system-ui, sans-serif;--font-math:"Atkinson Hyperlegible", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font:var(--font-body);--letter-spacing-body:0;--word-spacing-body:0;--paragraph-spacing:1em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-small:14px;--radius-medium:20px;--radius-large:28px;--radius-pill:999px;--radius:var(--radius-medium);--tap-min:48px;--tap:52px;--tap-big:64px;--dur-instant:80ms;--dur-quick:.16s;--dur-base:.26s;--dur-slow:.42s;--dur:var(--dur-base);--ease-standard:cubic-bezier(.2, .7, .2, 1);--ease-enter:cubic-bezier(0, 0, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease:var(--ease-standard);--motion-distance:1;--width-narrow:600px;--width-wide:900px;--width-canvas:1200px;--shadow:0 1px 2px #23262b0f, 0 8px 24px #23262b14;font-size:18px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1b1d22;--surface:#24272e;--surface-2:#2c3038;--ink:#eceae6;--ink-soft:#b0b4bc;--line:#3a3f48;--line-strong:#7c838f;--accent:#7cc5b3;--accent-ink:#11231f;--accent-soft:#23423b;--accent-strong:#a6dccd;--sun:#f2b84b;--good:#8fd4a8;--good-soft:#213a2b;--gentle:#f0bd7d;--gentle-soft:#3d2f1e;--info:#9cbdf0;--info-soft:#22314a;--danger:#f2a29a;--danger-soft:#45231f;--focus:#8fb4ff;--data-1:#7cc5b3;--data-2:#f0a070;--data-3:#a9a5f0;--data-4:#d9bd5c;--scrim:#000;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000004d}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1b1d22;--surface:#24272e;--surface-2:#2c3038;--ink:#eceae6;--ink-soft:#b0b4bc;--line:#3a3f48;--line-strong:#7c838f;--accent:#7cc5b3;--accent-ink:#11231f;--accent-soft:#23423b;--accent-strong:#a6dccd;--sun:#f2b84b;--good:#8fd4a8;--good-soft:#213a2b;--gentle:#f0bd7d;--gentle-soft:#3d2f1e;--info:#9cbdf0;--info-soft:#22314a;--danger:#f2a29a;--danger-soft:#45231f;--focus:#8fb4ff;--data-1:#7cc5b3;--data-2:#f0a070;--data-3:#a9a5f0;--data-4:#d9bd5c;--scrim:#000;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000004d}:root[data-contrast=more]{--ink-soft:#3d424a;--line:#8a8275;--line-strong:#4f4a42;--accent:#1f5247;--good:#1d5734;--gentle:#6e3e0f}:root[data-contrast=more][data-theme=dark]{--bg:#121317;--ink-soft:#d4d6db;--line:#7c838f;--line-strong:#b0b4bc;--accent:#a6dccd;--good:#b3e6c5;--gentle:#f7d3a6}@media (prefers-color-scheme:dark){:root[data-contrast=more]:not([data-theme=light]){--bg:#121317;--ink-soft:#d4d6db;--line:#7c838f;--line-strong:#b0b4bc;--accent:#a6dccd;--good:#b3e6c5;--gentle:#f7d3a6}}@media (prefers-contrast:more){:root:not([data-contrast=standard]){--ink-soft:#3d424a;--line:#8a8275;--line-strong:#4f4a42;--accent:#1f5247;--good:#1d5734;--gentle:#6e3e0f}:root:not([data-contrast=standard])[data-theme=dark]{--bg:#121317;--ink-soft:#d4d6db;--line:#7c838f;--line-strong:#b0b4bc;--accent:#a6dccd;--good:#b3e6c5;--gentle:#f7d3a6}}@media (prefers-contrast:more) and (prefers-color-scheme:dark){:root:not([data-contrast=standard]):not([data-theme=light]){--bg:#121317;--ink-soft:#d4d6db;--line:#7c838f;--line-strong:#b0b4bc;--accent:#a6dccd;--good:#b3e6c5;--gentle:#f7d3a6}}:root[data-motion=reduce]{--dur-instant:.01ms;--dur-quick:.01ms;--dur-base:.01ms;--dur-slow:.01ms;--dur:.01ms;--motion-distance:0}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]){--dur-instant:.01ms;--dur-quick:.01ms;--dur-base:.01ms;--dur-slow:.01ms;--dur:.01ms;--motion-distance:0}}:root[data-reading=dyslexia]{--font:var(--font-dyslexia);--line-height-body:1.75;--letter-spacing-body:.04em;--word-spacing-body:.16em;--paragraph-spacing:1.5em}:root[data-reading=opendyslexic]{--font:var(--font-opendyslexic);--line-height-body:1.75;--letter-spacing-body:.04em;--word-spacing-body:.16em;--paragraph-spacing:1.5em}:root[data-text=large]{font-size:21px}@media (width>=900px){:root{font-size:19px}:root[data-text=large]{font-size:22px}}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.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:Atkinson Hyperlegible;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-italic-3fJ3SmOv.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-italic-B-Yabllp.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:Atkinson Hyperlegible;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-italic-D-qjh7ci.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-italic-OoEIrRJc.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:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-vietnamese-400-normal-DoLa7jNB.woff2)format("woff2"),url(/assets/lexend-vietnamese-400-normal-mPlHoWg5.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:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-ext-400-normal-D38JI5AK.woff2)format("woff2"),url(/assets/lexend-latin-ext-400-normal-D9P7pMo-.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:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-400-normal-CwRJVcUA.woff2)format("woff2"),url(/assets/lexend-latin-400-normal-CHypAkT3.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:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-vietnamese-500-normal-Bos7Oy9U.woff2)format("woff2"),url(/assets/lexend-vietnamese-500-normal-EFAPmUTE.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:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-ext-500-normal-Bo17xs96.woff2)format("woff2"),url(/assets/lexend-latin-ext-500-normal-DbCmXT_D.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:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-500-normal-Dl-X5nog.woff2)format("woff2"),url(/assets/lexend-latin-500-normal-D9x1QWTH.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:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-vietnamese-700-normal-BrGlFDtO.woff2)format("woff2"),url(/assets/lexend-vietnamese-700-normal-NEp7hM5T.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:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-ext-700-normal-CcWyeg4T.woff2)format("woff2"),url(/assets/lexend-latin-ext-700-normal-iR1cPiNX.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:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-700-normal-DqO8md6r.woff2)format("woff2"),url(/assets/lexend-latin-700-normal-DVyJlN8t.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:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/opendyslexic-latin-400-normal-nUhe5EwG.woff2)format("woff2"),url(/assets/opendyslexic-latin-400-normal-Cv3YY6GF.woff)format("woff")}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/opendyslexic-latin-700-normal-Bnmt45Ln.woff2)format("woff2"),url(/assets/opendyslexic-latin-700-normal-wYUJcbXi.woff)format("woff")}*,:before,:after{box-sizing:border-box}:root{font-family:var(--font);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);word-spacing:var(--word-spacing-body);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);margin:0}h1,h2,h3{line-height:var(--line-height-tight);letter-spacing:normal;margin:0 0 var(--space-3)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0 0 var(--paragraph-spacing)}p:last-child{margin-bottom:0}:root[data-reading] p,:root[data-reading] li{text-align:start;max-width:64ch}:root[data-reading] em,:root[data-reading] i{font-style:normal;font-weight:var(--weight-bold)}button,input,select,textarea{font:inherit;letter-spacing:inherit;word-spacing:inherit;color:inherit}a{color:var(--accent);text-underline-offset:.18em}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 6px var(--bg)}[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{box-shadow:none;outline:none}@media (forced-colors:active){:focus-visible{outline-color:highlight}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :before,:root:not([data-motion=full]) :after{scroll-behavior:auto!important;animation-iteration-count:1!important}}.icon{flex:none}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-block-size:var(--tap);min-inline-size:var(--tap);border:2px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-weight:var(--weight-bold);line-height:var(--line-height-tight);cursor:pointer;touch-action:manipulation;transition:transform var(--dur-instant) var(--ease-standard), background-color var(--dur-quick) var(--ease-standard), border-color var(--dur-quick) var(--ease-standard);padding:0 22px;display:inline-flex}.ui-button:hover:not(:disabled,[aria-busy=true]){background:var(--surface-2)}.ui-button:active:not(:disabled,[aria-busy=true]){transform:scale(calc(1 - .03 * var(--motion-distance)))}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button[aria-busy=true]{cursor:progress}.ui-button--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ui-button--primary:hover:not(:disabled,[aria-busy=true]){background:var(--accent-strong);border-color:var(--accent-strong)}.ui-button--ghost{color:var(--accent);background:0 0;border-color:#0000}.ui-button--big{min-block-size:var(--tap-big);font-size:var(--text-lg);padding:0 36px}.ui-icon-button{inline-size:var(--tap-min);block-size:var(--tap-min);border-radius:var(--radius-pill);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.ui-icon-button:hover{background:var(--surface-2);color:var(--ink)}.ui-spinner{border:3px solid;block-size:1.1em;inline-size:1.1em;animation:ui-spin calc(var(--dur-slow) * 2) linear infinite;border-inline-end-color:#0000;border-radius:50%}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-field{gap:var(--space-2);display:grid}.ui-field__label{font-weight:var(--weight-bold)}.ui-field__hint{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.ui-field__input{min-block-size:var(--tap);padding:0 var(--space-4);border:2px solid var(--line-strong);border-radius:var(--radius-small);background:var(--surface);font-size:var(--text-lg)}.ui-field__input:hover{border-color:var(--ink-soft)}.ui-field__input:focus-visible{border-color:var(--focus)}.ui-field__input[aria-invalid=true]{border-color:var(--gentle);border-style:dashed}.ui-field__message{font-weight:var(--weight-bold);margin:0}.ui-tone--good{color:var(--good)}.ui-tone--gentle{color:var(--gentle)}.ui-tone--danger{color:var(--danger)}.ui-choices{border:0;min-inline-size:0;margin:0;padding:0}.ui-choices__legend{margin-bottom:var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-bold);padding:0}.ui-choices__grid{gap:var(--space-3);display:grid}@media (width>=600px){.ui-choices[data-columns="2"] .ui-choices__grid{grid-template-columns:1fr 1fr}}.ui-choice{align-items:center;gap:var(--space-3);min-block-size:var(--tap);padding:var(--space-3) var(--space-4);border:2px solid var(--line-strong);border-radius:var(--radius-small);background:var(--surface);cursor:pointer;transition:background-color var(--dur-quick) var(--ease-standard), border-color var(--dur-quick) var(--ease-standard);display:flex;position:relative}.ui-choice:hover{background:var(--surface-2)}.ui-choice input{block-size:22px;inline-size:22px;accent-color:var(--accent);flex:none;margin:0}.ui-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);border-width:3px}.ui-choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.ui-choice input:focus-visible{box-shadow:none;outline:none}.ui-choice__label{flex:1}.ui-choice__verdict{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-bold);display:inline-flex}:is(.ui-choice[data-verdict=right],.ui-choice[data-verdict=right]:has(input:checked)){border-color:var(--good);background:var(--good-soft);color:var(--good)}:is(.ui-choice[data-verdict=not-yet],.ui-choice[data-verdict=not-yet]:has(input:checked)){border-color:var(--gentle);background:var(--gentle-soft);color:var(--gentle);border-style:dashed}.ui-choices:disabled .ui-choice{cursor:default}.ui-meter{gap:var(--space-1);display:grid}.ui-meter__label{font-size:var(--text-sm);color:var(--ink-soft)}.ui-meter__track{border-radius:var(--radius-pill);background:var(--surface-2);block-size:12px;box-shadow:inset 0 0 0 1px var(--line-strong);overflow:hidden}.ui-meter__fill{border-radius:inherit;background:var(--accent);block-size:100%;transition:inline-size var(--dur-slow) var(--ease-enter);display:block}.ui-meter[data-tone=good] .ui-meter__fill{background:var(--good)}.ui-steps{gap:var(--space-1);min-inline-size:120px;display:grid}.ui-steps__segment{border-radius:var(--radius-pill);background:var(--surface-2);block-size:12px;box-shadow:inset 0 0 0 1px var(--line-strong)}.ui-steps[data-size=compact] .ui-steps__segment{block-size:8px}.ui-steps__segment[data-done]{background:var(--accent);box-shadow:none}.ui-steps__segment[data-latest]{animation:ui-step-fill var(--dur-slow) var(--ease-bounce)}@keyframes ui-step-fill{0%{transform:scaleX(calc(1 - .6 * var(--motion-distance)))}}.ui-moment{gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-medium);border:2px solid var(--accent);background:var(--surface);color:var(--ink);animation:ui-rise var(--dur-base) var(--ease-enter);align-items:center;display:flex}.ui-moment__icon{background:var(--accent-soft);block-size:40px;inline-size:40px;color:var(--accent-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-moment__text{flex:1;min-inline-size:0}.ui-moment__title{font-weight:var(--weight-bold);margin:0}.ui-moment__body{color:var(--ink-soft)}.ui-moment__close{inline-size:var(--tap-min);block-size:var(--tap-min);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-moment__close:hover{background:var(--surface-2);color:var(--ink)}.ui-card{padding:var(--space-5);border-radius:var(--radius-medium);background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line)}.ui-card[data-tone=accent]{border-inline-start:6px solid var(--accent)}.ui-card[data-tone=good]{border-inline-start:6px solid var(--good)}.ui-card[data-tone=gentle]{border-inline-start:6px solid var(--gentle)}.ui-card[data-tone=info]{border-inline-start:6px solid var(--info)}.ui-card__kicker{margin:0 0 var(--space-1);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em}.ui-card__title{font-size:var(--text-lg)}.ui-card__footer{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.ui-feedback{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-small);animation:ui-rise var(--dur-base) var(--ease-enter);border:2px solid;align-items:flex-start;display:flex}.ui-feedback[data-tone=good]{background:var(--good-soft);color:var(--good)}.ui-feedback[data-tone=gentle]{background:var(--gentle-soft);color:var(--gentle);border-style:dashed}.ui-feedback[data-tone=info]{background:var(--info-soft);color:var(--info)}.ui-feedback[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.ui-feedback__title{font-weight:var(--weight-bold);margin:0}.ui-feedback__body{color:var(--ink)}@keyframes ui-rise{0%{opacity:0;transform:translateY(calc(8px * var(--motion-distance)))}}.ui-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-bold);background:var(--accent-soft);color:var(--accent-strong);padding:2px 10px;display:inline-flex}.ui-badge[data-tone=good]{background:var(--good-soft);color:var(--good)}.ui-badge[data-tone=gentle]{background:var(--gentle-soft);color:var(--gentle)}.ui-badge[data-tone=info]{background:var(--info-soft);color:var(--info)}.ui-badge[data-tone=sun]{background:var(--gentle-soft);color:var(--ink);box-shadow:inset 0 0 0 2px var(--sun)}.ui-switch{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.ui-switch__text{display:grid}.ui-switch__label{font-weight:var(--weight-bold)}.ui-switch__hint{color:var(--ink-soft);font-size:var(--text-sm)}.ui-switch__control{inline-size:64px;block-size:var(--tap-min);cursor:pointer;background:0 0;border:0;flex:none;padding:0;position:relative}.ui-switch__control:before{content:"";border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--line-strong);transition:background-color var(--dur-quick) var(--ease-standard);position:absolute;inset:8px 0}.ui-switch__thumb{background:var(--ink-soft);block-size:24px;inline-size:24px;transition:transform var(--dur-quick) var(--ease-standard), background-color var(--dur-quick) var(--ease-standard);border-radius:50%;position:absolute;inset-block-start:12px;inset-inline-start:4px}.ui-switch__control[aria-checked=true]:before{background:var(--accent);box-shadow:none}.ui-switch__control[aria-checked=true] .ui-switch__thumb{background:var(--accent-ink);transform:translate(32px)}.ui-skeleton{gap:var(--space-2);display:grid}.ui-skeleton__line{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--surface-2), var(--line), var(--surface-2));block-size:1em;animation:ui-shimmer calc(var(--dur-slow) * 4) linear infinite;background-size:200% 100%}.ui-skeleton__line:last-child{inline-size:60%}@keyframes ui-shimmer{to{background-position:-200% 0}}.ui-sheet{color:var(--ink);background:0 0;border:0;max-block-size:100dvh;inline-size:100%;max-inline-size:100vw;margin:auto auto 0;padding:0}.ui-sheet::backdrop{background:color-mix(in srgb, var(--scrim) 45%, transparent)}.ui-sheet__panel{max-block-size:85dvh;padding:var(--space-4) var(--space-5) var(--space-6);border-radius:var(--radius-large) var(--radius-large) 0 0;background:var(--surface);box-shadow:var(--shadow);overflow:auto}.ui-sheet[open] .ui-sheet__panel{animation:ui-sheet-up var(--dur-base) var(--ease-enter)}@keyframes ui-sheet-up{0%{transform:translateY(calc(40px * var(--motion-distance)));opacity:0}}@media (width>=900px){.ui-sheet{block-size:100dvh;inline-size:min(440px,100vw);margin:0 0 0 auto}.ui-sheet__panel{border-radius:var(--radius-large) 0 0 var(--radius-large);block-size:100%;max-block-size:none}}.ui-sheet__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.ui-sheet__header h2{margin:0}.ui-prefs{gap:var(--space-4);display:grid}.ui-prefs__title{margin:0}.ui-segmented{border:0;min-inline-size:0;margin:0;padding:0}.ui-segmented legend{margin-bottom:var(--space-2);font-weight:var(--weight-bold);padding:0}.ui-segmented__options{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-segmented__option{min-block-size:var(--tap-min);padding:0 var(--space-4);border:2px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);cursor:pointer;align-items:center;display:inline-flex}.ui-segmented__option input{opacity:0;pointer-events:none;position:absolute}.ui-segmented__option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:var(--weight-bold)}.ui-segmented__option:has(input:checked):before{content:"✓";margin-inline-end:var(--space-1)}.ui-segmented__option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.ui-prefs__sample{padding:var(--space-4);border-radius:var(--radius-small);background:var(--surface-2)}.ui-celebration{justify-items:center;gap:var(--space-3);max-inline-size:28rem;padding:var(--space-7) var(--space-5) var(--space-5);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow);text-align:center;animation:ui-pop var(--dur-slow) var(--ease-bounce);margin:auto;display:grid;position:relative;overflow:hidden}.ui-celebration__stars{pointer-events:none;block-size:64px;position:absolute;inset:0 0 auto}.ui-celebration__star{color:var(--sun);animation:ui-float calc(var(--dur-slow) * 3) var(--ease-enter) both;position:absolute;inset-block-start:12px}.ui-celebration__star:first-child{animation-delay:0s;inset-inline-start:8%}.ui-celebration__star:nth-child(2){color:var(--accent);animation-delay:80ms;inset-block-start:26px;inset-inline-start:22%}.ui-celebration__star:nth-child(3){animation-delay:.16s;inset-inline-start:36%}.ui-celebration__star:nth-child(4){color:var(--data-3);animation-delay:.24s;inset-block-start:4px;inset-inline-start:50%}.ui-celebration__star:nth-child(5){animation-delay:.32s;inset-inline-start:64%}.ui-celebration__star:nth-child(6){color:var(--accent);animation-delay:.4s;inset-block-start:28px;inset-inline-start:78%}.ui-celebration__star:nth-child(7){animation-delay:.48s;inset-inline-start:90%}.ui-celebration__kicker{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em;margin:0}.ui-celebration__title{font-size:var(--text-2xl);margin:0}.ui-celebration__message{margin:0 0 var(--space-3)}@keyframes ui-pop{0%{opacity:0;transform:scale(calc(1 - .08 * var(--motion-distance)))}}@keyframes ui-float{0%{opacity:0;transform:translateY(calc(24px * var(--motion-distance))) scale(.6)}}.w-numberline{margin:0}.w-numberline figcaption{font-weight:var(--weight-bold);margin-bottom:var(--space-1)}.w-numberline svg{touch-action:none;cursor:pointer;border-radius:var(--radius-small);width:100%;height:auto;display:block}.w-numberline .axis,.w-numberline .tick{stroke:var(--ink);stroke-width:4px;stroke-linecap:round}.w-numberline text{fill:var(--ink-soft);font-size:26px;font-family:var(--font-math)}.w-numberline .point{fill:var(--accent);stroke:var(--surface);stroke-width:4px;transition:cx var(--dur-quick) var(--ease)}.w-fractionbars{gap:var(--space-2);flex-direction:column;display:flex}.w-fractionbars-row{align-items:center;gap:var(--space-3);display:flex}.w-fractionbars svg{flex:auto;width:100%;min-width:0;height:auto}.w-fractionbars .part{fill:var(--surface);stroke:var(--accent);stroke-width:3px}.w-fractionbars .part.shaded{fill:var(--accent)}.w-fractionbars .hatched{stroke:none;pointer-events:none}.w-fractionbars .hatch{stroke:var(--surface);stroke-width:3px;stroke-opacity:.55}.w-fractionbars-label{min-width:3.2em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--ink);font-family:var(--font-math);font-weight:var(--weight-bold);text-align:center;flex:none}.w-areamodel{gap:var(--space-3);margin:0;display:grid}.w-areamodel-caption{font-weight:var(--weight-bold)}.w-areamodel-grid,.w-areamodel-row{gap:var(--space-2);display:grid}.w-areamodel-head,.w-areamodel-corner{min-height:var(--tap-min);font-family:var(--font-math);font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--ink);overflow-wrap:anywhere;justify-content:center;align-items:center;display:flex}.w-areamodel-corner{color:var(--ink-soft)}.w-areamodel-side{padding-inline:var(--space-2)}.w-areamodel-gridcell{min-width:0;display:flex}.w-areamodel-cell{--tone:var(--data-1);min-width:var(--tap-min);min-height:var(--tap);aspect-ratio:4/3;padding:var(--space-2);border:2px solid var(--tone);border-radius:var(--radius-small);background:color-mix(in srgb, var(--tone) 14%, var(--surface));color:var(--ink);font:inherit;font-family:var(--font-math);font-size:var(--text-md);cursor:pointer;transition:background-color var(--dur-quick) var(--ease), transform var(--dur-quick) var(--ease);flex:auto;justify-content:center;align-items:center;display:flex}.w-areamodel-cell:hover{background:color-mix(in srgb, var(--tone) 24%, var(--surface))}.w-areamodel-cell:active{transform:scale(.98)}.w-areamodel-cell[aria-pressed=true]{background:var(--surface);border-style:solid;border-width:3px}.w-areamodel-tone-2{--tone:var(--data-2)}.w-areamodel-tone-3{--tone:var(--data-3)}.w-areamodel-tone-4{--tone:var(--data-4)}.w-areamodel-dot{border-radius:var(--radius-pill);background:var(--tone);width:10px;height:10px}.w-areamodel-expression{font-weight:var(--weight-bold);overflow-wrap:anywhere;text-align:center}.w-areamodel-hint{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.w-equationsteps{padding:var(--space-4);column-gap:var(--space-2);row-gap:var(--space-3);background:var(--surface-2);border-radius:var(--radius);grid-template-columns:auto auto auto 1fr;margin:0;list-style:none;display:grid}.w-equationsteps-step{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;row-gap:var(--space-1);display:grid}.w-equationsteps-number{width:1.8em;height:1.8em;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--text-sm);font-weight:var(--weight-bold);grid-column:1;justify-content:center;align-self:center;align-items:center;margin-inline-end:var(--space-2);display:inline-flex}.w-equationsteps-left,.w-equationsteps-equals,.w-equationsteps-right,.w-equationsteps-whole{font-family:var(--font-math);font-size:var(--text-lg);color:var(--ink);overflow-wrap:anywhere}.w-equationsteps-left{text-align:end;grid-column:2}.w-equationsteps-equals{color:var(--ink-soft);white-space:pre;grid-column:3}.w-equationsteps-right{grid-column:4}.w-equationsteps-whole{grid-column:2/-1}.w-equationsteps-note{color:var(--ink-soft);font-size:var(--text-sm);grid-column:2/-1}.w-equationsteps-blank{min-height:var(--tap-min);padding-inline:var(--space-3);border:2px dashed var(--line-strong);border-radius:var(--radius-small);color:var(--ink-soft);grid-column:2/-1;align-items:center;font-style:italic;display:flex}.w-placevalue{justify-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface-2);border-radius:var(--radius);display:grid}.w-placevalue-columns{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.w-placevalue-slot{align-items:stretch;gap:var(--space-2);display:flex}.w-placevalue-point{font-family:var(--font-math);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--ink);align-self:center}.w-placevalue-column{--tone:var(--data-1);justify-items:center;gap:var(--space-2);min-width:calc(var(--tap-min) + var(--space-3));padding:var(--space-2);border-top:6px solid var(--tone);border-radius:var(--radius-small);background:var(--surface);display:grid}.w-placevalue-thousands,.w-placevalue-tenths{--tone:var(--data-3)}.w-placevalue-hundreds,.w-placevalue-hundredths{--tone:var(--data-2)}.w-placevalue-tens{--tone:var(--data-4)}.w-placevalue-head{text-align:center;justify-items:center;display:grid}.w-placevalue-short{font-family:var(--font-math);font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--ink)}.w-placevalue-name{font-size:var(--text-xs);color:var(--ink-soft);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;max-width:6.5em}.w-placevalue-step{width:var(--tap-min);height:var(--tap-min);border:2px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-xl);font-weight:var(--weight-bold);cursor:pointer;transition:background-color var(--dur-quick) var(--ease);justify-content:center;align-items:center;line-height:1;display:inline-flex}.w-placevalue-step:hover{background:var(--accent-soft)}.w-placevalue-step[aria-disabled=true]{color:var(--ink-soft);cursor:default;background:var(--surface);border-style:dashed}.w-placevalue-digit{min-width:1.5em;font-family:var(--font-math);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--ink);text-align:center;line-height:var(--line-height-tight)}.w-placevalue-share{min-height:var(--tap);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:var(--weight-bold);cursor:pointer;transition:background-color var(--dur-quick) var(--ease);border:0}.w-placevalue-share:hover{background:var(--accent-strong)}.w-rs-panel{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-large);background:var(--surface);color:var(--ink);display:grid}.w-rs-panel__heading{font-weight:var(--weight-bold);font-size:var(--text-lg);line-height:var(--line-height-tight);margin:0}.w-rs-share{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.w-rs-share__button{min-height:var(--tap);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-weight:var(--weight-bold);cursor:pointer;transition:background-color var(--dur-quick) var(--ease);border:0}.w-rs-share__button:hover{background:var(--accent-strong)}.w-rs-share__status{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.w-rs-share__status:empty{display:none}.w-rs-choices{padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-medium);background:var(--surface-2);min-width:0;margin:0}.w-rs-choices__legend{float:left;width:100%;margin-bottom:var(--space-3);font-weight:var(--weight-medium);padding:0}.w-rs-choices__options{clear:both;gap:var(--space-2);flex-wrap:wrap;display:flex}.w-rs-choices__option{align-items:center;gap:var(--space-1);min-height:var(--tap-min);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border:2px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);cursor:pointer;transition:background-color var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease);display:inline-flex}.w-rs-choices__option:hover{border-color:var(--accent)}.w-rs-choices__option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);font-weight:var(--weight-bold)}.w-rs-choices__option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.w-rs-choices__tick{text-align:center;width:1.1em;color:var(--accent-strong);display:inline-block}.w-categorysort__tray,.w-categorysort__group{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-medium);display:grid}.w-categorysort__tray{background:var(--surface-2)}.w-categorysort__groups{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.w-categorysort__group{border:2px dashed var(--line-strong);align-content:start}.w-categorysort__title{font-weight:var(--weight-bold);margin:0}.w-categorysort__empty{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.w-categorysort__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.w-categorysort__card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);box-shadow:var(--shadow);display:grid}.w-categorysort__card-label{font-weight:var(--weight-bold);overflow-wrap:anywhere}.w-categorysort__picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.w-categorysort__pick{min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--space-1) var(--space-3);border:2px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease)}.w-categorysort__pick:hover{border-color:var(--accent)}.w-categorysort__pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:var(--weight-bold)}.w-categorysort__pick[aria-pressed=true]:before{content:"✓ "}.w-sequenceorder__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.w-sequenceorder__step{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-medium);background:var(--surface-2);display:flex}.w-sequenceorder__number{border-radius:var(--radius-pill);background:var(--accent-soft);width:2em;height:2em;color:var(--accent-strong);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.w-sequenceorder__text{overflow-wrap:anywhere;flex:auto;min-width:0}.w-sequenceorder__moves{gap:var(--space-1);flex:none;display:flex}.w-sequenceorder__move{width:var(--tap-min);height:var(--tap-min);border:2px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-lg);cursor:pointer}.w-sequenceorder__move:hover:not(:disabled){border-color:var(--accent)}.w-sequenceorder__move:disabled{border-color:var(--line);color:var(--ink-soft);cursor:default;opacity:.55}.w-patternsequence__row{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.w-patternsequence__term{min-width:var(--tap);min-height:var(--tap);padding:var(--space-1) var(--space-2);border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface-2);font-family:var(--font-math);font-size:var(--text-lg);font-weight:var(--weight-bold);place-items:center;display:grid}.w-patternsequence__term--gap{background:0 0;border:0;padding:0}.w-patternsequence__input{box-sizing:border-box;width:4.5em;min-height:var(--tap);padding:var(--space-1) var(--space-2);border:2px dashed var(--accent);border-radius:var(--radius-small);background:var(--surface);font-family:var(--font-math);font-size:var(--text-lg);font-weight:var(--weight-bold);text-align:center}.w-patternsequence__input::placeholder{color:var(--ink-soft)}.w-patternsequence__input:not(:placeholder-shown){border-style:solid}.w-claimevidence__claim{padding:var(--space-4);border-radius:var(--radius-medium);background:var(--info-soft)}.w-claimevidence__kicker{margin:0 0 var(--space-1);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-bold)}.w-claimevidence__claim-text{font-size:var(--text-lg);font-weight:var(--weight-bold);margin:0}.w-claimevidence__statements{gap:var(--space-3);display:grid}.w-claimevidence__argument{padding:var(--space-4);border:2px dashed var(--line-strong);border-radius:var(--radius-medium)}.w-claimevidence__hint{color:var(--ink-soft);margin:0}.w-claimevidence__built{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.w-claimevidence__line:first-child{font-weight:var(--weight-bold)}.w-claimevidence__line[data-role]{padding-left:var(--space-3);border-left:4px solid var(--data-1)}.w-claimevidence__line[data-role=but]{border-left-color:var(--data-2)}.w-fairtest__variables{gap:var(--space-3);display:grid}.w-fairtest__summary{padding:var(--space-4);border:2px dashed var(--line-strong);border-radius:var(--radius-medium)}.w-fairtest__kicker{margin:0 0 var(--space-2);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-bold)}.w-fairtest__plan{gap:var(--space-2);margin:0;display:grid}.w-fairtest__row{gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.w-fairtest__row dt{font-weight:var(--weight-bold)}.w-fairtest__row dd{margin:0}.w-fairtest__row[data-plan=open]{color:var(--ink-soft)}.w-cyclediagram{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-large);background:var(--surface);display:grid;container-type:inline-size}.w-cyclediagram__title{font-weight:var(--weight-bold);font-size:var(--text-lg);margin:0}.w-cyclediagram__wheel{aspect-ratio:1;width:100%;max-width:30rem;margin-inline:auto;position:relative}.w-cyclediagram__ring{width:100%;height:100%;position:absolute;inset:0}.w-cyclediagram__ring circle{fill:none;stroke:var(--line-strong);stroke-width:.8px}.w-cyclediagram__arrow{fill:none;stroke:var(--ink-soft);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.w-cyclediagram__stages{margin:0;padding:0;list-style:none}.w-cyclediagram__stage{width:max-content;max-width:36%;position:absolute;transform:translate(-50%,-50%)}.w-cyclediagram__button{align-items:center;gap:var(--space-1);min-width:var(--tap-min);min-height:var(--tap-min);max-width:100%;padding:var(--space-2) var(--space-3);overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto;border:2px solid var(--line-strong);border-radius:var(--radius-medium);background:var(--surface);font-size:var(--text-sm);line-height:var(--line-height-tight);cursor:pointer;transition:background-color var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease);flex-direction:column;display:flex}.w-cyclediagram__button:hover{border-color:var(--accent)}.w-cyclediagram__button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:var(--weight-bold);border-width:3px}.w-cyclediagram__number{border-radius:var(--radius-pill);background:var(--accent);width:1.6em;height:1.6em;color:var(--accent-ink);font-weight:var(--weight-bold);place-items:center;display:grid}.w-cyclediagram__label{overflow-wrap:anywhere;text-align:center}@container (width<=22rem){.w-cyclediagram__wheel{aspect-ratio:auto}.w-cyclediagram__ring{display:none}.w-cyclediagram__stages{gap:var(--space-2);display:grid}.w-cyclediagram__stage{width:auto;max-width:none;position:static;transform:none}.w-cyclediagram__button{flex-direction:row;width:100%}.w-cyclediagram__label{text-align:start}}.w-cyclediagram__panel{min-height:calc(var(--tap) + var(--space-4));padding:var(--space-3) var(--space-4);border-radius:var(--radius-medium);background:var(--surface-2)}.w-cyclediagram__hint,.w-cyclediagram__panel-title,.w-cyclediagram__panel-text{margin:0}.w-cyclediagram__hint{color:var(--ink-soft)}.w-cyclediagram__panel-title{font-weight:var(--weight-bold);margin-bottom:var(--space-1)}.w-datachart{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-large);background:var(--surface);margin:0;display:grid}.w-datachart__title{font-weight:var(--weight-bold);font-size:var(--text-lg)}.w-datachart__unit{color:var(--ink-soft);font-weight:var(--weight-regular);font-size:var(--text-md)}.w-datachart__plot{column-gap:var(--space-2);row-gap:var(--space-2);padding-top:var(--space-5);grid-template-rows:13rem auto;grid-template-columns:auto 1fr;display:grid}.w-datachart__axis{min-width:2ch;color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;position:relative}.w-datachart__tick{white-space:nowrap;line-height:1;position:absolute;right:0;transform:translateY(50%)}.w-datachart__area{position:relative}.w-datachart__grid{border-top:1px solid var(--line);height:0;position:absolute;left:0;right:0}.w-datachart__grid--base{border-top-color:var(--line-strong)}.w-datachart__columns,.w-datachart__labels{gap:var(--space-2);display:flex}.w-datachart__columns{align-items:flex-end;position:absolute;inset:0}.w-datachart__labels{grid-column:2}.w-datachart__column{flex:1 1 0;justify-content:center;align-items:flex-end;min-width:0;height:100%;display:flex}.w-datachart__bar{background:var(--data-1);width:min(100%,24px);min-height:1px;transition:height var(--dur-base) var(--ease);border-radius:4px 4px 0 0;position:relative}.w-datachart__value{padding-bottom:var(--space-1);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-bold);white-space:nowrap;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.w-datachart__label{min-width:0;color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--line-height-tight);text-align:center;overflow-wrap:anywhere;flex:1 1 0}.w-datachart__toggle{min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border:2px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);cursor:pointer;justify-self:start}.w-datachart__toggle:hover{border-color:var(--accent)}.w-datachart__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.w-datachart__table th,.w-datachart__table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);text-align:start}.w-datachart__table td{text-align:end}.w-timeline{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.w-timeline__event{grid-template-columns:var(--space-5) minmax(0, 1fr);column-gap:var(--space-2);padding-block:var(--space-2);grid-template-areas:"marker when""marker body";display:grid;position:relative}.w-timeline__event:before{content:"";background:var(--line);inline-size:2px;position:absolute;inset-block:0;inset-inline-start:calc(var(--space-5) / 2 - 1px)}.w-timeline__event:first-child:before{inset-block-start:calc(var(--space-2) + var(--space-3))}.w-timeline__event:last-child:before{block-size:calc(var(--space-2) + var(--space-3));inset-block-end:auto}.w-timeline__marker{inline-size:var(--space-3);block-size:var(--space-3);border-radius:var(--radius-pill);background:var(--surface);border:2px solid var(--line-strong);grid-area:marker;justify-self:center;margin-block-start:var(--space-2);position:relative}.w-timeline__event[data-focus] .w-timeline__marker{inline-size:var(--space-4);block-size:var(--space-4);background:var(--accent);border-color:var(--accent-strong);margin-block-start:var(--space-1)}.w-timeline__when{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-area:when}.w-timeline__body{grid-area:body;min-inline-size:0}.w-timeline__key{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--ink);font-size:var(--text-xs);font-weight:var(--weight-bold);margin-block-end:var(--space-1);display:inline-block}.w-timeline__event[data-focus] .w-timeline__title{font-weight:var(--weight-bold)}.w-timeline__toggle{align-items:center;column-gap:var(--space-2);inline-size:100%;min-block-size:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);color:var(--ink);font:inherit;text-align:start;cursor:pointer;transition:background-color var(--dur-quick) var(--ease);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title chevron""more chevron";display:grid}.w-timeline__toggle:hover{background:var(--surface-2)}.w-timeline__toggle[aria-expanded=true]{border-color:var(--line-strong)}.w-timeline__toggle .w-timeline__title{grid-area:title}.w-timeline__more{font-size:var(--text-xs);color:var(--ink-soft);grid-area:more}.w-timeline__chevron,.w-word__chevron{inline-size:var(--space-2);block-size:var(--space-2);transition:transform var(--dur-quick) var(--ease);border-block-end:2px solid;border-inline-end:2px solid;grid-area:chevron;transform:rotate(45deg)}[aria-expanded=true]>.w-timeline__chevron,[aria-expanded=true]>.w-word__chevron{transform:rotate(-135deg)}.w-timeline__detail{margin:var(--space-2) 0 0;border-inline-start:2px solid var(--line);padding-inline-start:var(--space-3)}.w-source{gap:var(--space-3);display:grid}.w-source__figure{padding:var(--space-4);border-radius:var(--radius);background:var(--surface-2);margin:0}.w-source__kind{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.w-source__excerpt{border-inline-start:4px solid var(--accent);font-size:var(--text-lg);line-height:var(--line-height-relaxed);margin:0;padding-inline-start:var(--space-4)}.w-source__excerpt p{margin:0}.w-source__excerpt--description{font-size:var(--text-md);border-inline-start-style:dashed}.w-source__attribution{font-size:var(--text-sm);color:var(--ink-soft);margin-block-start:var(--space-3)}.w-source__attribution cite{font-style:italic}:root[data-reading] .w-source__attribution cite{font-style:normal;font-weight:var(--weight-bold)}.w-source__heading{font-weight:var(--weight-bold);margin:0}.w-source__questions{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.w-source__question{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);flex-wrap:wrap;display:flex}.w-source__prompt{flex:16ch;margin:0}.w-source__ask,.w-word__toggle{min-block-size:var(--tap-min);padding:var(--space-2) var(--space-4);border:2px solid var(--accent);border-radius:var(--radius-pill);background:var(--surface);color:var(--accent-strong);font:inherit;font-weight:var(--weight-bold);cursor:pointer;transition:background-color var(--dur-quick) var(--ease)}.w-source__ask:hover,.w-word__toggle:hover{background:var(--accent-soft)}.w-word{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);display:grid}.w-word__word{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--line-height-tight);overflow-wrap:anywhere;margin:0}.w-word__say{color:var(--ink-soft);margin:0}.w-word__say-label{font-size:var(--text-sm)}.w-word__meaning{font-size:var(--text-lg);margin:0}.w-word__sections{gap:var(--space-2);margin-block-start:var(--space-2);display:grid}.w-word__toggle{justify-content:space-between;align-items:center;gap:var(--space-3);border-width:1px;border-color:var(--line-strong);border-radius:var(--radius-small);inline-size:100%;color:var(--ink);text-align:start;display:flex}.w-word__panel{padding:var(--space-2) var(--space-3) 0}.w-word__panel p{margin:0}.w-word__example{font-style:italic}:root[data-reading] .w-word__example{font-style:normal}.w-word__related{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.w-word__related li{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-2)}.w-stack{gap:var(--space-4);display:grid}:root{--tutor-bubble:var(--surface);--learner-bubble:var(--accent-soft)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--tutor-bubble:var(--surface-2)}}:root[data-theme=dark]{--tutor-bubble:var(--surface-2)}html,body,#root{height:100%}body{overscroll-behavior:none}.display-settings{z-index:15;background:color-mix(in srgb, var(--bg) 85%, transparent);position:fixed;inset-block-start:max(var(--space-2), env(safe-area-inset-top,0px));inset-inline-end:max(var(--space-2), env(safe-area-inset-right,0px))}.button{min-height:var(--tap);border:2px solid var(--line);background:var(--surface);cursor:pointer;touch-action:manipulation;transition:transform .12s var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:999px;padding:0 22px;font-weight:600}.button:active:not(:disabled){transform:scale(.97)}.button:disabled{opacity:.5;cursor:default}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button.ghost{background:0 0;border-color:#0000}.button.big{min-height:64px;padding:0 36px;font-size:1.15rem}.splash{height:100%;color:var(--ink-soft);place-items:center;display:grid}.banner{background:var(--surface-2);color:var(--ink-soft);flex-wrap:wrap;grid-area:banner;justify-content:center;align-items:center;gap:8px 12px;padding:8px 16px;font-size:.9rem;display:flex}.banner-dot{background:var(--gentle);border-radius:50%;width:10px;height:10px}.banner.reconnecting{opacity:0;animation:fade-in var(--dur) var(--ease) 1.2s forwards}.banner.reconnecting .banner-dot{animation:1.4s ease-in-out infinite pulse}.banner-count{background:var(--gentle-soft);color:var(--gentle);border-radius:999px;padding:2px 10px;font-weight:600}.lesson{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template:"banner""main"minmax(0,1fr)/minmax(0,1fr);display:grid;position:relative;overflow:hidden}.stage,.talk{grid-area:main;min-height:0}.stage{animation:settle var(--dur) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px 16px 96px;display:flex;overflow-y:auto}.stage-waiting,.stage-kicker{color:var(--ink-soft)}.stage-kicker{letter-spacing:.02em;margin:0;font-weight:600}.talk{background:var(--bg);flex-direction:column;display:flex}.lesson[data-layout=chat] .talk{justify-self:center;width:100%;max-width:760px}.lesson[data-layout=split]{grid-template-rows:auto minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"banner""stage""talk"}.lesson[data-layout=split] .stage{grid-area:stage;padding-bottom:24px}.lesson[data-layout=split] .talk{border-top:2px solid var(--line);grid-area:talk}@media (width>=820px) and (aspect-ratio>=1){.lesson[data-layout=split]{grid-template:"banner banner""stage talk"minmax(0,1fr)/minmax(0,1.2fr) minmax(320px,1fr)}.lesson[data-layout=split] .talk{border-top:0;border-left:2px solid var(--line)}}.lesson[data-layout=focus] .talk,.lesson[data-layout=review] .talk{z-index:10;border-radius:var(--radius) var(--radius) 0 0;height:min(78dvh,640px);box-shadow:var(--shadow);background:var(--surface);transition:transform var(--dur) var(--ease);padding-bottom:env(safe-area-inset-bottom);position:absolute;bottom:0;left:0;right:0;transform:translateY(105%)}@media (width>=820px) and (aspect-ratio>=1){.lesson[data-layout=focus] .talk,.lesson[data-layout=review] .talk{border-radius:var(--radius) 0 0 var(--radius);width:min(420px,42vw);height:auto;top:0;left:auto;transform:translate(105%)}}.lesson[data-layout=focus] .talk[data-open=true],.lesson[data-layout=review] .talk[data-open=true]{transform:none}.talk-close{align-self:flex-end;margin:8px 8px 0}.lesson:not([data-layout=focus],[data-layout=review]) .talk-close{display:none}.talk-toggle{z-index:5;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow);animation:settle var(--dur) var(--ease);align-items:center;gap:10px;display:inline-flex;position:absolute}.unread-dot{background:var(--sun);border-radius:50%;width:12px;height:12px;animation:1.6s ease-in-out infinite pulse}.item-card{border-radius:var(--radius);background:var(--surface);width:100%;max-width:720px;box-shadow:var(--shadow);animation:settle var(--dur) var(--ease);flex-direction:column;gap:20px;padding:28px 24px;display:flex}.item-card.compact{gap:14px;max-width:560px;padding:20px}.item-prompt{margin:0;font-size:1.5rem;font-weight:650;line-height:1.35}.item-card.compact .item-prompt{font-size:1.25rem}.lesson[data-layout=focus] .item-prompt{font-size:clamp(1.5rem,2.6vw + .6rem,2.2rem)}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;display:grid}.choice{border:2px solid var(--line);border-radius:var(--radius-small);background:var(--surface-2);text-align:center;cursor:pointer;touch-action:manipulation;min-height:64px;transition:transform .12s var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);padding:12px 18px;font-size:1.1rem;font-weight:600}.choice:active:not(:disabled){transform:scale(.97)}.choice[aria-pressed=true]{border-color:var(--accent)}.choice[data-verdict=correct]{border-color:var(--good);background:var(--good-soft)}.choice[data-verdict=wrong]{border-color:var(--gentle);background:var(--gentle-soft)}.choice[data-tried=true]{opacity:.7}.choice:disabled{cursor:default}.answer-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.answer-input{border:2px solid var(--line);border-radius:var(--radius-small);background:var(--surface-2);font-variant-numeric:tabular-nums;flex:160px;min-width:0;min-height:64px;padding:0 18px;font-size:1.5rem}.answer-input:focus-visible{border-color:var(--accent);outline-offset:0}.answer-unit{color:var(--ink-soft);font-size:1.25rem}.answer-hint{margin:var(--space-2) 0 0;color:var(--ink-soft);transition:color var(--dur) var(--ease);font-size:.85rem}.answer-hint.unreadable{color:var(--gentle);font-weight:600}.verdict{min-height:1.5em;margin:0;font-weight:600;position:relative}.verdict.correct{color:var(--good);animation:pop .42s var(--ease)}.verdict.wrong{color:var(--gentle);animation:nudge .36s var(--ease)}.verdict.checking{color:var(--ink-soft)}.verdict.quiet{font-weight:500;animation:none}.sparkles{pointer-events:none;position:absolute;top:50%;left:0}.sparkle{background:var(--sun);opacity:0;width:8px;height:8px;animation:sparkle .7s var(--ease) calc(var(--i) * 40ms) forwards;--angle:calc(var(--i) * 60deg);border-radius:50%;position:absolute}.next{min-width:160px;animation:settle var(--dur) var(--ease);align-self:flex-end}.item-waiting{color:var(--ink-soft);margin:0}.chat{flex-direction:column;height:100%;min-height:0;display:flex}.chat-viewport{scroll-behavior:smooth;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.chat-empty{color:var(--ink-soft);text-align:center;margin:auto 0 0}.bubble{border-radius:var(--radius);max-width:min(85%,560px);animation:settle var(--dur) var(--ease);padding:12px 16px}.bubble.learner{background:var(--learner-bubble);border-bottom-right-radius:6px;align-self:flex-end}.bubble.learner[data-pending=true]{opacity:.75}.bubble.tutor{background:var(--tutor-bubble);box-shadow:var(--shadow);border-bottom-left-radius:6px;align-self:flex-start}.bubble-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.bubble-text.failed{color:var(--ink-soft);font-style:italic}.bubble-meta{color:var(--ink-soft);margin-top:4px;font-size:.8rem;display:block}.caret{vertical-align:text-bottom;background:var(--accent);border-radius:2px;width:.5em;height:1.1em;margin-left:2px;animation:1s steps(2,start) infinite blink;display:inline-block}.composer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:2px solid var(--line);background:var(--bg);align-items:flex-end;gap:10px;display:flex}.composer-input{min-width:0;min-height:var(--tap);border:2px solid var(--line);background:var(--surface);resize:none;border-radius:26px;flex:auto;max-height:30dvh;padding:12px 16px}.composer-input:focus-visible{border-color:var(--accent);outline-offset:0}.cta{text-align:center;flex-direction:column;align-items:center;gap:16px;margin-top:auto;padding:24px 0 8px;display:flex}.cta-hint{color:var(--ink-soft);margin:0}.widget{margin-top:12px}.w-stack{flex-direction:column;gap:12px;display:flex}.w-text{margin:0}.w-choice{margin:0;padding:0}.w-choice-prompt{margin:0 0 8px;font-weight:600}.w-choice-sent{color:var(--ink-soft);margin:8px 0 0;font-size:.9rem}.insights{text-align:left;width:100%;max-width:560px}.insights-title{color:var(--ink-soft);margin:0 0 8px;font-size:1rem}.insights-empty{color:var(--ink-soft);margin:0;font-size:.9rem}.insight-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.insight{border-radius:var(--radius-small);background:var(--surface);box-shadow:var(--shadow);padding:12px 14px}.insight-head{justify-content:space-between;gap:12px;font-weight:600;display:flex}.insight-delta{color:var(--ink-soft);white-space:nowrap;font-size:.85rem}.insight-delta[data-trend=up]{color:var(--good)}.insight-bar{background:var(--surface-2);border-radius:999px;height:12px;margin-top:8px;overflow:hidden}.insight-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--sun));height:100%;transition:width .6s var(--ease);display:block}.insight-percent{color:var(--ink-soft);margin-top:4px;font-size:.8rem;display:block}@keyframes settle{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.05)}to{transform:none}}@keyframes nudge{0%,to{transform:none}30%{transform:translate(-4px)}60%{transform:translate(4px)}}@keyframes sparkle{0%{opacity:1;transform:rotate(var(--angle)) translateX(0)}to{opacity:0;transform:rotate(var(--angle)) translateX(36px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes blink{to{visibility:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.sparkles{display:none}.banner.reconnecting{animation:1ms linear 1.2s forwards fade-in!important}.caret{animation:none!important}}.chat-disclosure{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);color:var(--ink-soft);margin:0;font-size:.85rem}.chat-intro{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;display:flex}.chat-intro p{margin:0}.chat-intro-title{margin:0;font-size:1.1rem}
