@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-cyrillic-ext-400-normal.3vm4r-qr3_yee.woff2)format("woff2"),url(../media/inter-cyrillic-ext-400-normal.2e4vdgi7dy-n4.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-cyrillic-400-normal.1nwx-p2ngx2yg.woff2)format("woff2"),url(../media/inter-cyrillic-400-normal.2jms6gqb5gbhf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-greek-ext-400-normal.2gr4b827yb2_q.woff2)format("woff2"),url(../media/inter-greek-ext-400-normal.38g6916w0wpxs.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-greek-400-normal.402ep76-j03q8.woff2)format("woff2"),url(../media/inter-greek-400-normal.2x8hqgpakc599.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-vietnamese-400-normal.1sl-kw9vnef9y.woff2)format("woff2"),url(../media/inter-vietnamese-400-normal.3206qgbkgsfc6.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-latin-ext-400-normal.1aowtwjb6jex7.woff2)format("woff2"),url(../media/inter-latin-ext-400-normal.0zt1v0rj9tqox.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-latin-400-normal.2qdljeg3s-lsl.woff2)format("woff2"),url(../media/inter-latin-400-normal.102grxki9ek3x.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-cyrillic-ext-600-normal.341-hvs74ljp4.woff2)format("woff2"),url(../media/inter-cyrillic-ext-600-normal.1of5i9-_e5ga4.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-cyrillic-600-normal.0tppy39gl-lzn.woff2)format("woff2"),url(../media/inter-cyrillic-600-normal.3jalm3505289h.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-greek-ext-600-normal.20m9kgz843wth.woff2)format("woff2"),url(../media/inter-greek-ext-600-normal.3vzrk1-4zat7v.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-greek-600-normal.2ove9n9b8_3hb.woff2)format("woff2"),url(../media/inter-greek-600-normal.3aakp9m92tg2m.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-vietnamese-600-normal.0m_wd36g8rw-r.woff2)format("woff2"),url(../media/inter-vietnamese-600-normal.0dwa77f5pp57q.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-latin-ext-600-normal.1zn8rwi8y9u6i.woff2)format("woff2"),url(../media/inter-latin-ext-600-normal.1pfmybho54-ry.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-latin-600-normal.2dov6rjg62vru.woff2)format("woff2"),url(../media/inter-latin-600-normal.2mum3nstrlzrd.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/plus-jakarta-sans-cyrillic-ext-700-normal.1nhq2514h9x8o.woff2)format("woff2"),url(../media/plus-jakarta-sans-cyrillic-ext-700-normal.1ib5jkckymo9d.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/plus-jakarta-sans-vietnamese-700-normal.1z0ss10ckklg_.woff2)format("woff2"),url(../media/plus-jakarta-sans-vietnamese-700-normal.2lsr2bj7wsvqp.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/plus-jakarta-sans-latin-ext-700-normal.1l58qrcouh72i.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-ext-700-normal.2y7a0hldj3559.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/plus-jakarta-sans-latin-700-normal.1dulefe5e4s81.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-700-normal.11xgn1hzdiyec.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-ext-400-normal.2xgjnt7tqh9_7.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-400-normal.2k9shvy03yibn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-400-normal.0qoulnxh80yge.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-400-normal.0-x1dsk872q42.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-greek-400-normal.0_-0tsqse47zs.woff2)format("woff2"),url(../media/jetbrains-mono-greek-400-normal.3y1-6__cta0i8.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-vietnamese-400-normal.2_8hwz_kagcew.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-400-normal.1lu2dr36-r4uv.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-ext-400-normal.1y03up-y7l7i4.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-400-normal.02j2uvbtesu5k.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-400-normal.3crsbyy6lh6yf.woff2)format("woff2"),url(../media/jetbrains-mono-latin-400-normal.2-1gwgi1uvl-u.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-cyrillic-ext-700-normal.3_re1_vi8smkt.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-700-normal.0n74mzw-xkcf_.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-cyrillic-700-normal.03lqm2majmr0o.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-700-normal.3to38b2det_08.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-greek-700-normal.1umspahawg74g.woff2)format("woff2"),url(../media/jetbrains-mono-greek-700-normal.2sl-f5vk9r2uz.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-vietnamese-700-normal.0ae5b7qyx6wef.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-700-normal.02oh1r7_ym-l4.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-latin-ext-700-normal.2hg34p-yvum_k.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-700-normal.45a02o0qapeir.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-latin-700-normal.1ydlpv6k6mttm.woff2)format("woff2"),url(../media/jetbrains-mono-latin-700-normal.3rj35zxzh_fh4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f8fafc;--surface:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--blue:#0284c7;--sky:#0ea5e9;--mono:"JetBrains Mono",monospace;--shadow:0 10px 30px -5px #0284c70d,0 4px 12px -2px #0f172a0a}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,Arial,Noto Sans,sans-serif;font-size:14px}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);color:#334155;background:#fff;border-radius:9px;padding:8px 12px;transition:background .15s,border-color .15s,box-shadow .15s}button:hover:not(:disabled){background:#f0f9ff;border-color:#7dd3fc}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}button:disabled{cursor:default;opacity:1}a{color:inherit;text-decoration:none}svg{flex-shrink:0}kbd{font-family:var(--mono);border:1px solid var(--border);background:#f1f5f9;border-radius:4px;padding:3px 6px;font-size:11px}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.header{border-bottom:1px solid var(--border);background:#ffffffdc;align-items:center;gap:32px;min-height:72px;padding:12px 30px;display:flex}.brand{align-items:center;gap:12px;min-width:258px;display:flex}.brand-icon{color:#fff;background:#0ea5e9;border-radius:12px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 3px 9px #0284c733}.brand b{letter-spacing:-.8px;font-family:Plus Jakarta Sans,sans-serif;font-size:21px}.brand small{color:var(--muted);max-width:240px;margin-top:4px;font-size:10px;display:block}.mode-tabs{border:1px solid var(--border);background:#f1f5f9;border-radius:12px;gap:3px;padding:4px;display:flex}.mode-tabs button{white-space:nowrap;background:0 0;border-color:#0000;padding:9px 15px;font-size:12px;font-weight:600}.mode-tabs button.selected{color:#0369a1;border-color:var(--border);background:#fff;box-shadow:0 1px 3px #0f172a08}.header-tools{align-items:center;gap:10px;margin-left:auto;display:flex}.header-tools button{white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.header-tools svg{width:17px;height:17px}.restart{color:#e11d48;border-color:#fecdd3}.language-select{border:1px solid var(--border);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:7px 9px;display:flex}.language-select select{color:#334155;cursor:pointer;background:0 0;border:0;max-width:140px;font-size:12px}.workspace{grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 72px);display:grid}.sidebar{border-right:1px solid var(--border);background:#ffffffb3;flex-direction:column;justify-content:space-between;gap:48px;padding:28px 24px 24px;display:flex}.curriculum-title{color:var(--muted);font-size:11px;font-family:var(--mono);justify-content:space-between;gap:8px;margin-bottom:10px;display:flex}.curriculum-title span{color:var(--blue)}progress{appearance:none;background:#f1f5f9;border:0;border-radius:8px;width:100%;height:6px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#f1f5f9;border-radius:8px}progress::-webkit-progress-value{background:#0ea5e9;border-radius:8px}progress::-moz-progress-bar{background:#0ea5e9;border-radius:8px}.sidebar h2{text-transform:uppercase;letter-spacing:.6px;color:#8293a9;margin:29px 5px 12px;font-size:10px}.lesson-list button{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:10px;width:100%;min-height:47px;margin:3px 0;padding:13px 10px;font-size:12px;line-height:1.5;display:flex}.lesson-list button.selected{color:#075985;background:#f0f9ff;border-color:#bae6fd;font-weight:600}.lesson-list button>svg{margin-left:auto}.lesson-number{font-family:var(--mono);color:#8b9ab1;flex-shrink:0;width:18px;font-size:11px}.lesson-number.complete{color:#10b981}.saved-note{color:#8293a9;margin:22px 5px;font-size:11px;line-height:1.8}.finger-legend{border-top:1px solid var(--border)}.finger-legend>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.finger-legend section{border:1px solid var(--border);font-family:var(--mono);background:#f8fafc;border-radius:12px;padding:12px 10px;font-size:10px}.finger-legend strong{color:#0369a1}.finger-legend p{color:#64748b;margin:8px 0 0;font-size:10px;line-height:1.9}.alphabet-grid{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.alphabet-grid button{font-family:var(--mono);padding:10px 0;position:relative}.alphabet-grid svg{color:#10b981;position:absolute;top:1px;right:1px}.alphabet-grid .selected{color:#0369a1;background:#e0f2fe;border-color:#38bdf8}main{min-width:0;padding:64px 48px 28px}.studio{max-width:1140px;margin:0 auto}.page-title{justify-content:space-between;align-items:center;gap:16px;margin:0 0 23px;display:flex}.page-title h1{letter-spacing:-.5px;margin:0;font-size:22px;font-weight:600;line-height:1.5}.page-title>span{color:#8293a9;font-family:var(--mono);font-size:11px}.metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.metrics article{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffffff2;border-radius:16px;flex-direction:column;justify-content:space-between;gap:7px;min-height:108px;padding:16px;display:flex}.metrics article>span{color:#61758e;font-size:11px}.metrics strong{font-family:var(--mono);letter-spacing:-1.2px;font-size:29px;line-height:1.15}.metrics strong small{letter-spacing:0;color:#8192ab;font-size:11px;font-weight:400}.metrics article>small{color:#7590aa;font-size:10px;line-height:1.4}.metrics .streak{color:#f59e0b}.metrics .error-text{color:#e11d48}.practice-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;margin-bottom:17px;padding:24px}.practice-card.focused{border-color:#bae6fd}.practice-heading{color:#64748b;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:16px;font-size:11px;display:flex}.practice-heading>span:first-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.practice-heading i{background:#0ea5e9;border-radius:50%;width:9px;height:9px;display:block}.practice-heading b{color:#334155}.next-key{white-space:nowrap;border:1px solid var(--border);background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:5px 9px;display:flex}.next-key kbd{color:#0284c7;text-align:center;background:#fff;border-color:#bae6fd;min-width:24px;font-size:15px}.typing-area{border:1px solid var(--border);cursor:text;background:#f8fafc;border-radius:12px;outline:none;padding:20px;box-shadow:inset 0 1px 4px #0f172a08}.typing-area:focus-visible{box-shadow:0 0 0 2px #7dd3fc}.typing-stream{font:700 27px/1.85 var(--mono);letter-spacing:1px;overflow-wrap:anywhere;white-space:pre-wrap;min-height:50px}.typing-stream span{border-radius:4px;padding:2px 0}.typing-stream .typed{color:#94a3b8}.typing-stream .current-char{color:#0f172a;background:#fbbf24;box-shadow:0 0 0 2px #fbbf24}.has-error .current-char{color:#b91c1c;background:#fecaca;box-shadow:0 0 0 2px #fecaca}.input-status{color:#71839c;margin-top:10px;font-size:11px;display:block}.practice-tip{color:#8192ab;justify-content:space-between;align-items:center;gap:14px;margin-top:17px;font-size:11px;display:flex}.practice-tip>span{align-items:center;gap:7px;line-height:1.7;display:flex}.practice-tip svg{color:#eab308;flex-shrink:0}.practice-tip kbd{white-space:nowrap}.native-prompt{margin:0 0 18px}.native-prompt p{color:#1e293b;margin:8px 0;font-size:25px;line-height:1.6}.native-prompt small{color:#64748b;font-size:11px;line-height:1.7;display:block}.scheme-label{font:10px var(--mono);color:#0284c7}.notice{color:#b45309;font-size:12px}.result{flex-wrap:wrap;align-items:center;gap:12px;padding-top:18px;display:flex}.result>span{color:#059669;align-items:center;gap:7px;margin-right:auto;display:flex}.result button{align-items:center;gap:8px;font-size:12px;display:flex}.result .primary{color:#fff;background:#0284c7;border-color:#0284c7}.key{min-width:0;height:45px;font:600 13px var(--mono);color:#25354d;background:#fff;border-radius:11px;flex:1;padding:0 2px;transition:transform 80ms,background .1s;position:relative;box-shadow:0 3px #cbd5e1,0 4px 8px -1px #0f172a14,inset 0 1px 1px #ffffffe6}.function-key{background:#e2e8f0;border-color:#cbd5e1;flex:1.65;font-size:10px;font-weight:400}.space-key{color:#8192ab;flex:6.8;font-size:11px;font-weight:400}.key.target-key{color:#fff;border-color:#38bdf8;box-shadow:0 0 18px #0ea5e94d,0 3px #0369a1;background:#0ea5e9!important}.key.pressed-key{transform:translateY(3px);box-shadow:inset 0 2px 4px #0f172a26}.home-key:after{content:"";background:#94a3b8;border-radius:2px;width:10px;height:2px;position:absolute;bottom:5px;left:calc(50% - 5px)}.hindi-key{font:17px/1.2 sans-serif;display:block}.hindi-key+span{opacity:.7;font-size:8px}.finger-caption>span{letter-spacing:1px;color:#8293a9;font-size:9px}.mobile-note{color:#64748b;font-size:11px;line-height:1.7;display:none}.practice-guide{border-top:1px solid var(--border);color:#64748b;margin-top:50px;padding-top:22px}.practice-guide h2{color:#334155;font-size:14px;font-weight:600}.practice-guide p{max-width:900px;font-size:12px;line-height:1.9}@media (min-width:1650px){.workspace{grid-template-columns:330px minmax(0,1fr)}main{padding-top:80px}.page-title{margin-bottom:24px}}@media (max-width:1250px){.header{flex-wrap:wrap;gap:15px;padding:12px 20px}.brand{min-width:200px}.header-tools{gap:6px}.sound-button span{display:none}.workspace{grid-template-columns:245px minmax(0,1fr)}.sidebar{padding:24px 15px}main{padding:40px 25px}.metrics{gap:8px}.metrics article{padding:12px}.metrics strong{font-size:24px}.typing-stream{font-size:23px}}@media (max-width:950px){.header{gap:12px}.mode-tabs{order:3;justify-content:center;width:100%}.workspace{grid-template-columns:200px minmax(0,1fr)}main{padding:28px 20px}.sidebar{padding:24px 12px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics article{min-height:98px}.metrics article:nth-child(4),.metrics article:nth-child(5){min-height:90px}.practice-card{padding:18px}.practice-heading{flex-wrap:wrap}.keyboard-section{padding-bottom:45px}.practice-tip kbd{display:none}.typing-stream{font-size:21px}.key{height:39px;font-size:11px}.function-key{font-size:8px}.finger-legend>div{grid-template-columns:1fr}.page-title h1{font-size:21px}}@media (max-width:650px){.header{padding:12px 16px}.brand{flex:1;min-width:0}.brand small{max-width:180px}.brand-icon{width:35px;height:35px}.brand b{font-size:19px}.header-tools{flex-wrap:wrap;gap:5px}.header-tools .restart{padding:7px}.restart span{display:none}.sound-button{padding:7px}.language-select{padding:6px}.language-select>svg{display:none}.language-select select{max-width:95px;font-size:11px}.mode-tabs button{white-space:normal;flex:1;padding:8px 6px;font-size:11px}.workspace{flex-direction:column;display:flex}.sidebar{border-right:0;border-bottom:1px solid var(--border);padding:18px 16px}.curriculum-title{font-size:10px}.sidebar h2{display:none}.lesson-list{gap:6px;margin-top:12px;padding-bottom:3px;display:flex;overflow-x:auto}.lesson-list>div{flex-shrink:0}.lesson-list button{min-height:38px;margin:0;padding:9px 10px;font-size:11px}.lesson-number{width:15px;font-size:10px}.saved-note,.finger-legend{display:none}.alphabet-grid{grid-template-columns:repeat(9,1fr);gap:5px;margin-top:12px}.alphabet-grid button{padding:8px 0;font-size:12px}main{padding:24px 16px}.page-title{margin-bottom:16px}.page-title h1{font-size:21px}.page-title>span{font-size:9px}.metrics{gap:8px}.metrics article{border-radius:12px;min-height:92px;padding:11px}.metrics article>span{font-size:10px}.metrics strong{font-size:23px}.metrics article>small{font-size:9px}.practice-card{border-radius:14px;padding:14px}.practice-heading{gap:10px;margin-bottom:12px;padding-bottom:12px;font-size:10px}.typing-area{padding:12px}.typing-stream{letter-spacing:0;font-size:20px;line-height:1.9}.input-status,.practice-tip{font-size:10px}.native-prompt p{font-size:22px}.key{border-radius:5px;height:33px;font-size:10px}.function-key{font-size:6px;overflow:hidden}.space-key{font-size:8px}.home-key:after{width:6px;bottom:3px;left:calc(50% - 3px)}.hindi-key{font-size:13px}.hindi-key+span{font-size:6px}.keyboard-section{padding-bottom:0}.mobile-note{margin-top:64px;display:block}.practice-guide{margin-top:24px;padding-top:14px}.result{gap:8px}.result>span{width:100%;font-size:13px}.result button{font-size:11px}.header-tools .sound-button{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.analytics-header{justify-content:space-between}.analytics-header nav{margin-left:auto;margin-right:24px}.analytics-header select{border:1px solid var(--border);background:var(--surface);max-width:160px;color:var(--text);border-radius:9px;padding:9px}.header-tools>a{color:var(--blue);white-space:nowrap;font-weight:600;text-decoration:none}.analytics-page{min-width:0;max-width:1240px;margin:0 auto;padding:36px 24px;display:block}.analytics-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px;display:flex}.analytics-heading h1{margin:0 0 12px;font-size:32px}.analytics-heading p,.analytics-muted,.analytics-footer{color:var(--muted);line-height:1.7}.analytics-primary{background:var(--blue);text-align:center;border-radius:10px;padding:13px 20px;font-weight:600;text-decoration:none;display:inline-block;color:#fff!important}.analytics-heading>.analytics-primary{flex-shrink:0}.analytics-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.analytics-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;min-width:0;margin-bottom:22px;padding:26px}.analytics-card h2{margin:0 0 24px;font-size:20px}.analytics-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 22px;display:grid}.analytics-numbers dt{color:var(--muted);min-height:40px;font-size:13px;line-height:1.5}.analytics-numbers dd{color:var(--blue);overflow-wrap:anywhere;margin:8px 0 0;font-size:30px;font-weight:700}.analytics-numbers small{margin-left:6px;font-size:12px;font-weight:400}.overview-numbers{grid-template-columns:repeat(5,minmax(0,1fr))}.overview-numbers dd{font-size:24px}.week-strip{text-align:center;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:30px;display:grid}.week-strip span{color:var(--muted);margin-bottom:12px;font-size:11px;display:block}.week-strip strong{border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:400;display:inline-flex}.week-strip .active-day strong{color:var(--blue);background:#e0f2fe;border-color:#7dd3fc}.week-strip .today strong{outline:2px dashed var(--sky);outline-offset:3px}.analytics-empty{background:#f0f9ff;border:1px solid #bae6fd;border-radius:16px;margin-bottom:24px;padding:26px}.analytics-empty h2{font-size:18px}.analytics-empty a{color:var(--blue)}.analytics-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.analytics-section-heading h2{margin:0}.analytics-range{gap:6px;display:flex}.analytics-range [aria-pressed=true]{color:var(--blue);background:#e0f2fe;border-color:#7dd3fc}.analytics-charts{grid-template-columns:1fr 1fr;gap:28px;margin:24px 0;display:grid}.analytics-charts h3{font-size:14px}.analytics-charts svg{width:100%;height:auto;overflow:visible}.analytics-charts text{fill:var(--muted);font-size:12px}.analytics-table{overflow-x:auto}.analytics-table table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.analytics-table th{color:var(--muted);background:var(--bg);font-weight:600}.analytics-table th,.analytics-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:13px 12px}.analytics-table kbd{border:1px solid var(--border);font-family:var(--mono);border-radius:5px;padding:4px 8px;display:inline-block}.record-status{color:var(--muted);background:#f1f5f9;border-radius:6px;padding:4px 8px}.record-status.completed{color:#047857;background:#ecfdf5}.analytics-pagination{justify-content:flex-end;align-items:center;gap:16px;margin-top:20px;display:flex}.analytics-page button:disabled{opacity:.45;cursor:default}.analytics-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.analytics-footer button{color:#b91c1c}.analytics-page summary{cursor:pointer;color:var(--muted)}@media (max-width:800px){.analytics-grid,.analytics-charts{grid-template-columns:1fr}.overview-numbers{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-heading{flex-direction:column;align-items:flex-start}.analytics-header{flex-wrap:wrap}.analytics-page{padding:24px 16px}.analytics-card{padding:20px}.analytics-heading h1{font-size:28px}.analytics-footer,.analytics-section-heading{flex-direction:column;align-items:flex-start}.analytics-numbers dd{font-size:24px}.analytics-header nav{margin-right:8px}.header-tools{flex-wrap:wrap}}.keyboard-stage{isolation:isolate;width:100%;position:relative;container-type:inline-size}.keyboard-surface{background:linear-gradient(#edf2f7,#e2e8f0);border:1px solid #cbd5e1;border-radius:20px;height:69%;position:absolute;inset:0 0 auto;box-shadow:0 3px 5px #0f172a12}.keyboard-keys{position:absolute;inset:0}.keyboard-stage .key{z-index:1;border-radius:clamp(4px,1.2cqw,11px);flex:none;min-width:0;padding:0;font-size:clamp(8px,1.6cqw,15px);position:absolute}.keyboard-stage .function-key{font-size:clamp(5px,1.1cqw,10px)}.keyboard-stage .space-key{font-size:clamp(7px,1.3cqw,12px)}.hand-guide{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hand-silhouette path{fill:#a5b5c51c;stroke:#64748b80;stroke-width:1.7px;stroke-linejoin:round;transition:d .18s ease-out}.guided-finger path{fill:#f59e0b0b;stroke:#f59e0b;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;transition:d .18s ease-out}.fingertip{fill:#f59e0b;fill-opacity:.32;stroke:#f59e0b;stroke-width:1.5px;transition:cx .18s ease-out,cy .18s ease-out}.finger-tapping path{stroke:#d97706;stroke-width:5px}.finger-tapping .fingertip{fill-opacity:.8}.keyboard-section{padding-bottom:0}.keyboard-section .finger-caption{flex-direction:row;justify-content:center;align-items:center;gap:12px;width:auto;max-width:none;margin:4px 0 12px;display:flex;position:static;transform:none}.keyboard-section .finger-caption strong{padding:7px 15px;font-size:12px}.keyboard-section .mobile-note{margin-top:12px}.keyboard-stage .hindi-key{font-size:clamp(10px,2cqw,18px)}@media (max-width:560px){.keyboard-surface{border-radius:12px}.keyboard-section .finger-caption{gap:8px}.keyboard-section .finger-caption strong{font-size:11px}.keyboard-stage .key{box-shadow:0 2px #cbd5e1}.guided-finger path{stroke-width:5px}.hand-silhouette path{stroke-width:2px}}.hand-details{fill:none;stroke:#64748b40;stroke-width:1.1px;stroke-linecap:round;pointer-events:none}.hand-details path{transition:d .18s ease-out}.hand-silhouette path{fill:#a5b5c51c}.course-category{color:#64748b;gap:9px;margin:16px 0 12px;font-size:12px;display:grid}.category-trigger{border:1px solid var(--border);color:#334155;text-align:left;background:#f8fafc;border-radius:10px;align-items:center;gap:9px;width:100%;min-height:44px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.category-trigger>span:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.category-trigger>svg{color:#64748b;transition:transform .15s}.category-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.category-trigger.current-category{color:#075985;background:#f0f9ff;border-color:#7dd3fc}.category-count{color:#64748b;min-width:25px;font:11px var(--mono);text-align:center;background:#eaf0f6;border-radius:6px;flex-shrink:0;padding:3px 6px}.workspace .course-category .lesson-list{border-left:1px solid var(--border);max-height:260px;margin:5px 0 0 8px;padding-left:5px;display:block;overflow:hidden auto}.workspace .course-category .lesson-list[hidden]{display:none}.workspace .course-category .lesson-list button{white-space:normal}.typing-stream{scrollbar-gutter:stable;max-height:240px;padding:6px;overflow-y:auto}.native-prompt p{max-height:180px;font-size:20px;line-height:1.8;overflow-y:auto}@media (max-width:650px){.course-category{margin:12px 0 0}.typing-stream{max-height:190px}.native-prompt p{max-height:150px;font-size:18px}}.native-prompt p{white-space:pre-wrap;overflow-wrap:anywhere;padding:4px}.native-segment{border-radius:3px}.native-typed{color:#94a3b8}.native-current{color:#0f172a;background:#fbbf24;box-shadow:0 0 0 1px #fbbf24}.native-wrong{color:#b91c1c;background:#fecaca;box-shadow:0 0 0 1px #fecaca}.result .primary kbd{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.workspace main{padding:14px 24px 28px}.workspace{grid-template-columns:250px minmax(0,1fr)}.workspace .page-title{margin-bottom:8px}.workspace .page-title h1{font-size:18px}.daily-plan{background:#eff8ff;border:1px solid #bae6fd;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px 14px;display:flex}.daily-plan p{color:#475569;margin:4px 0 0;font-size:11px;line-height:1.5}.daily-plan button{color:#0369a1;flex-shrink:0;font-size:12px}.workspace .metrics{gap:8px;margin-bottom:8px}.workspace .metrics article{border-radius:10px;gap:3px;min-height:58px;padding:7px 10px}.workspace .metrics strong{font-size:20px}.workspace .metrics article>small{display:none}.workspace .practice-card{margin-bottom:8px;padding:12px}.workspace .practice-heading{margin-bottom:7px;padding-bottom:6px}.workspace .typing-area{padding:9px 12px}.workspace .typing-stream{min-height:36px;max-height:95px;font-size:21px;line-height:1.55}.workspace .input-status{margin-top:4px}.workspace .practice-tip{margin-top:6px}.workspace .keyboard-section{width:calc(100% - 26px);margin:0 auto;padding:0}.workspace .finger-caption{min-height:20px;margin-top:2px;padding:0}.workspace .practice-guide{margin-top:18px}.workspace .sidebar{padding:18px 16px}.workspace .lesson-list{max-height:430px;overflow-y:auto}.workspace .lesson-list button{min-height:35px;padding:7px 8px}.workspace .finger-legend{display:none}.hint-controls{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.hint-controls button{padding:4px 8px;font-size:11px}.hint-controls button[aria-pressed=true]{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.fingers-only .key.target-key{color:var(--text);border-color:var(--border);box-shadow:0 3px #cbd5e1;background:#fff!important}.fingers-only .key>span{visibility:hidden}.fingers-only .guided-finger .fingertip{display:none}.key-introduction strong{color:#0369a1}.key-introduction p{margin:8px 0;font-size:16px}.key-introduction kbd{color:#075985;background:#e0f2fe;padding:5px 12px;font-size:22px}.key-introduction small{color:#64748b}.key-introduction p[role=status]{color:#475569;font-size:12px}.intro-action{margin-top:8px}.is-introducing .metrics,.is-introducing .page-title,.is-introducing .practice-tip{display:none}.learning-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-top:10px;padding:12px}.learning-result>strong{color:#047857;align-items:center;gap:5px;display:flex}.learning-result p{margin:6px 0;line-height:1.6}.learning-result small{color:#475569}.learning-result kbd{margin:2px;display:inline-block}.learning-result .result{padding-top:8px}.plan-summary{background:#fff;border:1px solid #bbf7d0;border-radius:14px;padding:20px}.plan-summary li{margin:12px 0;line-height:1.7}.plan-summary h2{color:#047857}.plan-summary p{line-height:1.7}.independent-note{color:#475569;background:#fff;border:1px dashed #94a3b8;border-radius:12px;padding:12px}.independent-note p{line-height:1.7}.practice-content[hidden],.typing-stream[hidden]{display:none}.daily-plan button:disabled,.hint-controls button:disabled{opacity:.5;cursor:default}.entry-heading{align-items:center;gap:8px;min-width:0;display:flex}.practice-entry .entry-heading h1{margin:0}.entry-help-button{width:30px;height:30px;color:var(--muted);background:0 0;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.entry-help-popover{border:1px solid var(--border);background:var(--surface);width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:12px;padding:16px 20px;overflow:auto;box-shadow:0 12px 40px #0f172a26}.entry-help-popover::backdrop{background:#0f172a14}.practice-entry{margin-bottom:12px}.practice-entry h1{margin:0 0 6px;font-size:22px;line-height:1.4}.practice-entry p{color:#475569;margin:6px 0;font-size:13px;line-height:1.7}.entry-actions{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.entry-actions button{min-height:36px;font-size:12px}.entry-actions button:first-child{color:#fff;background:#0369a1;border-color:#0369a1}.entry-actions button:disabled{opacity:.6;cursor:default}.practice-entry .entry-input{font-size:12px}.lesson-instruction{color:#334155;background:#eff8ff;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.8}.practice-help{border-top:1px solid var(--border);color:#475569;margin-top:20px;padding-top:16px;font-size:13px;line-height:1.8}.practice-help h2{color:#334155;font-size:18px}.practice-help li{margin:8px 0}.practice-help details{border-top:1px solid var(--border);padding:10px 0}.practice-help summary{cursor:pointer;font-weight:600}.practice-help p{margin:8px 0}.article-picker{border:1px solid var(--border);background:#fff;border-radius:12px;margin:10px 0;padding:14px}.article-picker label{margin-bottom:6px;font-weight:600;display:block}.article-picker select{width:100%;min-width:0;max-width:100%;font:inherit;border:1px solid var(--border);background:#fff;border-radius:8px;padding:9px}.article-picker .article-preview,.article-picker .article-sequence{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;max-height:170px;padding:10px;overflow:auto}.article-picker .article-sequence{font-family:var(--mono)}.article-picker summary{cursor:pointer;font-size:13px}.article-picker button{margin-top:6px}@media (min-width:1000px) and (max-height:800px){.workspace .page-title{clip-path:inset(50%);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.workspace .practice-tip{display:none}.workspace .finger-caption strong{padding:2px 10px}.workspace .typing-area{padding:6px 10px}.workspace .typing-stream{min-height:30px;line-height:1.4}.workspace .practice-heading{margin-bottom:4px;padding-bottom:4px}.workspace .next-key{padding:2px 7px}}@media (max-width:950px){.workspace{grid-template-columns:190px minmax(0,1fr)}.workspace main{padding:12px}.daily-plan{flex-wrap:wrap;align-items:flex-start}.workspace .metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.workspace .metrics article{min-height:58px;padding:6px}.workspace .metrics strong{font-size:17px}}@media (max-width:650px){.workspace{display:flex}.workspace .sidebar{padding:10px 14px}.workspace .lesson-list{max-height:none;overflow-y:hidden}.workspace main{padding:14px}.daily-plan button{white-space:normal}.workspace .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace .metrics article:nth-child(4),.workspace .metrics article:nth-child(5){min-height:58px}.workspace .keyboard-section{width:100%}.workspace .mobile-note{margin-top:6px}.key-introduction p{font-size:14px}.workspace .typing-stream{font-size:19px}.plan-summary{padding:14px}}@media (min-width:951px){.practice-entry{margin-bottom:8px}.practice-entry h1{margin-bottom:4px;font-size:18px}.practice-entry p{margin:4px 0;line-height:1.5}.entry-actions{margin:6px 0}.entry-actions button{min-height:30px;padding:5px 10px}.daily-plan{margin-bottom:8px;padding:6px 10px}.daily-plan>div{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.daily-plan strong{flex-shrink:0;font-size:12px}.daily-plan p{margin:0}.daily-plan button{padding:5px 10px}.workspace .metrics article{flex-direction:row;align-items:center;gap:6px;min-height:44px;padding:7px 10px;position:relative}.workspace .metrics article>span{min-width:0}.workspace .metrics strong{flex-shrink:0}.workspace .metrics progress{width:calc(100% - 20px);height:3px;position:absolute;bottom:0;left:10px}.practice-entry{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.practice-entry .entry-heading{flex:220px}.practice-entry .entry-actions{overscroll-behavior:contain;flex-wrap:nowrap;flex:0 auto;min-width:0;max-width:100%;margin:0 0 0 auto;overflow-x:auto}.practice-entry .entry-actions button{white-space:nowrap;flex-shrink:0}}.practice-heading{position:relative}.intro-help{position:static}.intro-help summary{cursor:pointer;width:28px;height:28px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;list-style:none;display:flex}.intro-help summary::-webkit-details-marker{display:none}.intro-help summary:hover{background:#f1f5f9}.intro-help summary:focus-visible{outline:2px solid var(--sky);outline-offset:2px}.intro-help-content{z-index:2;border:1px solid var(--border);background:var(--surface);width:min(300px,100vw - 100px);box-shadow:var(--shadow);color:var(--muted);border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.7;position:absolute;top:calc(100% + 6px);left:0}.intro-help-content p{margin:0}.intro-help-content p+p{margin-top:6px}.intro-feedback{color:#b45309;font-size:12px;line-height:1.5}.intro-feedback:empty{display:none}@media (max-width:650px){.intro-help-content{width:min(240px,100vw - 100px)}}.intro-action.intro-action-ready{color:#fff;background:#0369a1;border:2px solid #0369a1;align-items:center;gap:12px;margin:0;padding:12px 20px;font-weight:700;display:inline-flex;box-shadow:0 0 0 4px #e0f2fe}.intro-action-ready kbd{color:#075985;background:#fff;border-color:#bae6fd}.intro-action-ready:hover{background:#075985}.intro-action-ready:focus-visible{outline-offset:4px;outline:3px solid #0284c7}.is-introducing .metrics{display:grid}.metrics[data-inactive=true]{opacity:.65}.workspace .stable-practice{outline:none;grid-template-rows:42px minmax(0,1fr) 70px;gap:8px;height:280px;display:grid}.workspace .stable-practice:focus-visible{border-color:#7dd3fc}.stable-practice .practice-heading{flex-wrap:nowrap;min-width:0;margin:0;padding:0 0 6px}.stable-practice .practice-course{flex-wrap:nowrap;min-width:0}.stable-practice .practice-heading b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow:auto}.practice-body .typing-area{min-height:100%;box-shadow:none;cursor:text;border:0}.practice-body:has(.native-prompt){flex-direction:column;gap:4px;display:flex}.practice-body .native-prompt{flex-direction:column;flex:1;min-height:0;margin:0;display:flex}.practice-body .native-prompt p{overscroll-behavior:contain;min-height:0;margin:0;font-size:18px;line-height:1.5;overflow:auto}.practice-body .native-prompt small{display:none}.practice-body:has(.native-prompt) .typing-area{flex:1;min-height:0;overflow:hidden}.practice-body .typing-stream{overscroll-behavior:contain;max-height:100%}.practice-body .lesson-instruction{flex-shrink:0;max-height:40px;margin:0;padding:4px 8px;font-size:11px;line-height:1.5;overflow:auto}.practice-body .learning-result,.practice-body .plan-summary{background:#f8fafc;border:0;border-radius:8px;margin:0;padding:8px 10px}.practice-body .learning-result p,.practice-body .plan-summary p{margin:4px 0;font-size:12px;line-height:1.5}.practice-body .plan-summary h2{margin:0;font-size:15px}.practice-body .plan-summary ol{margin:4px 0;padding-left:22px}.practice-body .plan-summary li{margin:2px 0;font-size:12px}.practice-footer{grid-template-rows:24px 38px;gap:4px;min-width:0;display:grid}.practice-status{color:#64748b;overscroll-behavior:contain;font-size:11px;line-height:20px;overflow:auto}.practice-status[role=alert]{color:#b45309}.practice-actions{overscroll-behavior:contain;min-width:0;overflow-x:auto}.practice-actions,.practice-actions .result{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.practice-actions .result{width:100%;margin:0;padding:0}.practice-actions button{white-space:nowrap;flex-shrink:0;min-height:32px;padding:6px 8px;font-size:12px}.practice-actions .primary{color:#fff;background:#0284c7;border-color:#0284c7;margin-left:auto}.practice-actions .hint-controls{white-space:nowrap;flex-wrap:nowrap;margin:0}.practice-actions kbd{margin-left:6px}.practice-actions .primary kbd{color:#0369a1}.keyboard-slot{min-width:0}.keyboard-concealed{visibility:hidden}.keyboard-slot .keyboard-section .finger-caption{height:24px;min-height:24px;margin:0}.daily-plan{flex-wrap:nowrap;height:42px;position:relative}.daily-plan>div{flex-wrap:nowrap;min-width:0}.daily-plan p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.daily-plan button{white-space:nowrap}@media (max-width:650px){.workspace .stable-practice{grid-template-rows:42px minmax(0,1fr) 70px;height:360px}.daily-plan{height:54px}.daily-plan>div{align-items:center;gap:6px;min-width:0;display:flex}.daily-plan p{display:none}.daily-plan strong{font-size:12px}.daily-plan button,.practice-actions button{font-size:11px}.practice-body .native-prompt p{font-size:17px}}.entry-heading{position:relative}.practice-course{align-items:center;gap:8px;display:flex}.practice-course>i{flex-shrink:0}.practice-body:focus-visible{outline-offset:-2px;outline:2px solid #7dd3fc}.practice-body .learning-result{position:relative}.practice-body .learning-result>.intro-help{margin-left:6px;display:inline-block}@media (max-width:650px){.workspace .sidebar{gap:0;height:180px;min-height:180px;overflow:hidden}.workspace .sidebar>div:first-child{grid-template-rows:16px 6px minmax(0,1fr);gap:8px;height:100%;min-height:0;display:grid}.workspace .curriculum-title{margin:0}.workspace .course-category,.workspace .alphabet-grid{overscroll-behavior:contain;min-height:0;margin:0;overflow:auto}.workspace .alphabet-grid{align-content:start}}.practice-body:has(.native-prompt) .typing-area{padding:0 8px}.practice-body .native-prompt p{font-size:20px;line-height:1.8}@media (max-width:650px){.practice-body .native-prompt p{font-size:18px}}.practice-entry{position:relative}.practice-entry>#japanese-articles:not([hidden]){z-index:4;overscroll-behavior:contain;max-height:55dvh;box-shadow:var(--shadow);position:absolute;top:100%;left:0;right:0;overflow:auto}.practice-actions .result{grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.secondary-actions{overscroll-behavior:contain;align-items:center;gap:6px;min-width:0;display:flex;overflow:auto}.result-details{color:var(--muted);margin-top:6px;font-size:12px}.result-details summary{cursor:pointer}.brand-icon{flex-shrink:0;overflow:hidden}.brand-icon img{width:100%;height:100%;display:block}.practice-help nav{flex-wrap:wrap;gap:10px 18px;margin-top:20px;display:flex}.practice-help nav a{color:#2563eb;text-underline-offset:3px}.practice-help nav a[aria-current=page]{font-weight:700}.practice-help summary h3{font-size:inherit;margin:0;font-weight:600;display:inline}.practice-help a,.content-page a,.site-footer a{color:#0369a1;text-underline-offset:3px;text-decoration:underline}.content-page{color:#334155;overflow-wrap:anywhere;max-width:960px;margin:0 auto;padding:36px 24px 48px;line-height:1.85}.content-page h1{color:#0f172a;font-size:clamp(25px,4vw,38px);line-height:1.35}.content-page h2{color:#0f172a;margin-top:32px;font-size:23px}.content-page h3{color:#334155;margin-top:22px;font-size:18px}.content-page p,.content-page li{margin:12px 0}.content-lead{font-size:19px}.content-page ol{padding-left:24px}.content-page nav{font-size:14px}.table-scroll{overflow-x:auto}.content-page table{border-collapse:collapse;width:100%;font-size:14px}.content-page th,.content-page td{text-align:left;border:1px solid #cbd5e1;min-width:140px;padding:12px}.content-page th{background:#f1f5f9}.content-page caption{text-align:left;color:#64748b;padding:8px 0}.site-footer{border-top:1px solid var(--border);color:#64748b;max-width:1200px;margin:0 auto;padding:24px;font-size:13px;line-height:1.8}.site-footer nav{flex-wrap:wrap;gap:10px 20px;margin-bottom:12px;display:flex}.site-footer a[aria-current=page]{font-weight:700}
