@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/keyboarding/assets/lexend-vietnamese-wght-normal-RvljkFvg.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/keyboarding/assets/lexend-latin-ext-wght-normal-B6JQhE1e.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/keyboarding/assets/lexend-latin-wght-normal-ci0D1wrL.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/keyboarding/assets/fredoka-hebrew-500-normal-DdMTjgiE.woff2)format("woff2"),url(/keyboarding/assets/fredoka-hebrew-500-normal-BtShCMVp.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAqYABAAAAAAE6gAAAo5AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlgbhSAcLgZgP1NUQVRAAIE4EQgKkySOMAs+AAE2AiQDeAQgBYUEB4EuDAcb4A8ojpHLy7IcK8eyOh7n/HtJmgptkoomQDErTJwx6FSRzRnFWkQnWjYvmyM2B58YnZgCX5mYshLUj/32HiqNZhaSNoZGqGpJ68+Ubp4KhK5VM3e1dPbvj9Y+oas0WhUqg9OMz9yn3GUTSj9abRYFDt8dgwqRlCoZVG1KoiTCOazMqSAEytyoa3sloyDwLH/bawOCoQAAABhhBBACQiIhAttVxAkiOUkIfRVESQ2nw8IhCNCM16pUUT8uAiASygSf6TdkDHhuxk/NAs/d2Jw0UCAAgMOhCgCCWSibbvhOfFYa/JpRCbo9y20AKACgGIDzoQgRY+A9hBAhMRaLQLpOVVYG4nyk1rKEIywCyOw2kXqYBJlGTGSIfsJ115GBL3ccFRRi9BmQ51JsDgtPfI7UCzsKDMDCkin4Oi2uJDiPKJceCCRBDa8qQeMBMADwBeAOgAPLhdaJxGfVGtDXPGQAZ+Xkypry5x2JDBhzAu9hWnDg+EAAhuQHJusWAETDr+bzv5Uh/KV2ZcjI6UwJyg+vQQnm5kQ4K2YtLAI+PjML9LqlOisAmOyCHQulGzj+yodyHY3S/hUVVDBrIfzKlSHIAuLs+AsABEI8iYTKxDAGgz6yix8+kpUgpLDDSxoUKBBrXBUITC8mAMcWF/QZeAA7wWIAYLC3M5qH9hEITmUFSOeLucXsfVM8nKTvrsevOxQA+Cf8BgA3AID+sKMAoEdAUPVLABRS8HR+nJiUgwBg+mpOEqLsDN2EBQUmK6JwVI0+W6rAFBLQViJUgvskDDM3j7AZTocRxaIZaB5ah13A/scRTuACvV5f73BAqk9FBJriOjcY8KqHyK88mZkZAQD+rAH4Y22LauvVpmpTt0nufbpnBsS16HBApAWjCU5IEqLHW5MObRa7QGhsTMCeAfBpZLL3yTMbS5erRMpiKuoJABDspIdI7LetJrQEpenHuVPOvd37yRTeHgxDUSqNh4yihvMkxFQJT5xeWlrrWWnXjYsp2e9dXV/OWoobnPKrqpQx0ZLI6MpqXVm5T1xNlba0xDPGVl+GeHnlNVR1KRAt8iBrSaUo1tZ8/biqrPsT1tTUaesuOeVfOYHyjl9u7lx9+PDOvSivpcUpv+lQnbKu1Ld2v39ZvV1k219bAtYdly55NV661gTWu87J9LoNvjFgLakVjeYQjavfFFBTU6UdO77cOo+0HUd55epEsa26Hs2DS/KPBRQqTNflxi+30/nDO7ci3EDDuQ9WKS2scjrSyC4OLh/WFZWXq4trlI1ZjY3b5EdQXll1td27unEnyjvTgmmjuaayaoOmoFJVdNguslWWgLW0qtGr6tKlPWC9G2nbuSgsEhvwIewk1NLIq1CWU6yeR0tNg3p8H8jzUHlIr07R5ftutGy4VVGy39lWWVmiGBONe0TFVJy8enco4NddqGsmKyWVkwxZFURGF6BnVKqtuRmhjIU6FVibjjXVt7QgFC5X2ZpWXCveYIinTW4RFJzm9cJFIuxNZDEPZum0qBgePjmquowtr/GKrCrVlFROLqgvvCK6uK5ycn6hslXYUF2rihqzRZuyiicL8liyKjwbKgtEtqIOldUb2XJMlTG5dXXlocWA9Jl19CCTdbheNNcqCiq9x3J05MhkW3URyisudqKdFBaCtaBAZCmwEVXRxflekUunoH8bqowjGYs7jiRHwo5B68SKQX+C3rU2/9/8NrStm5ehShY6/6FU3IUe/+J+cAIvOAGGfy89NstyuYgZU7RqZvLL6dtGOK+xMBFSy2pnbrVFKmtH5zRrtc3TaKA6gwYoY0evOjX7sovr/TO35h928SkQurFYjFHBTf+68rnSs1uXqLj24X7h1NOniQnDBg4yZb7/nMwpBhW8ketOKm79ELVxzsaQLn4j+3eI1sDAyzOj+a0jWqTmNZyz1SJrujdcs3Bvz3Pzt+zj7NyetLswulHLcMKQviOfs9JzGp3zj/PMKhbXiEdHDn0cxFR/Y7nvdikYWyLTZsx8WcQflDs30fximr/Ja/nSkiv+D6VmK8etNktb5QOu96UlfS+w3KVIaG3TlY1JiegmKyizuT87+472k3odVEvupLz09VoiT5/vGbRzpFt3RV9/+sVKxeMd4/Z/M6YqFb++0NSH8q4dGtfSd/0HmodDTAP7XkctXkaIzzF2AccJ7ExvHa2TLElA9CNp9Q+OFVZJofMLs+2+jBRi7GUv2VVvynexXhJ/R07y8QCfJuk20Yig5z376QIo020lISD8fKqkdK7TFhF/6ASexHRLRgoJ1uecNBLzWzjXVR0uhQ+n2NVmKcGYV3GcdZwUY8yrDxioxd907LdCqpy3jUcvfsbqni1mthLQqW3S4r59F07wZCxWjrVapC7+cuOGvup2PUcF+42L+I+evprlrBbmn3CvrCExWR0IkrPOYv6iZ6/mmmDANts/wiNlhId04kKWXWuhfHq69je6dmwok86ygn7Mdd1EmpmwVq9fN4Shh6xr0m/96SGO4UVXSftlDbNWrFxS0s570vwVc2C5+mNEQv72pTUdPxqjyq5Oh2dPZJ5bpmHZFnvlgnPmEHNw08Jt9s0zsgxua+FJJdK/IHvFgQO7Z3CdQhaQ5AK9/osknbTb04wLYfte7bclYicabTOFF4Ueso6Sn9WoyBpKvnZscufAsNl71oatg7njAmKXVLbrk+Ck8NMumXTXZyFwkxXs+FUV58cWlXOhK1c0YkX2LMAGAQHgU9sExzdqjZkuYp5Syx/zlUqz7UIChyExJXV2/Nm4UDkDf+QJoP0pEIT5uhzCc7cXmQ0u+aaQ+FyQ5peSimeD1mMG2NUr30ctto/iX+OXef+wwqLVWCMgABjjUk1k/8l06BcBjj8HALg7999fAACts5mDHG0ZjJvxuQBAwgAAIPBehF4zHv8ZawDiJroUV2hfToNQxM0FcfEGF+U8kCr6gzZVzAEyroBXeNGAS7jvACeiV0dbPAPXqgYwAggSKBL1QmGo828bFytBGZchDALgYiDMJPjiAIPFlJ3tntXCslpkABGIb5ARGMr3CFyoo4sJMoJHZ2sEyducCEpHAxDjatBJiblnI9CuqggEIuLFhEbURQGGSZclVawU0ZKZ5Eg6qeMlS+Q5hhpm2sbNlaqfrInpLGLpDWGJMGzUGboL5tnieJYMWQ6QDLJLUhgm3E+iYMP1M2TIyZulQROzqA1kDcPTpZm92zMIEaKdz3vI1twkXs/D0GgUS9QbTRErK7ul+ljW20ZlmCmLLIosI2ZnemMkLa8fko+QBZi5BeLiSiLk1g3Ss6vQ862hPXvLEk+E47mmWhbH81TBkMdKAOo0OZKXC56uKchwaabCD/a5ZcX23A9xAeDpkgse6uyxUEegp6ceifLERM/ggUE1LEA4IhAPkYiPBEiIRHDPg7rctOSQkIgQ4Wf5lqT4zPgUvL5DSFfhfypaGv8Hf1qEsXG5Ob6JsLc/7dJbmJOcYjoN63gQORY/ECsBAAAA)format("woff2"),url(data:font/woff;base64,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)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:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/keyboarding/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/keyboarding/assets/fredoka-latin-500-normal-BL692wg7.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:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/keyboarding/assets/fredoka-hebrew-600-normal-CTBxhdlE.woff2)format("woff2"),url(/keyboarding/assets/fredoka-hebrew-600-normal-BiVDObXj.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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)format("woff2"),url(data:font/woff;base64,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)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:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/keyboarding/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/keyboarding/assets/fredoka-latin-600-normal-CcrEjrB4.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:400;src:url(/keyboarding/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/keyboarding/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(/keyboarding/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/keyboarding/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(/keyboarding/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/keyboarding/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(/keyboarding/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/keyboarding/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}:root{--font-head:"Fredoka", "Lexend Variable", system-ui, sans-serif;--font-body:"Lexend Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-type:"Lexend Variable", system-ui, sans-serif;--bg:#eef3ff;--bg-grad-1:#e3ecff;--bg-grad-2:#f6efff;--surface:#fff;--surface-2:#f5f7ff;--surface-3:#e9eefc;--border:#dbe2f5;--text:#1d2440;--text-2:#56607f;--text-3:#8a93b0;--primary:#4d7cfe;--primary-2:#3a63e0;--primary-soft:#e3ebff;--accent:#9b5de5;--success:#2bb673;--success-soft:#dcf7ea;--danger:#ef476f;--danger-soft:#ffe1e8;--warning:#ffb703;--warning-soft:#fff3d1;--gold:#ffc53d;--silver:#c0c8d8;--bronze:#e09f63;--xp:#8f5bff;--coin:#ffb800;--flame:#ff7a1a;--finger-pinky:#c77dff;--finger-ring:#4cc9f0;--finger-middle:#57cc99;--finger-index:#ffb703;--finger-thumb:#ff8a5c;--radius-s:8px;--radius:14px;--radius-l:22px;--shadow-s:0 1px 2px #1d24400f, 0 2px 6px #1d24400f;--shadow:0 4px 14px #1d244014, 0 1px 3px #1d24400f;--shadow-l:0 18px 50px #1d24402e;--ring:0 0 0 3px #4d7cfe59;--type-size:30px;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1)}:root[data-size=s]{--type-size:24px}:root[data-size=l]{--type-size:36px}:root[data-size=xl]{--type-size:44px}:root[data-font=atkinson]{--font-type:"Atkinson Hyperlegible", system-ui, sans-serif}:root[data-font=mono]{--font-type:ui-monospace, "Cascadia Mono", Consolas, monospace}:root[data-contrast=high]{--bg:#fff;--bg-grad-1:#fff;--bg-grad-2:#fff;--surface-2:#fff;--border:#1d2440;--text:#000;--text-2:#1d2440;--text-3:#39415e;--primary:#03c;--danger:#c00030;--success:#00703c}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-body);color:var(--text);background:var(--bg);background-image:radial-gradient(1200px 600px at 10% -10%, var(--bg-grad-1), transparent 60%), radial-gradient(900px 600px at 110% 10%, var(--bg-grad-2), transparent 60%);-webkit-font-smoothing:antialiased;background-attachment:fixed;line-height:1.45;overflow-x:hidden}#app{flex-direction:column;min-height:100%;display:flex}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:.005em;margin:0 0 .4em;font-weight:600;line-height:1.15}h1{font-size:2.1rem}h2{font-size:1.55rem}h3{font-size:1.2rem}p{margin:0 0 .8em}a{color:var(--primary)}button{font:inherit;color:inherit}:focus-visible{box-shadow:var(--ring);outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:20px 20px 48px}.page-narrow{max-width:860px}.row{align-items:center;gap:12px;display:flex}.row-wrap{flex-wrap:wrap}.col{flex-direction:column;gap:12px;display:flex}.spacer{flex:1}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.center{text-align:center}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:.85rem}.tiny{font-size:.75rem}.big-num{font-family:var(--font-head);font-size:2.3rem;font-weight:600;line-height:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-s);padding:20px}.card-tight{padding:14px}.card h3{margin-bottom:8px}.btn{font-family:var(--font-head);cursor:pointer;background:var(--surface-3);color:var(--text);transition:transform .12s var(--ease-bounce), box-shadow .15s, background .15s;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:1.05rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 3px #1d24401f}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(2px);box-shadow:0 1px #1d24401f}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 0 var(--primary-2)}.btn-primary:active{box-shadow:0 1px 0 var(--primary-2)}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px #1d8a56}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px #b9314f}.btn-gold{color:#4a3200;background:linear-gradient(#ffd666,#ffb800);box-shadow:0 4px #c98f00}.btn-ghost{box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--surface-3)}.btn-big{padding:14px 30px;font-size:1.25rem}.btn-small{padding:6px 14px;font-size:.9rem}.btn-icon{width:40px;height:40px;padding:8px}.chip{background:var(--surface-3);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-flex}kbd,.kbd{border:1px solid var(--border);background:var(--surface);min-width:1.6em;font-family:var(--font-type);text-align:center;border-bottom-width:3px;border-radius:6px;padding:.05em .45em;font-size:.9em;display:inline-block}input[type=text],input[type=number],select,textarea{font:inherit;border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);color:var(--text);padding:10px 14px}input[type=text]:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none}input[type=range]{accent-color:var(--primary);width:100%}input[type=checkbox]{accent-color:var(--primary);width:18px;height:18px}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--glow,#4d7cfe99)}50%{box-shadow:0 0 0 7px #0000}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shine{0%{background-position:-200% 0}to{background-position:200% 0}}.anim-pop{animation:pop-in .45s var(--ease-bounce) both}.anim-rise{animation:rise-in .4s var(--ease-out) both}.anim-float{animation:3s ease-in-out infinite float}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.app-top{z-index:50;position:sticky;top:0}.app-top:empty{display:none}.app-main{flex-direction:column;flex:1;display:flex}.boot{flex:1;place-items:center;min-height:60vh;display:grid}.boot-spinner{border:5px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;margin:40px auto;animation:.8s linear infinite spin}.banner{border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px 16px;font-size:.95rem;display:flex}.banner-warning{background:var(--warning-soft);color:#6b4a00}.banner-info{background:var(--primary-soft);color:#1f3c8f}.banner-success{background:var(--success-soft);color:#0e5c37}.topbar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffd1;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{filter:drop-shadow(0 3px 6px #4d7cfe4d);width:46px;height:46px;transition:transform .15s var(--ease-bounce);display:block}.brand:hover .brand-mark{transform:rotate(-6deg)scale(1.06)}.brand-text{flex-direction:column;line-height:1.05;display:flex}.brand-small{color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:600}.brand-big{font-family:var(--font-head);font-size:1.1rem;font-weight:600}.nav{flex:1;justify-content:center;gap:4px;display:flex}.nav-link{color:var(--text-2);font-family:var(--font-head);border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--surface-3);color:var(--text)}.nav-link.active{background:var(--primary-soft);color:var(--primary-2)}.topbar-stats{align-items:center;gap:8px;display:flex}.stat-pill{background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-head);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:5px 11px;font-weight:600;display:inline-flex}.stat-pill.big{padding:8px 18px;font-size:1.3rem}.stat-pill.streak .flame{filter:grayscale();opacity:.5}.stat-pill.streak.lit .flame{filter:none;opacity:1;animation:2s ease-in-out infinite float;display:inline-block}.stat-pill.streak.at-risk{border-color:var(--flame);box-shadow:0 0 0 3px #ff7a1a2e}.freeze{margin-left:4px;font-size:.75em}.level-chip{align-items:center;gap:8px;min-width:150px;display:flex}.level-num{background:linear-gradient(135deg, var(--xp), #c084fc);color:#fff;width:36px;height:36px;font-family:var(--font-head);border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid;box-shadow:0 2px 8px #8f5bff66}.level-bar{flex-direction:column;flex:1;gap:2px;display:flex}.level-title{color:var(--text-2);white-space:nowrap;font-size:.7rem}.avatar-menu{position:relative}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-l);z-index:60;padding:6px;position:absolute;top:52px;right:0}.menu-head{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:4px;padding:8px 10px;display:flex}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:9px 10px;display:block}.menu-item:hover{background:var(--surface-3)}@media (max-width:1100px){.nav-label{display:none}.level-chip{min-width:0}.level-bar{display:none}}@media (max-width:720px){.brand-text{display:none}.topbar{gap:8px;padding:8px 10px}.stat-pill.tokens{display:none}}.avatar{border-radius:50%;flex-shrink:0;place-items:center;line-height:1;display:grid;position:relative;box-shadow:inset 0 -4px #0000001f}.avatar-ring{box-shadow:0 0 0 4px #fff,0 6px 20px #1d244033}.avatar-hat{position:absolute;top:-18%;left:50%;transform:translate(-50%)rotate(-8deg)}.avatar-glasses{position:absolute;top:30%;left:50%;transform:translate(-50%)}.avatar-pet{position:absolute;bottom:-6%;right:-10%}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-head h1{margin-bottom:4px}.stars{gap:2px;line-height:1;display:inline-flex}.star{color:#d6dbea;text-shadow:0 1px #0000000d}.star.on{color:var(--gold);text-shadow:0 2px 6px #ffb80073}.pbar{background:var(--surface-3);border-radius:999px;width:100%;overflow:hidden}.pbar-fill{background:var(--primary);height:100%;transition:width .8s var(--ease-out);border-radius:999px}.ring{display:inline-block;position:relative}.ring-inner{place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.ring-num{font-family:var(--font-head);font-size:1.6rem;font-weight:600;line-height:1}.chip-gold{color:#5b3d00;background:linear-gradient(#ffe58a,#ffc53d)}.chip-danger{background:var(--danger-soft);color:#8a1c38}.kbd-big{border-radius:10px;min-width:2em;padding:.15em .6em;font-size:1.6rem}.kbd-done{background:var(--success-soft);border-color:var(--success);color:var(--success)}.kbd-now{background:var(--primary-soft);border-color:var(--primary);animation:1.2s infinite pulse-glow}.toasts{z-index:200;flex-direction:column;gap:10px;max-width:360px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-l);border-left:5px solid var(--primary);align-items:center;gap:12px;padding:12px 16px;display:flex}.toast-success{border-left-color:var(--success)}.toast-warning{border-left-color:var(--warning)}.toast-reward{border-left-color:var(--gold)}.toast-icon{font-size:1.8rem}.toast-title{font-weight:600}.toast-body{color:var(--text-2);font-size:.85rem}.modal-backdrop{z-index:150;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#141a3273;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-l);width:min(460px,100%);padding:28px}.modal-wide{width:min(760px,100%)}.modal .col{margin-top:12px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.tab{border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;font-family:var(--font-head);border-radius:999px;padding:8px 16px;font-weight:500;text-decoration:none}.tab:hover{color:var(--text)}.tab.active{background:var(--text);color:#fff;border-color:var(--text)}.seg{background:var(--surface-3);border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--text-2);background:0 0;border:0;border-radius:999px;padding:6px 13px;font-size:.88rem}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-s);font-weight:600}.field{flex-direction:column;gap:6px;font-size:.95rem;font-weight:600;display:flex}.picker{padding-top:40px}.picker-hero{align-items:center;gap:24px;margin-bottom:32px;display:flex}.picker-title{margin:0;font-size:2.8rem}.title-small{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:1rem;display:block}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;display:grid}.player-card{border-radius:var(--radius-l);background:var(--surface);border:2px solid var(--border);cursor:pointer;transition:transform .15s var(--ease-bounce), box-shadow .15s, border-color .15s;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;display:flex}.player-card:hover{box-shadow:var(--shadow-l);border-color:var(--primary);transform:translateY(-4px)scale(1.02)}.player-name{font-family:var(--font-head);font-size:1.3rem;font-weight:600}.player-new{background:0 0;border-style:dashed;justify-content:center;min-height:220px}.player-plus{background:var(--primary-soft);width:80px;height:80px;color:var(--primary);border-radius:50%;place-items:center;font-size:3rem;font-weight:300;display:grid}.new-player{flex-direction:column;gap:18px;margin-top:30px;display:flex}.new-player-preview{flex-direction:column;align-items:center;gap:8px;display:flex}.avatar-pick{flex-wrap:wrap;gap:8px;display:flex}.avatar-option{border:2px solid var(--border);background:var(--surface);cursor:pointer;width:56px;height:56px;transition:transform .12s var(--ease-bounce);border-radius:16px;font-size:30px}.avatar-option:hover{transform:scale(1.1)}.avatar-option.selected{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.08)}.color-pick{flex-wrap:wrap;gap:10px;display:flex}.color-option{width:36px;height:36px;box-shadow:0 0 0 1px var(--border);cursor:pointer;border:3px solid #fff;border-radius:50%}.color-option.selected{box-shadow:0 0 0 3px var(--text)}.home-hero{background:linear-gradient(135deg,#fff,#f4f0ff);flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.home-hero-left{flex:420px;align-items:center;gap:20px;display:flex}.home-hero-left h1{margin-bottom:4px}.home-hero-right{flex:0 460px;align-items:flex-start;gap:20px;display:flex}.goal{flex-direction:column;align-items:center;gap:6px;display:flex}.quests{flex-direction:column;flex:1;gap:8px;display:flex}.quests h3{margin:0}.quest{align-items:center;gap:10px;display:flex}.quest-icon{text-align:center;width:28px;font-size:1.3rem}.quest-body{flex-direction:column;flex:1;gap:3px;display:flex}.quest.done .quest-body .small{color:var(--text-3);text-decoration:line-through}.home-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 28px;display:grid}.summary-tile{border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--border);flex-direction:column;align-items:center;gap:4px;padding:14px;display:flex}.summary-tile .big-num{font-size:1.8rem}@media (max-width:720px){.home-summary{grid-template-columns:repeat(2,1fr)}}.journey{flex-direction:column;gap:26px;display:flex}.region{background:linear-gradient(160deg, color-mix(in srgb, var(--r1) 30%, white), color-mix(in srgb, var(--r2) 22%, white));border:2px solid color-mix(in srgb, var(--r2) 35%, white);border-radius:28px;padding:22px 22px 30px;position:relative;overflow:hidden}.region:before{content:"";pointer-events:none;background:radial-gradient(circle at 90% 10%,#fff9,#0000 40%);position:absolute;top:0;bottom:0;left:0;right:0}.region-locked{filter:grayscale(.85);opacity:.7}.region-head{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;display:flex;position:relative}.region-head h2{margin:0}.region-icon{background:linear-gradient(135deg, var(--r1), var(--r2));width:64px;height:64px;box-shadow:0 6px 16px color-mix(in srgb, var(--r2) 45%, transparent);border-radius:20px;place-items:center;font-size:36px;display:grid}.region-num{text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);font-weight:700}.region-sub{color:var(--text-2);font-family:var(--font-type)}.region-stars{background:#fffc}.unit-timed{background:#fffc;border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 4px 4px 12px;font-size:.85rem;display:inline-flex}.unit-timed-label{color:var(--text-2);margin-right:4px;font-weight:600}.unit-timed-btn{background:var(--primary);color:#fff;font:inherit;cursor:pointer;box-shadow:0 2px 0 var(--primary-2);transition:transform .12s var(--ease-bounce);border:0;border-radius:999px;padding:5px 12px;font-weight:600}.unit-timed-btn:hover{transform:translateY(-1px)}.unit-timed-btn:active{box-shadow:none;transform:translateY(1px)}.path-grid{padding:6px 0 0;display:grid;position:relative}.path-line{pointer-events:none;width:100%;position:absolute;top:6px;left:0;overflow:visible}.path-line .seg{fill:none;stroke:color-mix(in srgb, var(--r2) 45%, white);stroke-width:6px;stroke-linecap:round;stroke-dasharray:2 12}.path-line .seg.done{stroke:color-mix(in srgb, var(--r2) 80%, #1d2440);stroke-dasharray:none}.path-step{flex-direction:column;align-items:center;min-width:0;padding-top:15px;display:flex;position:relative}.node{cursor:pointer;width:74px;height:74px;box-shadow:0 6px 0 color-mix(in srgb, var(--r2) 60%, #1d2440), 0 10px 20px #1d244026;transition:transform .15s var(--ease-bounce);background:linear-gradient(#fff,#eef2fb);border:0;border-radius:50%;position:relative}.node:hover:not(:disabled){transform:translateY(-3px)scale(1.06)}.node:active:not(:disabled){box-shadow:0 2px 0 color-mix(in srgb, var(--r2) 60%, #1d2440);transform:translateY(4px)}.node-icon{font-size:32px}.node.cleared{background:linear-gradient(180deg, var(--r1), var(--r2))}.node.locked{cursor:not-allowed;background:#e6e9f2;box-shadow:0 6px #c4cadb}.node.locked .node-icon{opacity:.6;font-size:26px}.node.current{--glow:#ffd166e6;background:linear-gradient(#fff6d8,#ffd166);animation:1.6s ease-in-out infinite pulse-glow;transform:scale(1.12)}.node-boss{width:92px;height:92px}.node-boss .node-icon{font-size:40px}.node-game{border-radius:24px}.node-teach{width:64px;height:64px}.node-avatar{animation:2.2s ease-in-out infinite float;position:absolute;top:-26px;right:-26px}.node-label{text-align:center;flex-direction:column;align-items:center;margin:10px 0 14px;display:flex}.node-title{font-family:var(--font-head);max-width:200px;font-size:.95rem;font-weight:500}.runner{flex-direction:column;min-height:100vh;display:flex}.runner-head{border-bottom:1px solid var(--border);background:#ffffffd9;align-items:center;gap:16px;padding:12px 20px;display:flex}.runner-title{flex:1}.runner-name{font-family:var(--font-head);font-size:1.2rem;font-weight:600}.runner-stats{gap:18px;display:flex}.rstat{flex-direction:column;align-items:center;min-width:64px;display:flex}.rstat-num{font-family:var(--font-head);font-size:1.4rem;font-weight:600;line-height:1.1}.rstat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-size:.7rem}.rstat.combo .rstat-num{color:var(--flame)}.runner-progress{background:var(--surface-3);height:6px}.runner-progress-fill{background:linear-gradient(90deg, var(--primary), var(--accent));height:100%;transition:width .25s}.runner-body{flex-direction:column;flex:1;gap:14px;width:100%;max-width:1100px;margin:0 auto;padding:24px 20px 20px;display:flex}.runner-text{padding:26px 30px;position:relative}.runner-start{background:var(--text);color:#fff;white-space:nowrap;border-radius:999px;padding:6px 16px;font-size:.9rem;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.runner-start kbd{color:var(--text)}.runner-paused{border-radius:var(--radius-l);font-family:var(--font-head);background:#ffffffd9;place-items:center;font-size:1.3rem;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.runner-warnings:empty{display:none}.runner-kb{transition:opacity .4s,transform .4s}.runner-kb.kb-hidden{opacity:0;pointer-events:none;height:0;overflow:hidden;transform:translateY(12px)}.tt{--tt-line:calc(var(--type-size) * 1.75);height:calc(var(--tt-line) * var(--tt-lines));font-family:var(--font-type);font-size:var(--type-size);position:relative;overflow:hidden}.tt-inner{line-height:var(--tt-line);transition:transform .25s var(--ease-out)}.tt-word{white-space:nowrap;display:inline-block}.tt-ch{border-radius:4px;transition:color 80ms;display:inline-block;position:relative}.tt-pending{color:var(--text-3)}.tt-correct{color:var(--text)}.tt-corrected{color:#c98500}.tt-error{color:var(--danger);background:var(--danger-soft)}.tt-space.tt-error{background:var(--danger);opacity:.5}.tt-shift{-webkit-text-decoration:underline dotted var(--warning);text-decoration:underline dotted var(--warning)}.tt-typed{color:var(--danger);font-size:.42em;line-height:1;position:absolute;top:72%;left:50%;transform:translate(-50%)}.tt-enter{color:var(--text-3);font-size:.8em}.tt-cur{color:var(--text);background:color-mix(in srgb, var(--primary) 14%, transparent)}.tt-caret-bar .tt-cur:before{content:"";background:var(--primary);border-radius:2px;width:3px;animation:1s step-end infinite caret;position:absolute;top:12%;bottom:12%;left:-1px}.tt-caret-block .tt-cur{background:var(--primary);color:#fff}.tt-caret-underline .tt-cur{box-shadow:inset 0 -4px 0 var(--primary);background:0 0}.tt-caret-rainbow .tt-cur{background:linear-gradient(90deg,#ff595e33,#ffca3a33,#8ac92633,#1982c433,#6a4c9333);box-shadow:inset 0 -5px #0000}.tt-caret-rainbow .tt-cur:after{content:"";background:linear-gradient(90deg,#ff595e,#ffca3a,#8ac926,#1982c4,#6a4c93);border-radius:2px;height:4px;position:absolute;bottom:6%;left:0;right:0}.tt-shake .tt-cur{animation:.25s shake}@keyframes caret{50%{opacity:0}}.fx-layer{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.fx{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.fx-pop{border:3px solid var(--primary);border-radius:50%;width:26px;height:26px;animation:.4s ease-out forwards fx-pop}.fx-ripple{border:2px solid #4cc9f0;border-radius:50%;width:20px;height:20px;animation:.6s ease-out forwards fx-ripple}.fx-dot{border-radius:2px;width:7px;height:7px;animation:.6s ease-out forwards fx-fly}.fx-glyph{font-size:18px;animation:.7s ease-out forwards fx-fly}@keyframes fx-pop{0%{opacity:.9;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}@keyframes fx-ripple{0%{opacity:1;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(3)}}@keyframes fx-fly{0%{opacity:1;transform:translate(-50%,-50%)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(40deg);opacity:0}}.hands{width:100%;max-width:980px;margin:-12px auto 0;position:relative}.hands svg{width:100%;max-height:190px;display:block;overflow:hidden}.hand-lift{transition:transform .18s var(--ease-bounce)}.hand-lift.is-active{transform:translateY(-.22px)}.hand-lift.is-active .hand-finger-fill{filter:drop-shadow(0 0 .12px var(--finger)) drop-shadow(0 0 .25px var(--finger))}.hands-label{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.lesson-intro{padding-top:30px}.intro-card{flex-direction:column;gap:16px;display:flex}.intro-card h1{text-align:center;margin:0}.intro-kind{text-align:center;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.intro-boss{background:linear-gradient(160deg,#fff,#fff1f3);border:2px solid #ffb3c1}.intro-mascot{align-items:center;gap:16px;display:flex}.speech{background:var(--primary-soft);border-radius:18px;flex:1;padding:14px 18px;font-size:1.05rem;position:relative}.speech:before{content:"";border:10px solid #0000;border-right-color:var(--primary-soft);border-left:0;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.intro-keys{flex-direction:column;align-items:center;gap:10px;display:flex}.intro-keys .kb{max-width:640px}.intro-gates{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.gate{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;align-items:center;padding:8px 14px;display:flex}.gate-stars{color:var(--gold);font-size:1.1rem}.skip-offer{border-radius:var(--radius);background:var(--surface-2);margin:0;padding:10px 14px}.results{padding-top:20px}.results-card{flex-direction:column;gap:16px;display:flex}.results-perfect{background:linear-gradient(160deg,#fffdf2,#fff3c4);border:2px solid #ffe08a}.results-head{align-items:center;gap:16px;display:flex}.results-head h1{margin:0}.results-stars{text-align:center}.results-stats{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.rs{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;align-items:center;gap:2px;min-width:110px;padding:12px 16px;display:flex}.rs-num{font-family:var(--font-head);font-size:2.1rem;font-weight:600;line-height:1.1}.rs-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-size:.75rem}.rewards{flex-wrap:wrap;gap:10px;display:flex}.reward{font-family:var(--font-head);border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:1.1rem;font-weight:600;display:inline-flex}.reward-xp{color:#5a2fc2;background:#efe6ff}.reward-coin{color:#7a5300;background:#fff3cc}.reward-token{color:#075985;background:#e3f6ff}.results-level{align-items:center;gap:12px;display:flex}.level-up-text{color:var(--xp)}.unlocks{flex-direction:column;gap:8px;display:flex}.unlock{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:14px;padding:12px 16px;display:flex}.unlock-badge{background:linear-gradient(90deg,#fff8e1,#fff);border-color:#ffe08a}.unlock-icon{font-size:2.2rem}.results-detail{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:640px){.results-detail{grid-template-columns:1fr}}.results-actions{margin-top:6px}.levelup{padding:34px}.levelup-burst{font-size:5rem;animation:1.5s ease-in-out infinite float}.teach{flex-direction:column;gap:16px;display:flex}.teach-top{align-items:center;gap:16px;display:flex}.teach-progress{flex-direction:column;flex:1;gap:4px;display:flex}.teach-card{flex-direction:column;justify-content:center;gap:14px;min-height:220px;display:flex}.teach-slide{align-items:center;gap:22px;display:flex}.teach-text{max-width:62ch;font-size:1.2rem;line-height:1.55}.posture-art{width:100%;max-width:520px;margin:0 auto}.teach-quiz{flex-direction:column;gap:14px;display:flex}.quiz-options{gap:10px;display:grid}.quiz-option{text-align:left;border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);cursor:pointer;align-items:center;gap:12px;padding:14px 18px;font-size:1.05rem;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--primary)}.quiz-option.right{border-color:var(--success);background:var(--success-soft)}.quiz-option.wrong{border-color:var(--danger);background:var(--danger-soft)}.teach-kb{flex-direction:column;display:flex}.teach-done{flex-direction:column;align-items:center;gap:12px;display:flex}.game-screen{background:linear-gradient(160deg, var(--g1,#4d7cfe), var(--g2,#9b5de5));position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.game-canvas{position:absolute;top:0;bottom:0;left:0;right:0}.game-canvas canvas{display:block;width:100%!important;height:100%!important}.game-hud{pointer-events:none;color:#fff;font-family:var(--font-head);text-shadow:0 2px 6px #00000059;justify-content:space-between;align-items:flex-start;padding:14px 18px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.hud-left,.hud-right{flex-direction:column;gap:4px;display:flex}.hud-right{flex-direction:row;align-items:flex-end;gap:10px}.hud-score,.hud-combo,.hud-status{text-shadow:0 0 3px #141a32d9,0 1px 4px #141a3299}.hud-score{font-size:2.2rem;font-weight:600;line-height:1}.hud-combo{color:#ffe066;font-size:1.1rem}.hud-status{opacity:.95;font-size:.95rem}.hud-center{flex-direction:column;align-items:center;gap:6px;width:30%;display:flex}.hud-time{background:#0003;border-radius:999px;padding:2px 16px;font-size:1.8rem;font-weight:600}.hud-time.low{color:#ffd6d6;background:#ef476f80;animation:1s infinite pulse-glow}.hud-progress{width:100%}.hud-progress .pbar{background:#ffffff40}.hud-lives{gap:3px;font-size:1.5rem;display:flex}.hud-lives .lost{filter:grayscale();opacity:.35}.hud-pause{pointer-events:auto;background:#ffffffd9}.hud-flash{white-space:nowrap;text-shadow:0 0 4px #141a32e6,0 0 2px #141a32e6,0 3px 8px #141a3280;font-size:clamp(1.6rem,5vw,3rem);font-weight:600;animation:1.4s ease-out forwards hud-flash;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.hud-flash-good{color:#ffe066}.hud-flash-bad{color:#ffb3c1}@keyframes hud-flash{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}70%{opacity:1;transform:translate(-50%,-60%)scale(1)}to{opacity:0;transform:translate(-50%,-80%)scale(1)}}.game-countdown{pointer-events:none;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.countdown-num{font-family:var(--font-head);color:#fff;text-shadow:0 8px 30px #00000059;animation:pop-in .6s var(--ease-bounce);font-size:clamp(5rem,18vw,11rem);font-weight:600}.game-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#141a3259;place-items:center;padding:20px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.game-intro,.game-results{text-align:center;flex-direction:column;gap:8px;width:min(560px,100%);display:flex}.game-icon-big{font-size:5rem;line-height:1;animation:2.4s ease-in-out infinite float}.game-tagline{font-family:var(--font-head);color:var(--primary-2);margin:0;font-size:1.2rem}.game-new{box-shadow:0 0 0 4px #ffd166, var(--shadow-l)}.game-new-banner{border-radius:var(--radius-l) var(--radius-l) 0 0;color:#fff;font-family:var(--font-head);letter-spacing:.08em;text-shadow:0 1px 3px #0000004d;background:linear-gradient(90deg,#ffd166,#ff8fab,#9b5de5,#ffd166) 0 0/300% 100%;margin:-20px -20px 8px;padding:10px;font-weight:600;animation:3s linear infinite shine}.game-card{text-align:left;border-radius:var(--radius-l);cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--g1), var(--g2));box-shadow:0 6px 0 color-mix(in srgb, var(--g2) 70%, black), var(--shadow);transition:transform .15s var(--ease-bounce);border:0;align-items:center;gap:16px;padding:18px;display:flex}.game-card:hover:not(:disabled){transform:translateY(-3px)rotate(-.5deg)}.game-card h3{margin:0 0 4px}.game-card p{opacity:.92;margin:0 0 6px}.game-card-icon{filter:drop-shadow(0 4px 6px #0003);font-size:3rem}.game-card-locked{cursor:not-allowed;background:linear-gradient(135deg,#b8bfd3,#8e97b0);box-shadow:0 6px #6d7690}.game-card-locked.game-card-buyable{cursor:pointer;background:linear-gradient(135deg,#9aa6d6,#6f7bb5)}.game-card-unlock{color:#3b3f73;background:#ffffffeb;border-radius:999px;padding:3px 10px;font-weight:700;display:inline-block}.trophy-section{margin-bottom:26px}.badge-card{text-align:center;border-radius:var(--radius-l);background:var(--surface);border:2px dashed var(--border);opacity:.75;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;display:flex}.badge-card .badge-icon{filter:grayscale();opacity:.45;font-size:2.6rem}.badge-card.earned{opacity:1;box-shadow:var(--shadow-s);background:linear-gradient(#fffdf2,#fff);border-style:solid;border-color:#ffe08a}.badge-card.earned .badge-icon{filter:none;opacity:1;animation:3s ease-in-out infinite float}.badge-name{font-family:var(--font-head);font-weight:600}.badge-date{color:var(--success)}.locker-preview{flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:18px;display:flex}.shop-item{border-radius:var(--radius-l);border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:transform .12s var(--ease-bounce), border-color .12s;flex-direction:column;align-items:center;gap:6px;padding:18px 10px;display:flex}.shop-item:hover{border-color:var(--primary);transform:translateY(-3px)}.shop-item.equipped{border-color:var(--success);background:var(--success-soft)}.shop-item.locked{opacity:.6}.shop-icon{font-size:2.6rem}.shop-name{font-family:var(--font-head);font-weight:600}.stat-tile{flex-direction:column;gap:2px;padding:16px 18px;display:flex}.stat-value{font-size:1.8rem;font-weight:600;font-family:var(--font-body);line-height:1.2}.delta.up{color:#006300}.delta.down{color:#b42318}.filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chart{position:relative}.chart svg{display:block;overflow:visible}.chart-empty{text-align:center;padding:40px}.chart-tip{background:var(--surface);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap;z-index:5;border:1px solid #0b0b0b1a;border-radius:10px;padding:8px 12px;font-size:.9rem;position:absolute;top:6px;transform:translate(-50%)}.tip-key{vertical-align:middle;border-radius:2px;width:12px;height:3px;margin-right:6px;display:inline-block}.tnum{font-variant-numeric:tabular-nums}.legend-ramp{justify-content:flex-end;align-items:center;gap:4px;margin-top:6px;display:flex}.legend-cell{border-radius:3px;width:12px;height:12px;display:inline-block}.barlist{flex-direction:column;gap:6px;display:flex}.barlist-row{border-radius:6px;grid-template-columns:110px 1fr;align-items:center;gap:10px;padding:2px 4px;display:grid}.barlist-row.hover{background:var(--surface-2)}.barlist-label{color:var(--text-2);align-items:center;display:flex}.barlist-track{align-items:center;gap:8px;display:flex}.barlist-bar{max-width:calc(100% - 64px);height:16px;transition:width .6s var(--ease-out);border-radius:0 4px 4px 0}.barlist-value{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.barlist-detail{grid-column:2}.pb-table{border-collapse:collapse;width:100%}.pb-table td{border-bottom:1px solid var(--border);padding:7px 4px}.pb-table td:last-child{text-align:right}.mini-game{border-radius:var(--radius);background:var(--surface-2);align-items:center;gap:10px;padding:8px;display:flex}.mini-game-icon{font-size:1.8rem}.key-detail{flex-direction:column;gap:12px;display:flex}.journey-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.journey-icon{text-align:center;width:36px;font-size:1.6rem}.journey-name{width:170px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th{text-align:left;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:8px;font-size:.78rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);padding:8px}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.settings section{margin-bottom:16px}.setting{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.setting:last-child{border-bottom:0}.tone-option{cursor:pointer;border:2px solid;border-radius:50%;width:30px;height:30px}.tone-option.selected{box-shadow:0 0 0 3px var(--primary)}.practice-card{text-align:left;cursor:pointer;border:2px solid var(--border);transition:transform .12s var(--ease-bounce), border-color .12s;font:inherit}.practice-card:hover:not(:disabled){border-color:var(--primary);transform:translateY(-3px)}.practice-card:disabled{opacity:.55;cursor:not-allowed}.practice-icon{font-size:2.4rem}.home-daily{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.home-daily .btn{padding:4px 12px;font-size:.85rem}.jump-btn{z-index:50;position:fixed;bottom:18px;left:18px}@media (max-width:600px){.jump-btn{padding:8px 14px;font-size:.9rem;bottom:16px;left:16px}}.daily-prompt{width:min(520px,100%)}.daily-prompt h2{margin:0 0 4px}.daily-prompt p{margin:0}.daily-level{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 12px;display:flex}.daily-choices{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.daily-choice{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:transform .12s var(--ease-bounce), border-color .12s;flex-direction:column;align-items:center;gap:2px;padding:14px 8px 12px;display:flex;position:relative}.daily-choice:hover{border-color:var(--primary);transform:translateY(-3px)}.daily-choice:focus-visible{border-color:var(--primary);transform:translateY(-3px)}.daily-choice-icon{font-size:1.8rem}.daily-key{color:var(--text-2);font-size:.7rem;position:absolute;top:6px;right:8px}@media (max-width:480px){.daily-choices{grid-template-columns:1fr}}.library-card{text-align:left;cursor:pointer;font:inherit;border:2px solid var(--border)}.library-card:hover{border-color:var(--primary)}.library-preview{font-family:var(--font-type);margin:6px 0 0;font-size:.92rem}.placement-list{text-align:left;display:inline-block}.placement-results{flex-direction:column;align-items:center;gap:6px;margin:12px 0;display:flex}.certificate{text-align:center;background:linear-gradient(135deg,#fffaf0,#f3ecff);border:10px double #c9a227;padding:50px 40px}.cert-brand{letter-spacing:.16em;color:#6a4c93;font-size:.9rem;font-weight:700}.cert-title{margin:10px 0 18px;font-size:2.6rem}.cert-name{font-family:var(--font-head);color:var(--primary);margin:6px 0;font-size:3.2rem;font-weight:600}.cert-rank{font-family:var(--font-head);color:#b8860b;margin:12px 0;font-size:2rem}.cert-stats{font-size:1.2rem}@media print{.topbar,.no-print,.toasts,.banner{display:none!important}body{background:#fff}.certificate{box-shadow:none}}.tip-btn{color:#8a4b12;font-family:var(--font-head);cursor:pointer;transition:transform .12s var(--ease-bounce);background:linear-gradient(#fff6ec,#ffe6cf);border:1px solid #ffd3b0;border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-weight:600;display:inline-flex}.tip-btn:hover{transform:translateY(-1px)rotate(-2deg)}.picker-tip{margin-top:28px}@media (max-width:900px){.topbar .tip-btn-label{display:none}}.tip-backdrop{z-index:300}.tip-dialog{background:var(--surface);border-radius:var(--radius-l);width:min(460px,100vw - 24px);max-height:calc(100vh - 24px);box-shadow:var(--shadow-l);flex-direction:column;display:flex;overflow:hidden}.tip-dialog header{align-items:flex-start;gap:10px;padding:14px 14px 8px;display:flex}.tip-head{flex:1}.tip-head h2{margin:2px 0 4px;font-size:1.25rem}.tip-note{color:var(--text-2);margin:0;font-size:.88rem}.tip-close{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;flex-shrink:0;width:38px;height:38px;font-size:1rem}.tip-close:hover{background:var(--surface-3)}.tip-frame{background:#f9f9f9;border-radius:12px;flex:auto;min-height:0;margin:0 10px;position:relative;overflow-y:auto}.tip-frame iframe{box-sizing:border-box;background:#f9f9f9;border:0;width:100%;padding:4px;display:block}.tip-loading{color:#555;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tip-foot{text-align:center;padding:8px 14px 12px}.kb{--kb-bg:linear-gradient(180deg, #dfe6f7, #cdd7ef);--key-bg:linear-gradient(180deg, #fff, #f1f4fb);--key-text:#2b3354;--key-sub:#8a93b0;--key-shadow:#b6c0da;--key-border:#1d244014;--key-locked:.38;background:var(--kb-bg);-webkit-user-select:none;user-select:none;width:100%;max-width:980px;font-family:var(--font-head);border-radius:18px;margin:0 auto;padding:.7%;position:relative;box-shadow:inset 0 1px #fff9,0 10px 30px #1d244026;container-type:inline-size}.kb-key{box-sizing:border-box;padding:2px;position:absolute}.kb-cap{background:var(--key-bg);border:1px solid var(--key-border);width:100%;height:100%;box-shadow:0 3px 0 var(--key-shadow);color:var(--key-text);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;font-size:clamp(9px,2.1cqi,22px);font-weight:600;line-height:1;transition:transform 60ms,box-shadow 60ms,background .15s,opacity .2s;display:flex;position:relative}.kb-compact .kb-cap{border-radius:6px;font-size:clamp(8px,1.6cqi,16px)}.kb-top{color:var(--key-sub);margin-bottom:.18em;font-size:.62em}.kb-num{color:var(--key-sub);font-size:.5em;position:absolute;bottom:3px;right:5px}.kb-key[data-finger] .kb-cap{border-bottom:4px solid color-mix(in srgb, var(--finger) 75%, transparent)}.kb-key.has-bump .kb-cap:after{content:"";background:var(--key-sub);opacity:.7;border-radius:2px;width:24%;height:3px;position:absolute;bottom:18%;left:38%}.kb-key.is-locked .kb-cap{opacity:var(--key-locked)}.kb-key.is-target .kb-cap{background:var(--finger);color:#fff;opacity:1;text-shadow:0 1px 2px #00000040;--glow:color-mix(in srgb, var(--finger) 70%, transparent);z-index:2;animation:1.2s ease-in-out infinite pulse-glow}.kb-key.is-target .kb-top{color:#ffffffd9}.kb-key.is-shift-target .kb-cap{background:color-mix(in srgb, var(--finger) 70%, white);color:#fff;opacity:1;--glow:color-mix(in srgb, var(--finger) 60%, transparent);animation:1.2s ease-in-out infinite pulse-glow}.kb-key.is-highlight .kb-cap{background:var(--primary);color:#fff;opacity:1}.kb-key.is-pressed .kb-cap{box-shadow:0 0 0 var(--key-shadow);filter:brightness(.95);transform:translateY(3px)}.kb-key.is-error .kb-cap{background:var(--danger);color:#fff;animation:.3s shake}.kb-key.is-clickable{cursor:pointer}.kb-key.is-selected .kb-cap{outline:3px solid var(--primary);outline-offset:1px}.kb-key.m4 .kb-cap,.kb-key.m5 .kb-cap{background-image:linear-gradient(110deg, transparent 30%, #ffffff8c 45%, transparent 60%), var(--key-bg);background-size:250% 100%,100% 100%;animation:4s linear infinite shine}.kb-key.m5 .kb-cap{box-shadow:0 3px 0 var(--key-shadow), 0 0 0 2px #ffc53d99}.kb-key.is-target.m4 .kb-cap,.kb-key.is-target.m5 .kb-cap{background:var(--finger);animation:1.2s ease-in-out infinite pulse-glow}.kb-heat .kb-cap{background:var(--heat,var(--key-bg))}.kb-heat .kb-key .kb-cap{opacity:1!important}.kb-heat-label{opacity:.85;margin-top:.25em;font-size:.5em}.kb-arrow{pointer-events:none;z-index:3;width:98.6%;height:98.6%;position:absolute;top:.7%;bottom:.7%;left:.7%;right:.7%;overflow:visible}.kb[data-theme=candy]{--kb-bg:linear-gradient(180deg, #ffd6e8, #ffc2dd);--key-bg:linear-gradient(180deg, #fff6fb, #ffe6f2);--key-text:#7a2c57;--key-sub:#c06a98;--key-shadow:#f19cc4}.kb[data-theme=ocean]{--kb-bg:linear-gradient(180deg, #0077b6, #023e8a);--key-bg:linear-gradient(180deg, #caf0f8, #90e0ef);--key-text:#03045e;--key-sub:#0077b6;--key-shadow:#0096c7}.kb[data-theme=neon]{--kb-bg:linear-gradient(180deg, #1a1033, #0d0820);--key-bg:linear-gradient(180deg, #2a1a52, #1f1340);--key-text:#f72585;--key-sub:#4cc9f0;--key-shadow:#7209b7;--key-border:#f7258573}.kb[data-theme=neon] .kb-cap{text-shadow:0 0 6px}.kb[data-theme=lava]{--kb-bg:linear-gradient(180deg, #370617, #03071e);--key-bg:linear-gradient(180deg, #e85d04, #d00000);--key-text:#ffea00;--key-sub:#ffba08;--key-shadow:#6a040f}.kb[data-theme=wooden]{--kb-bg:linear-gradient(180deg, #8b5e34, #6f4518);--key-bg:linear-gradient(180deg, #f3d5b5, #e7bc91);--key-text:#583101;--key-sub:#8b5e34;--key-shadow:#a47148}.kb[data-theme=retro]{--kb-bg:#0b1a0b;--key-bg:#0f2a0f;--key-text:#39ff14;--key-sub:#2a1;--key-shadow:#061206;--key-border:#39ff1459;font-family:ui-monospace,Consolas,monospace}.kb[data-theme=retro] .kb-cap{text-shadow:0 0 5px #39ff14;border-radius:3px}.kb[data-theme=galaxy]{--kb-bg:radial-gradient(circle at 20% 30%, #5a189a, transparent 40%), radial-gradient(circle at 80% 70%, #3c096c, transparent 40%), #10002b;--key-bg:linear-gradient(180deg, #3c096c, #240046);--key-text:#e0aaff;--key-sub:#c77dff;--key-shadow:#10002b;--key-border:#e0aaff4d}.kb[data-theme=pixel]{--kb-bg:#5c94fc;--key-bg:#fcfcfc;--key-text:#000;--key-sub:#555;--key-shadow:#000;--key-border:#000;font-family:ui-monospace,Consolas,monospace}.kb[data-theme=pixel] .kb-cap{border-width:2px;border-radius:0}.kb[data-theme=gold]{--kb-bg:linear-gradient(180deg, #3d2c00, #1f1600);--key-bg:linear-gradient(180deg, #ffe066, #f2b900);--key-text:#4a3200;--key-sub:#7a5600;--key-shadow:#8f6a00}
