@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)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(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.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(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.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(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.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(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.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(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.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(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA)format("woff2"),url(data:font/woff;base64,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)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(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.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(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.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(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.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(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.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(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.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:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-ext-wght-normal-YcVxMP-u.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-wght-normal-UWPuZLjM.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-math-wght-normal-sOy7rEfW.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-symbols-wght-normal-DQ5VrUkH.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-vietnamese-wght-normal-CfJ7gtf3.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:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-ext-wght-normal-C2Wlntb9.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:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-wght-normal-BiLcIKcI.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.tutor-tab{z-index:40;background:var(--surface-glass);-webkit-backdrop-filter:blur(10px);border:var(--bw) solid var(--border-strong);width:34px;height:46px;box-shadow:var(--shadow);cursor:grab;touch-action:none;transition:width var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);border-right:none;border-radius:16px 0 0 16px;place-items:center;padding:0 0 0 3px;display:grid;position:fixed;right:0;overflow:hidden;transform:translateY(-50%)}.tutor-tab:hover,.tutor-tab:focus-visible,.tutor-tab-open{width:46px}.tutor-tab:active{cursor:grabbing}.tutor-tab-open{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, var(--border-strong))}.tutor-tab .mascot{pointer-events:none}.tutor-dot{background:var(--bad);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);animation:tutor-ping 1.2s var(--ease-out) 2;border-radius:50%;position:absolute;top:5px;left:5px}@keyframes tutor-ping{50%{transform:scale(1.5)}}.tutor-hello{z-index:40;max-width:min(240px,100vw - 72px);color:var(--text);background:var(--surface);border:var(--bw) solid var(--border-strong);box-shadow:var(--shadow);cursor:pointer;animation:tutor-in var(--dur-2) var(--ease-out) backwards;border-radius:14px 14px 4px;padding:8px 12px;font-size:.85rem;line-height:1.35;position:fixed;right:50px;transform:translateY(-50%)}.tutor-pick{z-index:46;font:inherit;color:var(--on-accent);background:var(--accent);border-radius:var(--r-pill);box-shadow:var(--shadow);cursor:pointer;animation:tutor-in var(--dur-1) var(--ease-out) backwards;border:none;align-items:center;gap:6px;padding:5px 12px 5px 6px;font-size:.85rem;font-weight:700;display:inline-flex;position:fixed}.tutor-pick .mascot{--mascot-face:var(--accent)}.tutor-hello-quiet{color:var(--text-2);pointer-events:none}@media (prefers-reduced-motion:reduce){.tutor-hello{animation:none}}@media (pointer:coarse){:root[data-keyboard=open] .tutor-tab{display:none}}@media print{.tutor-tab,.tutor-panel{display:none}}.tutor-panel{z-index:45;background:var(--surface);width:min(400px,100vw - 72px);height:min(600px,100dvh - 96px);color:var(--text);border:var(--bw) solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:tutor-in var(--dur-2) var(--ease-out) backwards;flex-direction:column;display:flex;position:fixed;bottom:76px;right:56px;overflow:hidden}@keyframes tutor-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.tutor-backdrop{z-index:50;animation:fade var(--dur-2) ease;background:#0f172a73;position:fixed;inset:0}@media (width<=767px){.tutor-panel{z-index:51;width:100%;height:min(82dvh,720px);padding-bottom:env(safe-area-inset-bottom);border-bottom:none;border-radius:22px 22px 0 0;animation-name:tutor-up;bottom:0;left:0;right:0}@keyframes tutor-up{0%{opacity:0;transform:translateY(40%)}}}.tutor-head{border-bottom:var(--bw) solid var(--border);background:var(--gradient-soft);align-items:center;gap:10px;padding:8px 8px 8px 12px;display:flex}.tutor-head-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.tutor-head-text strong{font-family:var(--font-display);font-size:1rem}.tutor-head-text span{color:var(--hint);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.tutor-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow-y:auto}.tutor-msg{max-width:94%;font-size:calc(var(--read-size,16px) * .9);overflow-wrap:anywhere;line-height:1.5}.tutor-bot{background:var(--surface-2);border:var(--bw) solid var(--border);border-radius:4px 16px 16px;flex-direction:column;align-self:flex-start;gap:8px;padding:10px 12px;display:flex}.tutor-me{background:var(--accent);color:var(--on-accent);white-space:pre-wrap;border-radius:16px 16px 4px;align-self:flex-end;padding:8px 12px}.tutor-msg .md{font-size:inherit}.tutor-msg .md>:first-child{margin-top:0}.tutor-msg .md>:last-child{margin-bottom:0}.tutor-msg .md p{margin:0 0 6px}.tutor-ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.tutor-code{background:var(--code-bg);border:var(--bw) solid var(--border);border-radius:var(--r-xs);max-width:100%;font-family:var(--mono);font-size:var(--code,13px);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:8px 10px;line-height:1.5;overflow-x:auto}.tutor-link{text-align:left;width:100%;color:var(--text);background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--r-sm);cursor:pointer;font:inherit;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.tutor-link:hover{border-color:var(--accent)}.tutor-link>svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:3px}.tutor-link>span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tutor-link .md-inline{color:var(--text-2);font-size:.92em}.tutor-finding{--tone:var(--info);--tone-soft:var(--info-soft);background:var(--tone-soft);border-left:3px solid var(--tone);border-radius:var(--r-xs);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.tutor-finding[data-severity=bug]{--tone:var(--bad);--tone-soft:var(--bad-soft)}.tutor-finding[data-severity=risk]{--tone:var(--warn);--tone-soft:var(--warn-soft)}.tutor-finding-head{color:var(--tone);align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.tutor-finding-head svg{width:15px;height:15px}.tutor-line-btn{font:inherit;color:var(--tone);background:var(--surface);border:var(--bw) solid color-mix(in srgb, var(--tone) 35%, transparent);border-radius:var(--r-pill);cursor:pointer;margin-left:auto;padding:2px 8px;font-weight:600}.tutor-line-btn:disabled{cursor:default}.tutor-finding-title{font-size:.95em}.tutor-finding-q,.tutor-finding-why{margin:0}.tutor-finding-why{color:var(--text-2)}.tutor-why{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.88em;font-weight:600}.tutor-lines{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tutor-lines button{text-align:left;max-width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:baseline;gap:6px;padding:0;display:flex}.tutor-lines button:disabled{cursor:default}.tutor-lines code{font-family:var(--mono);font-size:var(--code,13px);white-space:pre-wrap;overflow-wrap:anywhere}.tutor-line-no{min-width:22px;font-family:var(--mono);text-align:center;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-pill);flex:none;padding:0 5px;font-size:.75rem}.tutor-lines p{color:var(--text-2);margin:2px 0 0 28px;font-size:.92em}.tutor-quiz{flex-direction:column;gap:8px;display:flex}.tutor-quiz-options{flex-direction:column;gap:6px;display:flex}.tutor-quiz-options .tutor-chip{white-space:normal;text-align:left;max-width:100%}.tutor-chips{scrollbar-width:none;gap:6px;padding:8px 12px 2px;display:flex;overflow-x:auto}.tutor-chips::-webkit-scrollbar{display:none}.tutor-chip{max-width:80vw;font:inherit;white-space:nowrap;color:var(--accent);background:var(--surface);border:var(--bw) solid var(--border-strong);border-radius:var(--r-pill);cursor:pointer;flex:none;padding:6px 12px;font-size:.85rem;font-weight:600}.tutor-chip:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.tutor-chip:disabled{opacity:.55;cursor:default}.tutor-chip .md-inline code{font-size:.95em}.tutor-input{align-items:flex-end;gap:8px;padding:8px 12px 12px;display:flex}.tutor-input textarea{field-sizing:content;resize:none;min-width:0;max-height:120px;font:inherit;color:var(--text);background:var(--surface-2);border:var(--bw) solid var(--border-strong);border-radius:14px;flex:1;padding:9px 12px;font-size:.95rem}.tutor-input textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:0;border-color:var(--accent)}.tutor-send{width:40px;height:40px;color:var(--on-accent);background:var(--accent);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;display:grid}.tutor-send:disabled{opacity:.4;cursor:default}.tutor-send svg{width:20px;height:20px}.tutor-typing{flex-direction:row;gap:4px;padding:12px 14px}.tutor-typing span{background:var(--hint);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite tutor-bounce}.tutor-typing span:nth-child(2){animation-delay:.15s}.tutor-typing span:nth-child(3){animation-delay:.3s}@keyframes tutor-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.tutor-panel,.tutor-dot,.tutor-typing span{animation:none}}.my-plan .section-head{flex-wrap:wrap;gap:8px}.plan-level-check{color:var(--accent);align-items:center;gap:6px;margin:12px 0 0;font-weight:600;display:flex}.plan-level-check svg{flex:none}.plan-cards{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (width>=720px){.plan-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.plan-card{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.plan-card-next-step{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:linear-gradient(135deg, var(--accent-soft), var(--surface))}.plan-card-icon{border-radius:var(--radius-sm);background:var(--accent-soft);height:38px;color:var(--accent);flex:0 0 38px;place-items:center;display:grid}.plan-card-icon svg{width:20px;height:20px}.plan-card-reinforce .plan-card-icon{background:var(--warn-soft);color:var(--warn)}.plan-card-review .plan-card-icon{background:var(--info-soft);color:var(--info)}.plan-card-challenge .plan-card-icon{background:var(--olymp-soft);color:var(--olymp)}.plan-card-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plan-card-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--hint);font-size:11px;font-weight:800}.plan-card-title{overflow-wrap:anywhere;font-weight:700}.plan-topics{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.plan-topics-bar{gap:2px;display:flex}.plan-topic{border-radius:2px;width:8px;height:12px}.plan-topic-new,.mastery-new{background:var(--io-bg)}.plan-topic-learning,.mastery-learning{background:color-mix(in srgb, var(--warn) 55%, var(--surface))}.plan-topic-solid,.mastery-solid{background:color-mix(in srgb, var(--good) 55%, var(--surface))}.plan-topic-mastered,.mastery-mastered{background:var(--good)}.play-card-emoji{background:color-mix(in srgb, var(--fun-3) 18%, var(--surface));border-radius:18px;flex-shrink:0;place-items:center;width:56px;height:56px;font-size:30px;display:grid}.play-card-beat{background:linear-gradient(135deg, color-mix(in srgb, var(--fun-3) 14%, var(--surface)), color-mix(in srgb, var(--fun-1) 10%, var(--surface)))}.play-card-detective{background:linear-gradient(135deg, color-mix(in srgb, var(--fun-2) 14%, var(--surface)), color-mix(in srgb, var(--accent) 10%, var(--surface)))}.play-card-detective .play-card-emoji{background:color-mix(in srgb, var(--fun-2) 20%, var(--surface))}.class-feed{margin-top:22px}.class-feed-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.class-feed-item{min-height:var(--tap);border-radius:var(--radius);background:var(--surface);border:var(--bw) solid var(--border);color:var(--text);font-size:var(--fs-sm);align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.class-feed-anon{background:var(--accent-soft);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.class-feed-time{font-size:var(--fs-xs);flex-shrink:0}.teacher-start{border:var(--bw) solid color-mix(in srgb, var(--accent) 30%, var(--border));border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent-soft), var(--surface) 80%);padding:clamp(20px,4vw,32px)}.start-eyebrow{color:var(--accent);font-size:var(--fs-sm);align-items:center;gap:7px;font-weight:800;display:flex}.teacher-start h1{font:700 clamp(24px, 4vw, 34px)/1.15 var(--font-display);text-wrap:balance;margin:12px 0}.teacher-start>p{max-width:56ch;color:var(--muted);margin:0 0 20px}.teacher-start-main{gap:10px}.teacher-start-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 16px;display:grid}.teacher-start-links a{min-height:var(--tap);border:var(--bw) solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);align-items:center;gap:8px;padding:12px;font-weight:700;text-decoration:none;display:flex}.teacher-start-links a:hover{border-color:var(--accent)}.teacher-start-links svg{width:18px;height:18px;color:var(--accent);flex:none}.teacher-start-links svg:last-child{width:15px;margin-left:auto}.student-goal{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:14px;padding:18px;display:flex}.student-goal-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:46px;height:46px;color:var(--accent);flex:none;place-items:center;display:grid}.student-goal .spacer{min-width:180px}.student-goal h2{font-size:var(--fs-lg);margin:4px 0;line-height:1.35}.student-goal p{color:var(--muted);font-size:var(--fs-sm);margin:0}.student-goal-done{border-color:color-mix(in srgb, var(--good) 45%, var(--border))}.student-goal-done .student-goal-icon{background:var(--good-soft);color:var(--good)}.student-goal-reward{color:var(--good);font-size:var(--fs-sm);align-items:center;gap:5px;margin-top:6px;font-weight:700;display:inline-flex}@media (width<=600px){.teacher-start-links{grid-template-columns:minmax(0,1fr)}.teacher-start-main,.student-goal>.btn{width:100%}}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--r-xs:8px;--r-sm:12px;--radius-sm:12px;--radius:18px;--radius-lg:26px;--r-pill:999px;--bw:1px;--tap:44px;--safe-top:max(env(safe-area-inset-top), calc(var(--tg-safe-top,0px) + var(--tg-content-top,0px)));--safe-bottom:max(env(safe-area-inset-bottom), calc(var(--tg-safe-bottom,0px) + var(--tg-content-bottom,0px)));--sidebar:256px;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-1:.15s;--dur-2:.25s;--dur-3:.45s;--fs-xs:12px;--fs-sm:13px;--fs-base:15px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--font:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Unbounded Variable", "Inter Variable", -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg:#eef0fb;--chrome:#eef0fb;--surface:#fff;--surface-2:color-mix(in srgb, var(--accent) 4%, #f7f8fc);--surface-3:color-mix(in srgb, var(--accent) 7%, #f1f3f9);--surface-glass:color-mix(in srgb, var(--surface) 72%, transparent);--text:#0f1330;--text-2:#363b5a;--hint:#626884;--border:color-mix(in srgb, var(--accent) 9%, #e4e6ef);--border-strong:color-mix(in srgb, var(--accent) 14%, #cdd1e0);--accent:#5b4cf0;--accent-2:#8b5cf6;--accent-3:#d946ef;--on-accent:#fff;--gradient:linear-gradient(135deg, #4f46e5 0%, #7c3aed 55%, #c026d3 100%);--on-gradient:#fff;--accent-soft:color-mix(in srgb, var(--accent) 11%, var(--surface));--glow:color-mix(in srgb, var(--accent) 32%, transparent);--gradient-soft:linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, var(--surface)), color-mix(in srgb, var(--accent-3) 10%, var(--surface)));--mesh-a:16%;--bg-mesh:radial-gradient(60% 45% at 0% 0%, color-mix(in srgb, var(--accent) var(--mesh-a), transparent), transparent 70%), radial-gradient(50% 40% at 100% 0%, color-mix(in srgb, var(--accent-3) calc(var(--mesh-a) * .8), transparent), transparent 70%), radial-gradient(60% 50% at 70% 100%, color-mix(in srgb, var(--accent-2) calc(var(--mesh-a) * .6), transparent), transparent 70%);--bg-stars:none;--good:#047857;--good-soft:color-mix(in srgb, var(--good) 10%, var(--surface));--bad:#c8103b;--bad-soft:color-mix(in srgb, var(--bad) 9%, var(--surface));--warn:#9a4706;--warn-soft:color-mix(in srgb, var(--warn) 10%, var(--surface));--info:#0369a1;--info-soft:color-mix(in srgb, var(--info) 9%, var(--surface));--olymp:#7c3aed;--olymp-soft:color-mix(in srgb, var(--olymp) 10%, var(--surface));--star:#f59e0b;--fun-1:#0891b2;--fun-2:#d97706;--fun-3:#db2777;--fun-4:#16a34a;--code-bg:var(--surface);--code-active:color-mix(in srgb, var(--accent) 6%, transparent);--code-selection:color-mix(in srgb, var(--accent) 22%, transparent);--io-bg:var(--surface-3);--syn-keyword:#7c3aed;--syn-string:#047857;--syn-comment:#8a90a8;--syn-number:#c2410c;--syn-type:#0369a1;--syn-macro:#be185d;--syn-func:#4338ca;--shadow-sm:0 1px 2px #14183c0d;--shadow:0 1px 2px #14183c0a, 0 8px 24px #14183c12;--shadow-lg:0 18px 50px #14183c29;--highlight:inset 0 1px 0 #ffffffb3;--backdrop:#0f122d73;--mascot-body:color-mix(in srgb, var(--accent) 85%, white);--mascot-dark:color-mix(in srgb, var(--accent) 80%, black);--mascot-face:#1e1b4b;--mascot-glow:#67e8f9;--mascot-ink:#111827;--board-floor:color-mix(in srgb, var(--accent) 7%, #f5f6fb);--board-wall:#475569;--board-wall-top:#64748b;--portal-1:#22d3ee;--portal-2:var(--accent);--crystal-1:#a5f3fc;--crystal-2:var(--accent-2);--art-bg:#fff;--art-grid:#e3e5ee;--art-guide:#c9cddd;--art-turtle:#16a34a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-scheme=dark]{--bg:#0b0d1d;--chrome:#0b0d1d;--surface:#151831;--surface-2:color-mix(in srgb, var(--surface) 88%, white);--surface-3:color-mix(in srgb, var(--surface) 80%, white);--surface-glass:color-mix(in srgb, var(--surface) 70%, transparent);--text:#e9ebfa;--text-2:#c4c8e2;--hint:#9ea3c4;--border:#ffffff14;--border-strong:#ffffff29;--accent:#9089ff;--accent-2:#c084fc;--accent-3:#f472b6;--on-accent:#0b0d1d;--gradient:linear-gradient(135deg, #5b4cf0 0%, #8b3fe0 55%, #c026d3 100%);--accent-soft:color-mix(in srgb, var(--accent) 16%, var(--surface));--glow:color-mix(in srgb, var(--accent) 40%, transparent);--mesh-a:20%;--good:#34d399;--bad:#fb7185;--warn:#fbbf24;--info:#38bdf8;--olymp:#c4b5fd;--star:#fbbf24;--good-soft:color-mix(in srgb, var(--good) 13%, var(--surface));--bad-soft:color-mix(in srgb, var(--bad) 13%, var(--surface));--warn-soft:color-mix(in srgb, var(--warn) 12%, var(--surface));--info-soft:color-mix(in srgb, var(--info) 12%, var(--surface));--olymp-soft:color-mix(in srgb, var(--olymp) 14%, var(--surface));--fun-1:#22d3ee;--fun-2:#fbbf24;--fun-3:#f472b6;--fun-4:#4ade80;--code-active:#ffffff0a;--code-selection:color-mix(in srgb, var(--accent) 32%, transparent);--syn-keyword:#c4b5fd;--syn-string:#6ee7b7;--syn-comment:#6b7194;--syn-number:#fdba74;--syn-type:#7dd3fc;--syn-macro:#f9a8d4;--syn-func:#a5b4fc;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 10px 28px #0000004d;--shadow-lg:0 18px 56px #0000008c;--highlight:inset 0 1px 0 #ffffff0d;--backdrop:#0009;--mascot-body:var(--accent);--mascot-dark:color-mix(in srgb, var(--accent) 70%, black);--mascot-face:#0b0d1d;--mascot-ink:#cbd5e1;--board-floor:color-mix(in srgb, var(--accent) 10%, var(--surface));--board-wall:#05060f;--board-wall-top:color-mix(in srgb, var(--accent) 18%, #2a2f4a);--art-bg:#0f1226;--art-grid:#262b4a;--art-guide:#4a5072;--art-turtle:#4ade80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-palette=ocean]:not([data-scheme=dark]){--bg:#e9f3fa;--chrome:#e9f3fa;--text:#0b1b2b;--accent:#0369a1;--accent-2:#0891b2;--accent-3:#14b8a6;--gradient:linear-gradient(135deg, #075985 0%, #0284c7 50%, #0d9488 100%);--syn-keyword:#0369a1;--syn-func:#0e7490}:root[data-palette=ocean][data-scheme=dark]{--bg:#061420;--chrome:#061420;--surface:#0d2132;--text:#e3f1fb;--hint:#93aec2;--accent:#38bdf8;--accent-2:#22d3ee;--accent-3:#2dd4bf;--on-accent:#04121d;--gradient:linear-gradient(135deg, #0369a1 0%, #0284c7 50%, #0f766e 100%);--syn-keyword:#7dd3fc;--syn-func:#67e8f9;--mascot-face:#04121d}:root[data-palette=mint]:not([data-scheme=dark]){--bg:#e8f5ef;--chrome:#e8f5ef;--text:#0a1f17;--accent:#047857;--accent-2:#0d9488;--accent-3:#65a30d;--gradient:linear-gradient(135deg, #065f46 0%, #047857 45%, #0f766e 100%);--syn-keyword:#047857;--syn-string:#a16207;--syn-func:#0f766e;--mascot-glow:#a7f3d0}:root[data-palette=mint][data-scheme=dark]{--bg:#05140e;--chrome:#05140e;--surface:#0c231a;--text:#e1f6ec;--hint:#90b4a5;--accent:#34d399;--accent-2:#2dd4bf;--accent-3:#a3e635;--on-accent:#04140d;--gradient:linear-gradient(135deg, #047857 0%, #0f766e 55%, #3f6212 100%);--syn-keyword:#6ee7b7;--syn-string:#fde68a;--syn-func:#5eead4;--mascot-face:#04140d}:root[data-palette=sunset]:not([data-scheme=dark]){--bg:#fbefe7;--chrome:#fbefe7;--text:#24120a;--text-2:#4b2e22;--hint:#7a5d52;--accent:#b23a0a;--accent-2:#e11d48;--accent-3:#db2777;--gradient:linear-gradient(135deg, #c2410c 0%, #e11d48 55%, #be185d 100%);--syn-keyword:#c2410c;--syn-func:#be123c;--syn-number:#7c3aed;--mascot-glow:#fde68a}:root[data-palette=sunset][data-scheme=dark]{--bg:#150a06;--chrome:#150a06;--surface:#25140e;--text:#fbeae2;--text-2:#e8cbbf;--hint:#bc9c8f;--accent:#fb923c;--accent-2:#fb7185;--accent-3:#f472b6;--on-accent:#1a0b05;--gradient:linear-gradient(135deg, #c2410c 0%, #e11d48 55%, #be185d 100%);--syn-keyword:#fdba74;--syn-func:#fda4af;--syn-number:#c4b5fd;--mascot-face:#1a0b05}:root[data-palette=sakura]:not([data-scheme=dark]){--bg:#fbedf3;--chrome:#fbedf3;--text:#250b19;--text-2:#4a2a3b;--hint:#7a5a6b;--accent:#be185d;--accent-2:#c026d3;--accent-3:#7c3aed;--gradient:linear-gradient(135deg, #be185d 0%, #a21caf 55%, #6d28d9 100%);--syn-keyword:#be185d;--syn-func:#7e22ce}:root[data-palette=sakura][data-scheme=dark]{--bg:#150811;--chrome:#150811;--surface:#25111e;--text:#fbe7f1;--text-2:#e8c8d9;--hint:#bd98ad;--accent:#f472b6;--accent-2:#e879f9;--accent-3:#a78bfa;--on-accent:#1a0611;--gradient:linear-gradient(135deg, #be185d 0%, #a21caf 55%, #6d28d9 100%);--syn-keyword:#f9a8d4;--syn-func:#e9d5ff;--mascot-face:#1a0611}:root[data-palette=lime]:not([data-scheme=dark]){--bg:#f0f5e4;--chrome:#f0f5e4;--text:#141c06;--text-2:#36421f;--hint:#626b4f;--accent:#44700c;--accent-2:#65a30d;--accent-3:#ca8a04;--gradient:linear-gradient(135deg, #3f6212 0%, #4d7c0f 45%, #a16207 100%);--syn-keyword:#4d7c0f;--syn-string:#a16207;--syn-func:#3f6212;--mascot-glow:#fef08a}:root[data-palette=lime][data-scheme=dark]{--bg:#0a1005;--chrome:#0a1005;--surface:#151f0d;--text:#eef6dd;--text-2:#d2ddb8;--hint:#98a67c;--accent:#a3e635;--accent-2:#facc15;--accent-3:#4ade80;--on-accent:#0a1005;--gradient:linear-gradient(135deg, #3f6212 0%, #4d7c0f 45%, #a16207 100%);--syn-keyword:#bef264;--syn-string:#fde68a;--syn-func:#86efac;--mascot-face:#0a1005}:root[data-palette=cosmos]{--bg:#070718;--chrome:#070718;--surface:#10102a;--surface-2:#16163a;--surface-3:#1d1d48;--surface-glass:#10102a9e;--text:#eeedff;--text-2:#cac8f0;--hint:#9a98cc;--border:#a78bfa29;--border-strong:#a78bfa52;--accent:#a78bfa;--accent-2:#22d3ee;--accent-3:#f472b6;--on-accent:#070718;--gradient:linear-gradient(135deg, #7c3aed 0%, #c026d3 50%, #0891b2 100%);--accent-soft:color-mix(in srgb, var(--accent) 18%, var(--surface));--glow:color-mix(in srgb, var(--accent) 55%, transparent);--mesh-a:26%;--bg-stars:radial-gradient(1px 1px at 12% 18%, #fffc, transparent 60%), radial-gradient(1px 1px at 72% 34%, #fff9, transparent 60%), radial-gradient(1.5px 1.5px at 38% 72%, #bae6fdcc, transparent 60%), radial-gradient(1px 1px at 88% 82%, #ffffffb3, transparent 60%), radial-gradient(1px 1px at 55% 8%, #f472b6b3, transparent 60%), radial-gradient(1.5px 1.5px at 22% 92%, #ffffff80, transparent 60%);--fun-1:#22d3ee;--fun-2:#facc15;--fun-3:#f472b6;--fun-4:#4ade80;--syn-keyword:#f472b6;--syn-string:#a3e635;--syn-comment:#6c6aa0;--syn-number:#fbbf24;--syn-type:#22d3ee;--syn-macro:#fb7185;--syn-func:#c4b5fd;--code-bg:#0b0b22;--mascot-face:#070718;--mascot-glow:#22d3ee;--board-floor:#14143a;--board-wall:#030310;--board-wall-top:#2e2a6b;--art-bg:#0a0a20;--art-grid:#23234d;--art-guide:#4f4c8f;--art-turtle:#22d3ee;--highlight:inset 0 1px 0 #a78bfa1f}:root[data-palette=paper]:not([data-scheme=dark]){--bg:#f2e9d6;--chrome:#f2e9d6;--surface:#fbf6ea;--surface-2:#f6eedd;--surface-3:#efe4cd;--text:#2b2117;--text-2:#4a3b2c;--hint:#75614b;--border:#e3d5bb;--border-strong:#cfbd9c;--accent:#9a4f1c;--accent-2:#b45309;--accent-3:#854d0e;--gradient:linear-gradient(135deg, #7c3f15 0%, #9a4f1c 50%, #854d0e 100%);--mesh-a:10%;--good:#3f6212;--bad:#b91c1c;--warn:#874205;--fun-1:#0f766e;--fun-2:#b45309;--fun-3:#9f1239;--fun-4:#4d7c0f;--syn-keyword:#8b3a62;--syn-string:#4d7c0f;--syn-comment:#a08c72;--syn-number:#b45309;--syn-type:#1f5f7a;--syn-macro:#9f1239;--syn-func:#7c4a1e;--mascot-face:#2b2117;--mascot-glow:#fde68a;--board-floor:#f1e6cf;--art-bg:#fbf6ea;--art-grid:#e8dcc4;--art-guide:#cdb995;--shadow:0 1px 2px #3c280a0d, 0 8px 24px #3c280a12}:root[data-palette=paper][data-scheme=dark]{--bg:#1a1611;--chrome:#1a1611;--surface:#24201a;--surface-2:#2b261f;--surface-3:#332d25;--text:#ece1cf;--text-2:#d4c6af;--hint:#a8977d;--border:#ece1cf17;--border-strong:#ece1cf2e;--accent:#e3a86f;--accent-2:#d9b36b;--accent-3:#c98a4b;--on-accent:#1a1611;--gradient:linear-gradient(135deg, #7c3f15 0%, #9a4f1c 50%, #854d0e 100%);--good:#a3c76a;--bad:#f08a7e;--syn-keyword:#e7a6c4;--syn-string:#b5d38a;--syn-comment:#7d705e;--syn-number:#f0b874;--syn-type:#8cc3d6;--syn-macro:#f2a091;--syn-func:#e8c18f;--mascot-face:#1a1611;--board-floor:#2b261f;--art-bg:#201c16;--art-grid:#3a332a;--art-guide:#6b5e4c}:root[data-palette=contrast]{--bg:#fff;--chrome:#fff;--surface:#fff;--surface-2:#f0f0f0;--surface-3:#e6e6e6;--surface-glass:#fff;--text:#000;--text-2:#000;--hint:#333;--border:#000;--border-strong:#000;--bw:2px;--accent:#1a1ad6;--accent-2:#1a1ad6;--accent-3:#1a1ad6;--gradient:linear-gradient(#000, #000);--accent-soft:#e4e4ff;--glow:transparent;--bg-mesh:none;--good:#006b2d;--bad:#b00020;--warn:#7a4300;--info:#004f8a;--olymp:#5b00b5;--fun-1:#005f73;--fun-2:#7a4300;--fun-3:#8a0050;--fun-4:#006b2d;--syn-keyword:#5b00b5;--syn-string:#006b2d;--syn-comment:#555;--syn-number:#8a2a00;--syn-type:#004f8a;--syn-macro:#8a0050;--syn-func:#1a1ad6;--shadow-sm:none;--shadow:none;--shadow-lg:0 0 0 2px #000;--highlight:none;--board-floor:#fff;--board-wall:#000;--board-wall-top:#333;--art-grid:#bbb;--art-guide:#777;--art-turtle:#006b2d}:root[data-palette=contrast][data-scheme=dark]{--bg:#000;--chrome:#000;--surface:#000;--surface-2:#141414;--surface-3:#222;--surface-glass:#000;--text:#fff;--text-2:#fff;--hint:#d6d6d6;--border:#fff;--border-strong:#fff;--accent:#ffe14d;--accent-2:#ffe14d;--accent-3:#ffe14d;--on-accent:#000;--gradient:linear-gradient(#ffe14d, #ffe14d);--on-gradient:#000;--accent-soft:#2b2600;--good:#5dff95;--bad:#ff7a8f;--warn:#ffc457;--info:#7cd0ff;--olymp:#d9b8ff;--fun-1:#6be6ff;--fun-2:#ffc457;--fun-3:#ff8fd0;--fun-4:#5dff95;--syn-keyword:#d9b8ff;--syn-string:#5dff95;--syn-comment:#b0b0b0;--syn-number:#ffc457;--syn-type:#7cd0ff;--syn-macro:#ff8fd0;--syn-func:#ffe14d;--shadow-lg:0 0 0 2px #fff;--mascot-face:#000;--mascot-ink:#fff;--board-floor:#000;--board-wall:#fff;--board-wall-top:#ccc;--art-bg:#000;--art-grid:#444;--art-guide:#999;--art-turtle:#5dff95}:root[data-palette=aurora]:not([data-scheme=dark]){--bg:#e9f5f4;--chrome:#e9f5f4;--text:#0a1d1c;--text-2:#2c4442;--hint:#566e6c;--accent:#0f766e;--accent-2:#7c3aed;--accent-3:#db2777;--gradient:linear-gradient(135deg, #0f766e 0%, #6d28d9 55%, #be185d 100%);--mesh-a:20%;--syn-keyword:#6d28d9;--syn-func:#0f766e;--mascot-glow:#99f6e4}:root[data-palette=aurora][data-scheme=dark]{--bg:#051418;--chrome:#051418;--surface:#0c1f25;--text:#e1f4f2;--text-2:#bfdcd8;--hint:#8fb3af;--accent:#2dd4bf;--accent-2:#a78bfa;--accent-3:#f472b6;--on-accent:#041315;--gradient:linear-gradient(135deg, #0f766e 0%, #6d28d9 55%, #be185d 100%);--mesh-a:26%;--syn-keyword:#c4b5fd;--syn-func:#5eead4;--mascot-face:#041315;--mascot-glow:#5eead4}:root[data-palette=lavender]{--font-display:"Nunito Variable", "Inter Variable", sans-serif}:root[data-palette=lavender]:not([data-scheme=dark]){--bg:#f2eefb;--chrome:#f2eefb;--text:#1d1430;--text-2:#3e3157;--hint:#6a5e82;--accent:#6d28d9;--accent-2:#9333ea;--accent-3:#db2777;--gradient:linear-gradient(135deg, #6d28d9 0%, #9333ea 55%, #c026d3 100%);--syn-keyword:#9333ea;--syn-func:#6d28d9;--mascot-glow:#f5d0fe}:root[data-palette=lavender][data-scheme=dark]{--bg:#100c1c;--chrome:#100c1c;--surface:#1b152e;--text:#f0eafb;--text-2:#d6cbec;--hint:#a99dc4;--accent:#c4b5fd;--accent-2:#f0abfc;--accent-3:#f9a8d4;--on-accent:#100c1c;--gradient:linear-gradient(135deg, #6d28d9 0%, #9333ea 55%, #c026d3 100%);--syn-keyword:#f0abfc;--syn-func:#c4b5fd;--mascot-face:#100c1c}:root[data-palette=forest]:not([data-scheme=dark]){--bg:#ebf2e8;--chrome:#ebf2e8;--text:#0f1f12;--text-2:#2e4332;--hint:#5a6d5c;--accent:#166534;--accent-2:#4d7c0f;--accent-3:#b45309;--gradient:linear-gradient(135deg, #14532d 0%, #166534 50%, #a16207 100%);--mesh-a:14%;--syn-keyword:#166534;--syn-string:#a16207;--syn-func:#3f6212;--mascot-glow:#bbf7d0}:root[data-palette=forest][data-scheme=dark]{--bg:#07110a;--chrome:#07110a;--surface:#102014;--text:#e2f1e4;--text-2:#c2d9c5;--hint:#8eac92;--accent:#4ade80;--accent-2:#bef264;--accent-3:#fbbf24;--on-accent:#07110a;--gradient:linear-gradient(135deg, #14532d 0%, #166534 50%, #a16207 100%);--syn-keyword:#86efac;--syn-string:#fde68a;--syn-func:#bef264;--mascot-face:#07110a;--mascot-glow:#86efac}:root[data-palette=cherry]:not([data-scheme=dark]){--bg:#fbecef;--chrome:#fbecef;--text:#2a0a12;--text-2:#4f2a33;--hint:#7d5962;--accent:#be123c;--accent-2:#e11d48;--accent-3:#c2410c;--gradient:linear-gradient(135deg, #881337 0%, #be123c 50%, #c2410c 100%);--syn-keyword:#be123c;--syn-func:#9f1239;--syn-number:#7c3aed;--mascot-glow:#fecdd3}:root[data-palette=cherry][data-scheme=dark]{--bg:#15070b;--chrome:#15070b;--surface:#241017;--text:#fde8ec;--text-2:#ecc8cf;--hint:#c19ba3;--accent:#fb7185;--accent-2:#fda4af;--accent-3:#fdba74;--on-accent:#15070b;--gradient:linear-gradient(135deg, #881337 0%, #be123c 50%, #c2410c 100%);--syn-keyword:#fda4af;--syn-func:#fecdd3;--syn-number:#c4b5fd;--mascot-face:#15070b}:root[data-palette=candy]{--font-display:"Nunito Variable", "Inter Variable", sans-serif}:root[data-palette=candy]:not([data-scheme=dark]){--bg:#fdeff6;--chrome:#fdeff6;--text:#2a0c1f;--text-2:#4d2c40;--hint:#7b5a6e;--accent:#be185d;--accent-2:#0369a1;--accent-3:#d97706;--gradient:linear-gradient(135deg, #be185d 0%, #7c3aed 50%, #0369a1 100%);--mesh-a:22%;--fun-1:#0369a1;--fun-3:#be185d;--syn-keyword:#be185d;--syn-func:#0369a1;--mascot-glow:#fbcfe8}:root[data-palette=candy][data-scheme=dark]{--bg:#150a1a;--chrome:#150a1a;--surface:#23122b;--text:#fdeaf6;--text-2:#ecc9df;--hint:#bf9bb3;--accent:#f472b6;--accent-2:#38bdf8;--accent-3:#fcd34d;--on-accent:#150a1a;--gradient:linear-gradient(135deg, #be185d 0%, #7c3aed 50%, #0369a1 100%);--mesh-a:26%;--syn-keyword:#f9a8d4;--syn-func:#7dd3fc;--mascot-face:#150a1a}:root[data-palette=arctic]:not([data-scheme=dark]){--bg:#edf4f9;--chrome:#edf4f9;--text:#0b1a26;--text-2:#2c3e4d;--hint:#586b7b;--accent:#075985;--accent-2:#0891b2;--accent-3:#4f46e5;--gradient:linear-gradient(135deg, #0c4a6e 0%, #0369a1 50%, #4338ca 100%);--mesh-a:13%;--syn-keyword:#4338ca;--syn-func:#075985;--mascot-glow:#e0f2fe}:root[data-palette=arctic][data-scheme=dark]{--bg:#06101a;--chrome:#06101a;--surface:#0e1b28;--text:#e6f2fa;--text-2:#c5d7e5;--hint:#8fa7b9;--accent:#7dd3fc;--accent-2:#a5f3fc;--accent-3:#a5b4fc;--on-accent:#06101a;--gradient:linear-gradient(135deg, #0c4a6e 0%, #0369a1 50%, #4338ca 100%);--syn-keyword:#a5b4fc;--syn-func:#a5f3fc;--mascot-face:#06101a;--mascot-glow:#bae6fd}:root[data-palette=graphite]:not([data-scheme=dark]){--bg:#eff0f2;--chrome:#eff0f2;--surface-2:#f6f6f7;--surface-3:#ebecee;--text:#111317;--text-2:#32353c;--hint:#5f636b;--border:#e2e3e6;--border-strong:#cbcdd2;--accent:#1f2329;--accent-2:#4b5563;--accent-3:#2563eb;--gradient:linear-gradient(135deg, #111827 0%, #374151 60%, #4b5563 100%);--accent-soft:#e8e9ec;--glow:#1118272e;--mesh-a:6%;--syn-keyword:#2563eb;--syn-func:#111827;--mascot-body:#6b7280;--mascot-dark:#374151}:root[data-palette=graphite][data-scheme=dark]{--bg:#0c0c0e;--chrome:#0c0c0e;--surface:#161619;--surface-2:#1d1d21;--surface-3:#25252a;--text:#ececef;--text-2:#c9c9cf;--hint:#9b9ba4;--accent:#f4f4f5;--accent-2:#a1a1aa;--accent-3:#60a5fa;--on-accent:#0c0c0e;--gradient:linear-gradient(135deg, #27272a 0%, #3f3f46 60%, #52525b 100%);--accent-soft:#26262b;--glow:#ffffff14;--mesh-a:7%;--syn-keyword:#93c5fd;--syn-func:#e4e4e7;--mascot-body:#a1a1aa;--mascot-dark:#52525b;--mascot-face:#0c0c0e}:root[data-palette=synthwave]{--bg:#120623;--chrome:#120623;--surface:#1c0b33;--surface-2:#241042;--surface-3:#2d1550;--surface-glass:#1c0b339e;--text:#fbeaff;--text-2:#e3c9f2;--hint:#b597cc;--border:#ff5ccd2e;--border-strong:#ff5ccd57;--accent:#ff5ccd;--accent-2:#27e1ff;--accent-3:#ffd166;--on-accent:#120623;--gradient:linear-gradient(135deg, #e0218a 0%, #8a2be2 50%, #0b84d6 100%);--accent-soft:color-mix(in srgb, var(--accent) 18%, var(--surface));--glow:color-mix(in srgb, var(--accent) 55%, transparent);--mesh-a:30%;--bg-stars:linear-gradient(180deg, transparent 55%, #ff5ccd1a), repeating-linear-gradient(90deg, #27e1ff0f 0 1px, transparent 1px 64px), repeating-linear-gradient(0deg, #ff5ccd0f 0 1px, transparent 1px 64px);--fun-1:#27e1ff;--fun-2:#ffd166;--fun-3:#ff5ccd;--fun-4:#6bffb8;--star:#ffd166;--syn-keyword:#ff5ccd;--syn-string:#6bffb8;--syn-comment:#8a6aa8;--syn-number:#ffd166;--syn-type:#27e1ff;--syn-macro:#ff8f6b;--syn-func:#d9a8ff;--code-bg:#160829;--mascot-face:#120623;--mascot-glow:#27e1ff;--board-floor:#241042;--board-wall:#08020f;--board-wall-top:#4a1d6e;--art-bg:#140726;--art-grid:#3a1a5c;--art-guide:#7a4aa0;--art-turtle:#27e1ff;--highlight:inset 0 1px 0 #ff5ccd24}:root[data-palette=matrix]{--font-display:var(--mono);--bg:#020906;--chrome:#020906;--surface:#06130b;--surface-2:#0a1c10;--surface-3:#0f2616;--surface-glass:#06130bb3;--text:#cdf8d6;--text-2:#a9eab8;--hint:#74a982;--border:#4ade8029;--border-strong:#4ade8052;--accent:#4ade80;--accent-2:#22d3ee;--accent-3:#a3e635;--on-accent:#02140a;--gradient:linear-gradient(135deg, #14532d 0%, #15803d 55%, #0e7490 100%);--accent-soft:color-mix(in srgb, var(--accent) 14%, var(--surface));--glow:color-mix(in srgb, var(--accent) 45%, transparent);--mesh-a:14%;--bg-stars:repeating-linear-gradient(0deg, #4ade8009 0 1px, transparent 1px 3px);--good:#4ade80;--fun-1:#22d3ee;--fun-2:#facc15;--fun-3:#f472b6;--fun-4:#4ade80;--syn-keyword:#4ade80;--syn-string:#facc15;--syn-comment:#4d7a58;--syn-number:#22d3ee;--syn-type:#a3e635;--syn-macro:#f472b6;--syn-func:#86efac;--code-bg:#030d07;--mascot-body:#22c55e;--mascot-dark:#15803d;--mascot-face:#020906;--mascot-glow:#86efac;--board-floor:#0a1c10;--board-wall:#000;--board-wall-top:#14532d;--art-bg:#030d07;--art-grid:#12301b;--art-guide:#2f6b3e;--art-turtle:#facc15;--highlight:inset 0 1px 0 #4ade801a}:root[data-palette=paper]{--font-display:"Lora Variable", Georgia, "Times New Roman", serif}:root[data-palette=contrast]{--font-display:"Inter Variable", -apple-system, "Segoe UI", sans-serif}:root.theme-switching::view-transition-old(root){mix-blend-mode:normal;animation:none}:root.theme-switching::view-transition-new(root){mix-blend-mode:normal;animation:none}:root.theme-switching::view-transition-new(root){z-index:2}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:15px/1.55 var(--font);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0}#root{left:0;top:var(--app-top,0);width:100%;height:var(--app-height,100dvh);position:fixed;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}fieldset{min-width:0}a{color:var(--accent);text-decoration:none}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}code,pre,kbd,.cm-editor{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;font-size:.92em}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance}p,li,dd{text-wrap:pretty}.count,.timer,.lb-xp,.ring-label,.report-score,.stat-value,.kpi-value{font-variant-numeric:tabular-nums}.md a,.muted a{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:3px;transition:text-decoration-color var(--dur-1);text-decoration-thickness:1.5px}.md a:hover,.muted a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}strong,b{font-weight:700}.eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--hint);font-size:11.5px;font-weight:750}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-palette=contrast] :focus-visible{outline-width:3px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--hint) 40%, transparent) transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.92)}60%{opacity:1;transform:scale(1.02)}to{transform:none}}@keyframes fade{0%{opacity:0}}@keyframes shimmer{0%{transform:translate(-120%)skew(-20deg)}to{transform:translate(220%)skew(-20deg)}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--pulse,var(--bad)) 55%, transparent)}to{box-shadow:0 0 0 10px #0000}}@keyframes drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(2%,2%)scale(1.06)}}@keyframes float{50%{transform:translateY(-6px)}}.logo-mark{background:var(--gradient);width:36px;height:36px;color:var(--on-gradient);font:800 13px var(--mono);box-shadow:0 6px 18px var(--glow), inset 0 1px 0 #ffffff40;border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.avatar{background:var(--gradient);width:36px;height:36px;color:var(--on-gradient);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:750;display:inline-flex}.offline{padding:6px 12px;padding-top:max(6px, var(--safe-top));background:var(--warn);color:var(--surface);text-align:center;font-size:13px;font-weight:650}.topbar{z-index:10;min-height:56px;padding:6px 12px;padding-top:max(6px, var(--safe-top));background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%)blur(18px);border-bottom:var(--bw) solid var(--border);align-items:center;gap:6px;display:flex;position:sticky;top:0}.topbar-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0 4px;font-size:17px;font-weight:750;overflow:hidden}.topbar-sub{color:var(--hint);font-size:12px;font-weight:500;display:block}.topbar-right{align-items:center;gap:6px;display:flex}.page{max-width:900px;animation:rise var(--dur-3) var(--ease-out) backwards;flex-direction:column;gap:16px;margin:0 auto;padding:16px 14px 32px;display:flex}.page-wide{max-width:1280px}.page-narrow{max-width:640px}@media (width>=1024px){.page{gap:20px;padding:28px 32px 48px}}.section-head{justify-content:space-between;align-items:center;gap:12px;margin:8px 2px -4px;display:flex}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--hint);align-items:center;gap:8px;margin:0;font-size:12.5px;font-weight:750;display:flex}.section-title:before{content:"";background:var(--gradient);border-radius:2px;width:14px;height:4px}.page-title{font:700 25px/1.2 var(--font-display);letter-spacing:-.025em;margin:0}.heading-sm{margin:0;font-size:17px;font-weight:750}@media (width>=1024px){.page-title{font-size:30px}}.stagger>*{animation:rise var(--dur-3) var(--ease-out) backwards;animation-delay:calc(min(var(--i,0), 12) * 35ms)}.btn{min-height:var(--tap);border:var(--bw) solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm);transition:background var(--dur-1), border-color var(--dur-1), transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-2), filter var(--dur-1);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:650;display:inline-flex;position:relative}.btn svg{flex-shrink:0;width:18px;height:18px}.btn:hover:not(:disabled){background:var(--surface-2);border-color:color-mix(in srgb, var(--accent) 35%, var(--border-strong))}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 18px var(--glow), inset 0 1px 0 #fff3;background-image:linear-gradient(#ffffff29,#0000);border-color:#0000}.btn-primary:hover:not(:disabled){background-color:var(--accent);filter:brightness(1.07)saturate(1.05);box-shadow:0 10px 26px var(--glow), inset 0 1px 0 #fff3;border-color:#0000}.btn-gradient{background:var(--gradient);color:var(--on-gradient);box-shadow:0 8px 24px var(--glow), inset 0 1px 0 #ffffff38;border:none;overflow:hidden}.btn-gradient:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:40%;position:absolute;inset:0 auto 0 0;transform:translate(-120%)skew(-20deg)}.btn-gradient:hover:not(:disabled){background:var(--gradient);filter:brightness(1.06);box-shadow:0 12px 30px var(--glow), inset 0 1px 0 #ffffff38}.btn-gradient:hover:not(:disabled):after{animation:shimmer .9s var(--ease-out)}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 7%, transparent);border-color:#0000}.btn-danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.btn-danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad)}.btn-block{width:100%}.btn-sm{border-radius:10px;min-height:34px;padding:0 12px;font-size:13px}.btn-sm svg{width:15px;height:15px}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;touch-action:manipulation;transition:background var(--dur-1), color var(--dur-1), transform var(--dur-2) var(--ease-spring);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent)}.icon-btn:active{transform:scale(.92)}.icon-btn svg{width:22px;height:22px}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 4px;font-weight:650;display:inline-flex}.link-btn:hover{text-underline-offset:3px;text-decoration:underline}.link-btn svg{width:16px;height:16px}.card{background:var(--surface);border-radius:var(--radius);border:var(--bw) solid var(--border);box-shadow:var(--shadow-sm), var(--highlight);padding:18px}.card-hover{transition:box-shadow var(--dur-2), transform var(--dur-2) var(--ease-out), border-color var(--dur-2)}@media (hover:hover){.card-hover:hover{box-shadow:var(--shadow), 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent), var(--highlight);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));transform:translateY(-2px)}}@media (pointer:coarse){.chip-btn,.btn-sm,.tab{min-height:40px}}.card-hover:active{transform:translateY(0)scale(.99)}.card-title{margin:0 0 10px;font-size:16px;font-weight:750}.card-good{border-color:color-mix(in srgb, var(--good) 40%, transparent);background:var(--good-soft)}.card-bad{border-color:color-mix(in srgb, var(--bad) 40%, transparent);background:var(--bad-soft)}.tile-tint{--tint:var(--accent);border:var(--bw) solid color-mix(in srgb, var(--tint) 28%, var(--border));border-radius:var(--radius);background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--tint) 22%, transparent), transparent 60%), linear-gradient(160deg, color-mix(in srgb, var(--tint) 12%, var(--surface)), var(--surface));box-shadow:var(--shadow-sm), var(--highlight);position:relative;overflow:hidden}.muted{color:var(--hint)}.small{font-size:13px}.error-text{color:var(--bad)}.good-text{color:var(--good);font-weight:600}.warn-text{color:var(--warn)}.hint{margin:8px 0}.row{align-items:center;gap:8px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.grid-2{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=720px){.grid-2{grid-template-columns:1fr 1fr}}.center-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:40vh;padding:24px;display:flex}.spinner{background:conic-gradient(from 0deg, transparent 0 25%, var(--accent) 60%, var(--accent-3));border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px))}.spin{animation:1s linear infinite spin}.rise{animation:rise var(--dur-3) var(--ease-out) backwards}.empty{text-align:center;color:var(--hint);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.empty svg{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:16px;padding:10px}.chip{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);white-space:nowrap;vertical-align:middle;align-items:center;gap:4px;min-width:0;max-width:100%;padding:2px 9px;font-size:12px;font-weight:650;display:inline-flex}.chip:not(:has(>svg)){text-overflow:ellipsis;display:inline-block;overflow:hidden}.chip svg{width:13px;height:13px}.chip-muted{background:var(--surface-3);color:var(--text-2)}.chip-good{background:var(--good-soft);color:var(--good)}.chip-bad{background:var(--bad-soft);color:var(--bad)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-olymp{background:var(--olymp-soft);color:var(--olymp)}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip-btn{border:var(--bw) solid var(--border);border-radius:var(--r-pill);background:var(--surface);cursor:pointer;min-height:34px;transition:background var(--dur-1), border-color var(--dur-1), color var(--dur-1), transform var(--dur-2) var(--ease-spring);flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:650;display:inline-flex}.chip-btn:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.chip-btn:active{transform:scale(.95)}.chip-btn-active,.chip-btn-active:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 4px 12px var(--glow)}.stars{color:var(--star);gap:1px;display:inline-flex}.stars svg{width:13px;height:13px}.stars .off{color:var(--border-strong)}.dot{border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.dot-tried{border-color:var(--warn);background:var(--warn)}.dot-solved{border-color:var(--good);background:var(--good);box-shadow:0 0 6px color-mix(in srgb, var(--good) 50%, transparent)}.status-icon{background:var(--surface-3);width:26px;height:26px;color:var(--hint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.status-icon svg{width:15px;height:15px}.status-solved{background:var(--good);color:var(--surface);box-shadow:0 2px 8px color-mix(in srgb, var(--good) 40%, transparent)}.status-tried{background:var(--warn-soft);color:var(--warn)}.progress{background:var(--surface-3);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:var(--good);height:100%;transition:width .6s var(--ease-out);background-image:linear-gradient(90deg,#0000,#ffffff47);border-radius:4px;position:relative}.ring{flex-shrink:0;position:relative}.ring svg{display:block;transform:rotate(-90deg)}.ring-label{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:11.5px;font-weight:750;display:flex;position:absolute;inset:0}.tabs{--n:1;background:var(--surface-3);isolation:isolate;border-radius:14px;gap:0;padding:4px;display:flex;position:relative}.tabs-slide:before{content:"";z-index:-1;width:calc((100% - 8px) / var(--n));background:var(--surface);box-shadow:var(--shadow-sm), 0 0 0 var(--bw) var(--border);transform:translateX(calc(100% * var(--i,0)));transition:transform var(--dur-3) var(--ease-spring);border-radius:10px;position:absolute;top:4px;bottom:4px;left:4px}.tab{min-height:36px;color:var(--hint);white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:color var(--dur-2);background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:650;display:inline-flex}.tab:hover{color:var(--text)}.tab svg{width:16px;height:16px}.tab-active{color:var(--text)}.tabs:not(.tabs-slide) .tab-active{background:var(--surface);box-shadow:var(--shadow-sm)}.tab-count{border-radius:var(--r-pill);background:var(--accent);min-width:18px;color:var(--on-accent);padding:0 5px;font-size:11px;line-height:18px}.tabs-bar{z-index:9;background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%)blur(18px);border-bottom:var(--bw) solid var(--border);padding:8px 12px;position:sticky;top:56px}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--text-2);font-size:13px;font-weight:650}.label-hint{color:var(--hint);font-weight:500}.input,.textarea,.select{width:100%;min-height:var(--tap);border:var(--bw) solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);transition:border-color var(--dur-1), box-shadow var(--dur-2);padding:0 12px}.textarea{font:14px/1.5 var(--mono);resize:vertical;padding:10px 12px}.textarea-text{font-family:var(--font);font-size:15px}.input:hover,.textarea:hover,.select:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-strong))}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.search{position:relative}.search svg{width:18px;height:18px;color:var(--hint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search .input{border-radius:var(--r-pill);box-shadow:var(--shadow-sm);padding-left:42px}.check{cursor:pointer;align-items:center;gap:10px;min-height:40px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.switch{appearance:none;border-radius:var(--r-pill);background:var(--border-strong);cursor:pointer;width:46px;height:28px;transition:background var(--dur-2);flex-shrink:0;margin:0;position:relative}.switch:after{content:"";background:var(--surface);width:22px;height:22px;transition:transform var(--dur-3) var(--ease-spring);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.table-wrap{--sh:color-mix(in srgb, var(--text) 16%, transparent);background:linear-gradient(to right, var(--surface) 40%, transparent) left / 28px 100% no-repeat local, linear-gradient(to left, var(--surface) 40%, transparent) right / 28px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--sh), transparent) left / 12px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--sh), transparent) right / 12px 100% no-repeat scroll, var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm), var(--highlight);overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:var(--bw) solid var(--border);white-space:nowrap;padding:10px 12px}.table thead th{z-index:1;background:var(--surface-2);color:var(--hint);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:750;position:sticky;top:0}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td,.table tbody tr.clickable:hover th{background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.num{font-variant-numeric:tabular-nums;text-align:right!important}.sticky-col{z-index:2;background:var(--surface);position:sticky;left:0}.sheet-backdrop{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(6px);animation:fade var(--dur-2) ease;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:720px;max-height:90%;padding-bottom:var(--safe-bottom);box-shadow:var(--shadow-lg), var(--highlight);animation:slide-up .38s var(--ease-spring);border-bottom:none;flex-direction:column;display:flex;position:relative}.sheet:before{content:"";background:var(--border-strong);border-radius:2px;width:38px;height:4px;margin-left:-19px;position:absolute;top:7px;left:50%}@keyframes slide-up{0%{opacity:0;transform:translateY(60px)}}.sheet-head{border-bottom:var(--bw) solid var(--border);align-items:center;gap:8px;padding:16px 10px 10px 20px;display:flex}.sheet-head h2{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:17px;font-weight:750;overflow:hidden}.sheet-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex;overflow-y:auto}.sheet-body>*{flex-shrink:0}@media (width>=900px){.sheet-backdrop{align-items:center}.sheet{border-bottom:var(--bw) solid var(--border);border-radius:var(--radius-lg);animation:pop .32s var(--ease-out)}.sheet:before{display:none}}.kv{border-bottom:var(--bw) solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.kv>span:first-child{color:var(--hint)}.toast{left:50%;bottom:calc(96px + var(--safe-bottom));z-index:60;border-radius:var(--r-pill);background:var(--text);max-width:calc(100% - 32px);color:var(--surface);box-shadow:var(--shadow-lg);animation:toast-up .35s var(--ease-spring);padding:11px 18px;font-weight:650;position:fixed;transform:translate(-50%)}@keyframes toast-up{0%{opacity:0;transform:translate(-50%,14px)scale(.95)}}@media (width>=1024px){.toast{bottom:28px}}.theme-label{margin-bottom:8px}.theme-note{margin:8px 2px 0}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px;display:grid}@media (width>=560px){.theme-grid{gap:12px}}.theme-card{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;transition:border-color var(--dur-1), transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-2);flex-direction:column;align-items:stretch;gap:2px;padding:6px 6px 8px;display:flex}.theme-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.theme-card:active{transform:scale(.97)}.theme-card-active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.theme-preview{border-radius:12px;height:74px;margin-bottom:6px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #8080802e}.theme-preview-blob{opacity:.55;width:80px;height:80px;position:absolute;top:-22px;right:-18px}.theme-preview-card{border-radius:7px;flex-direction:column;gap:5px;padding:7px;display:flex;position:absolute;top:10px;left:8px;right:22px;box-shadow:0 1px 3px #0000001f}.theme-preview-line{border-radius:3px;height:5px}.theme-preview-line.short{width:60%}.theme-preview-btn{border-radius:6px;width:46%;height:12px;position:absolute;bottom:8px;left:8px}.theme-check{background:var(--accent);width:22px;height:22px;color:var(--on-accent);animation:pop .3s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:6px;right:6px}.theme-check svg{width:14px;height:14px}.theme-preview-aa{font-size:15px;font-weight:800;line-height:1;position:absolute;bottom:6px;right:8px}.theme-card-active .theme-preview-aa{opacity:0}.theme-name{padding:0 4px;font-size:13.5px;font-weight:750}.theme-note-sm{color:var(--hint);padding:0 4px;font-size:11.5px;line-height:1.3}.login{isolation:isolate;background:var(--bg);justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex;position:relative;overflow:clip}.login:before{content:"";z-index:-2;background:var(--bg-stars), radial-gradient(50% 40% at 15% 10%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 70%), radial-gradient(45% 40% at 90% 90%, color-mix(in srgb, var(--accent-3) 28%, transparent), transparent 70%), radial-gradient(40% 35% at 85% 15%, color-mix(in srgb, var(--accent-2) 22%, transparent), transparent 70%);animation:18s ease-in-out infinite alternate drift;position:absolute;inset:-10%}.login-glyphs{z-index:-1;pointer-events:none;position:absolute;inset:0}.login-glyphs span{font:700 var(--s,28px) var(--mono);color:color-mix(in srgb, var(--accent) 30%, transparent);animation:float var(--d,7s) ease-in-out infinite;animation-delay:var(--delay,0s);position:absolute}.login-card{border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-glass);-webkit-backdrop-filter:saturate(170%)blur(22px);width:100%;max-width:400px;box-shadow:var(--shadow-lg), var(--highlight);text-align:center;animation:pop .5s var(--ease-out) both;padding:30px 24px 26px;position:relative}.login-mascot{justify-content:center;margin:-6px 0 2px;display:flex}.login-card h1{font:700 28px/1.15 var(--font-display);letter-spacing:-.03em;margin:6px 0}.login-card h1 span{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.login-form{text-align:left;flex-direction:column;gap:12px;margin-top:22px;display:flex}.code-input{border:2px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:60px;font:700 24px var(--mono);letter-spacing:.18em;text-align:center;text-transform:uppercase;transition:border-color var(--dur-1), box-shadow var(--dur-2);padding:0 16px}.code-input::placeholder{color:var(--hint);opacity:.45}.code-input:focus{border-color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.login-form .btn{min-height:52px;font-size:16px}.login-foot{color:var(--hint);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:18px 0 0;font-size:12.5px;display:flex}.login-foot span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.login-foot svg{width:14px;height:14px;color:var(--accent)}.hero{isolation:isolate;border-radius:var(--radius-lg);background:var(--gradient);color:var(--on-gradient);box-shadow:0 18px 44px var(--glow), inset 0 1px 0 #ffffff40;padding:20px;position:relative;overflow:clip}.hero:before,.hero:after{content:"";z-index:-1;filter:blur(8px);pointer-events:none;border-radius:50%;position:absolute}.hero:before{background:radial-gradient(circle,#ffffff47,#0000 65%);width:260px;height:260px;animation:9s ease-in-out infinite float;top:-90px;right:-70px}.hero:after{background:radial-gradient(circle, color-mix(in srgb, var(--accent-3) 60%, transparent), transparent 65%);width:280px;height:280px;animation:11s ease-in-out infinite reverse float;bottom:-110px;left:-60px}.hero-glow{z-index:-1;background-image:radial-gradient(#ffffff29 1px,#0000 1.5px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask:linear-gradient(115deg,#0000 30%,#000 75%);mask:linear-gradient(115deg,#0000 30%,#000 75%)}:root[data-palette=contrast] .hero:before,:root[data-palette=contrast] .hero:after,:root[data-palette=contrast] .hero-glow{display:none}.hero-top{align-items:center;gap:12px;display:flex}.hero-hello{font:700 22px/1.2 var(--font-display);letter-spacing:-.02em;margin:0}.hero-sub{opacity:.92;margin:4px 0 0;font-size:14px}.hero-actions{flex-direction:column;align-self:flex-start;align-items:flex-end;gap:8px;display:flex}.hero .chip{color:var(--on-gradient);background:#fff3}:root[data-palette=contrast][data-scheme=dark] .hero .chip{background:#00000026}.hero-icon-btn{width:38px;height:38px;color:var(--on-gradient);cursor:pointer;transition:background var(--dur-1), transform var(--dur-2) var(--ease-spring);background:#ffffff29;border:1px solid #ffffff4d;border-radius:12px;place-items:center;display:grid}.hero-icon-btn:hover{background:#ffffff47}.hero-icon-btn:active{transform:scale(.9)rotate(-12deg)}.hero-icon-btn svg{width:19px;height:19px}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.stat{background:#ffffff24;border:1px solid #ffffff2e;border-radius:16px;flex-direction:column;padding:11px 12px;display:flex}:root[data-palette=contrast] .stat{background:0 0;border-color:currentColor}.stat-value{font:700 21px/1.1 var(--font-display);font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;display:flex}.stat-value svg{align-self:center}.stat-fire .stat-value svg{color:#fde68a;filter:drop-shadow(0 0 6px #fdba74e6);animation:1.6s ease-in-out infinite flicker}@keyframes flicker{50%{transform:scale(1.15)rotate(-6deg)}}.stat-value small{font:600 13px var(--font);opacity:.75}.stat-label{opacity:.88;margin-top:2px;font-size:11.5px;line-height:1.25}.hero-cta{background:var(--surface);color:var(--text);transition:transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-2);border-radius:18px;align-items:center;gap:12px;padding:10px 10px 10px 18px;display:flex;box-shadow:0 10px 24px #00000029}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px #00000038}.hero-cta:active{transform:scale(.98)}.hero-cta-text{flex-direction:column;flex:1;min-width:0;display:flex}.hero-cta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:4px;font-size:11.5px;font-weight:750;display:inline-flex}.hero-cta-title{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:750;overflow:hidden}.hero-cta-arrow{background:var(--gradient);width:44px;height:44px;color:var(--on-gradient);box-shadow:0 6px 16px var(--glow);transition:transform var(--dur-2) var(--ease-spring);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.hero-cta:hover .hero-cta-arrow{transform:translate(3px)}.home-columns{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.home-main,.home-side{flex-direction:column;gap:18px;min-width:0;display:flex}.home-side{position:sticky;top:0}.home-side .fun-grid{grid-template-columns:minmax(0,1fr)}.kpi-row{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=900px){.kpi-row{grid-template-columns:repeat(4,1fr)}}.kpi{border-radius:var(--radius);background:var(--surface);border:var(--bw) solid var(--border);box-shadow:var(--shadow-sm), var(--highlight);flex-direction:column;gap:2px;padding:16px;display:flex}.kpi-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;margin-bottom:8px;display:inline-flex}.kpi-icon svg{width:20px;height:20px}.kpi-value{font:700 26px/1.15 var(--font-display);font-variant-numeric:tabular-nums}.kpi-label{color:var(--hint);font-size:13px}.banner{--tone:var(--olymp);border-radius:var(--radius);border:var(--bw) solid color-mix(in srgb, var(--tone) 30%, var(--border));background:linear-gradient(120deg, color-mix(in srgb, var(--tone) 12%, var(--surface)), var(--surface) 70%);color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:14px;padding:13px 16px;display:flex}.banner-ref{--tone:var(--info);margin-top:12px}.banner-feedback{--tone:var(--accent)}.banner-icon{background:var(--tone);width:44px;height:44px;color:var(--surface);box-shadow:0 6px 16px color-mix(in srgb, var(--tone) 35%, transparent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.banner-icon-ref{--tone:var(--info)}.banner-label{letter-spacing:.06em;text-transform:uppercase;color:var(--tone);font-size:11.5px;font-weight:750}.banner-timer{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.banner-timer b{font:700 18px var(--mono);font-variant-numeric:tabular-nums;color:var(--tone)}.banner-live{--tone:var(--bad)}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lesson-card{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:12px;padding:11px 14px 11px 11px;display:flex}.lesson-card-done{background:linear-gradient(110deg, color-mix(in srgb, var(--good) 7%, var(--surface)), var(--surface) 60%)}.lesson-num{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);font:700 15px var(--font-display);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lesson-num-olymp{background:var(--olymp-soft);color:var(--olymp)}.lesson-num-done{background:var(--good);color:var(--surface);box-shadow:0 4px 12px color-mix(in srgb, var(--good) 35%, transparent)}.lesson-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.lesson-title{font-weight:700;line-height:1.3}.lesson-summary{color:var(--hint);font-size:13px}.lesson-list .lesson-summary{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dots{flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;display:flex}.lesson-read{color:var(--good);align-items:center;gap:3px;margin-left:4px;font-size:11.5px;font-weight:650;display:inline-flex}.lesson-read svg{width:13px;height:13px}.lesson-group{border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 55%, transparent);box-shadow:var(--shadow-sm);transition:background var(--dur-2)}.olymp-block .lesson-group{margin-top:12px}.lesson-group-open{background:color-mix(in srgb, var(--surface) 35%, transparent)}.lesson-group-head{border-radius:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.lesson-group-title{min-width:0;font:700 16px/1.25 var(--font-display);letter-spacing:-.01em;flex-direction:column;flex:1;align-items:flex-start;gap:4px;display:flex}.lesson-group-note{font:500 12.5px/1.35 var(--font);letter-spacing:0;color:var(--hint)}.lesson-group-progress{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;width:104px;display:flex}.lesson-group-progress .progress{width:100%;height:6px}.lesson-group-chevron{width:20px;height:20px;color:var(--hint);transition:transform var(--dur-3) var(--ease-spring);flex-shrink:0}.lesson-group-open .lesson-group-chevron{transform:rotate(180deg)}.lesson-group-body{animation:rise var(--dur-2) var(--ease-out);padding:0 10px 10px}.stage-group{margin-top:14px}.stage-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 2px 10px;display:flex}.stage-badge{border-radius:var(--r-pill);font:700 12px var(--font-display);letter-spacing:.02em;color:var(--on-gradient);background:var(--accent);align-items:center;padding:3px 11px;display:inline-flex}.stage-1{background:linear-gradient(135deg, var(--fun-1), var(--info))}.stage-2{background:linear-gradient(135deg, var(--accent-2), var(--olymp))}.stage-3{background:linear-gradient(135deg, var(--fun-2), var(--bad))}.stage-0{background:var(--hint)}:root[data-scheme=dark] .stage-badge{color:var(--bg)}.count{color:var(--hint);font-variant-numeric:tabular-nums;font-weight:650}.badges{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.badge{border:var(--bw) dashed var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 50%, transparent);text-align:center;opacity:.6;flex-direction:column;align-items:center;gap:2px;padding:12px 6px 10px;display:flex}.badge-icon{filter:grayscale();font-size:26px}.badge-title{font-size:12.5px;font-weight:700;line-height:1.25}.badge-desc{color:var(--hint);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.badge-earned{opacity:1;border-style:solid;border-color:color-mix(in srgb, var(--star) 45%, var(--border));background:linear-gradient(160deg, color-mix(in srgb, var(--star) 14%, var(--surface)), var(--surface));box-shadow:var(--shadow-sm), var(--highlight)}.badge-earned .badge-icon{filter:drop-shadow(0 3px 6px color-mix(in srgb, var(--star) 50%, transparent))}.assignment-card{--tone:var(--accent);background:var(--surface);border:var(--bw) solid color-mix(in srgb, var(--tone) 28%, var(--border));border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:12px;padding:12px 16px 12px 12px;display:flex}.assignment-icon{background:color-mix(in srgb, var(--tone) 14%, var(--surface));width:40px;height:40px;color:var(--tone);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.assignment-icon svg{width:20px;height:20px}.assignment-card .progress{margin-top:8px}.assignment-card .progress-fill{background-color:var(--tone)}.assignment-urgent{--tone:var(--bad)}.assignment-done{--tone:var(--good)}.lesson-hero{border-radius:var(--radius-lg);background:radial-gradient(90% 120% at 100% 0%, color-mix(in srgb, var(--accent-3) 16%, transparent), transparent 60%), linear-gradient(140deg, color-mix(in srgb, var(--accent) 12%, var(--surface)), var(--surface) 70%);border:var(--bw) solid color-mix(in srgb, var(--accent) 20%, var(--border));box-shadow:var(--shadow-sm), var(--highlight);flex-direction:column;gap:10px;padding:22px;display:flex;position:relative;overflow:clip}.lesson-hero:after{content:"";background-image:radial-gradient(color-mix(in srgb, var(--accent) 22%, transparent) 1.2px, transparent 1.6px);pointer-events:none;background-size:16px 16px;width:45%;height:100%;position:absolute;top:0;right:0;-webkit-mask:linear-gradient(90deg,#0000,#000);mask:linear-gradient(90deg,#0000,#000)}.lesson-hero>*{z-index:1;position:relative}.lesson-hero h1{font:700 26px/1.2 var(--font-display);letter-spacing:-.025em;margin:0}@media (width>=720px){.lesson-hero{padding:28px 30px}.lesson-hero h1{font-size:32px}}.lesson-layout{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.lesson-layout>*{min-width:0}@media (width>=1180px){.lesson-layout{grid-template-columns:minmax(0,1fr) 240px}.toc-desktop{display:block!important}.toc-mobile{display:none!important}}.toc-desktop{align-self:start;display:none;position:sticky;top:20px}.toc{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.toc a{border-left:2px solid var(--border);color:var(--hint);transition:color var(--dur-1), background var(--dur-1), border-color var(--dur-1);border-radius:0 8px 8px 0;padding:6px 10px;font-size:14px;display:block}.toc a:hover{color:var(--text);background:color-mix(in srgb, var(--accent) 5%, transparent)}.toc a.toc-active{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:650}.toc-mobile summary{cursor:pointer;font-weight:650}.reading-progress{z-index:8;background:0 0;height:3px;margin:-16px -14px 0;position:sticky;top:56px}@media (width>=1024px){.reading-progress{margin:-28px -32px 0}}.reading-progress div{background:var(--gradient);height:100%;box-shadow:0 0 10px var(--glow);border-radius:0 3px 3px 0;transition:width .1s}.theory{padding:24px 20px}@media (width>=720px){.theory{padding:32px 36px}}.md{overflow-wrap:anywhere;font-size:var(--read-size,16px);color:var(--text);line-height:1.7}.md h1{font:700 1.56em/1.25 var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 14px}.theory .md>:is(p,ul,ol,h2,h3,h4,blockquote){max-width:70ch}.md p,.md li{text-wrap:pretty}.md h2,.md h3{text-wrap:balance}.md h2{letter-spacing:-.015em;margin:44px 0 12px;padding-left:16px;scroll-margin-top:80px;font-size:1.32em;font-weight:800;line-height:1.3;position:relative}.md h2:before{content:"";background:var(--gradient);border-radius:3px;width:5px;position:absolute;top:.2em;bottom:.2em;left:0}.md h3{color:color-mix(in srgb, var(--accent) 55%, var(--text));margin:28px 0 8px;scroll-margin-top:80px;font-size:1.1em;font-weight:750;line-height:1.35}.md h4{margin:20px 0 6px;font-size:.95em;font-weight:750}.md p,.md ul,.md ol{margin:12px 0}.md :is(ul,ol):not([class]){padding-left:1.4em}.md :is(ul,ol):not([class])>li{margin:6px 0;padding-left:.2em}.md :is(ul,ol):not([class])>li::marker{color:var(--accent)}.md ol:not([class])>li::marker{font-variant-numeric:tabular-nums;font-weight:750}.md strong{color:color-mix(in srgb, var(--text) 85%, var(--accent));font-weight:700}.md hr{background:var(--border);border:0;height:1px;margin:28px 0}.md :not(pre)>code{background:var(--accent-soft);color:var(--syn-func);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px;padding:2px 6px;font-size:.88em}.md code.nobr{white-space:nowrap}.md pre{border:var(--bw) solid var(--border);border-radius:var(--r-sm);background:var(--io-bg);font-size:var(--code);tab-size:4;margin:16px 0;padding:14px 16px;line-height:1.6;position:relative;overflow-x:auto}@media (width<=520px){.md pre{padding:12px 13px}}.md pre code{color:var(--text);background:0 0;padding:0}.md .katex-display{margin:14px 0;padding:4px 0;overflow:auto hidden}.md .katex{font-size:1.08em}.md code.math-pending{color:var(--hint)}.try-btn{border-radius:var(--r-pill);background:var(--accent-soft);min-height:34px;color:var(--accent);font:650 13.5px var(--font);cursor:pointer;transition:background var(--dur-1), transform var(--dur-2) var(--ease-spring);border:none;align-items:center;gap:6px;margin-top:10px;padding:0 14px;display:inline-flex;position:sticky;left:0}.try-btn:hover{background:color-mix(in srgb, var(--accent) 18%, var(--surface))}.try-btn:active{transform:scale(.96)}.md table{border-collapse:separate;border-spacing:0;border:var(--bw) solid var(--border);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;width:max-content;max-width:100%;margin:16px 0;font-size:.94em;display:block;overflow-x:auto}.md th,.md td{border-bottom:var(--bw) solid var(--border);text-align:left;padding:8px 14px}.md th+th,.md td+td{border-left:var(--bw) solid var(--border)}.md tr:last-child>td{border-bottom:0}.md th{background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:750}.md tbody tr:nth-child(2n)>td{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}.md td code,.md th code{white-space:nowrap}.md blockquote{border-left:4px solid var(--warn);background:var(--warn-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;margin:14px 0;padding:10px 16px}.md blockquote p{margin:4px 0}.md>:first-child{margin-top:0}.callout{--tone:var(--info);border-radius:var(--radius);border:var(--bw) solid color-mix(in srgb, var(--tone) 28%, var(--border));background:linear-gradient(120deg, color-mix(in srgb, var(--tone) 11%, var(--surface)), color-mix(in srgb, var(--tone) 4%, var(--surface)));gap:12px;margin:18px 0;padding:14px 16px 14px 14px;display:flex}.callout-icon{background:var(--tone);width:34px;height:34px;color:var(--surface);box-shadow:0 4px 12px color-mix(in srgb, var(--tone) 35%, transparent);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.callout-icon svg{width:19px;height:19px}.callout-body{flex:1;min-width:0;padding-top:5px}.callout-title{color:color-mix(in srgb, var(--tone) 70%, var(--text));margin-bottom:2px;font-weight:800}.callout .md{font-size:calc(var(--read-size,16px) - 1px)}.callout .md p:first-child{margin-top:0}.callout .md p:last-child{margin-bottom:0}@media (width<=520px){.callout{padding:12px 14px;display:block}.callout-icon{float:left;width:26px;height:26px;box-shadow:none;border-radius:8px;margin:0 10px 0 0}.callout-icon svg{width:15px;height:15px}.callout-body{padding-top:2px}.callout-title{margin-bottom:6px}.callout-body>.md{clear:left}}.callout-tip{--tone:var(--good)}.callout-warn{--tone:var(--warn)}.callout-olymp{--tone:var(--olymp)}.reveal{border:var(--bw) dashed color-mix(in srgb, var(--accent) 35%, var(--border-strong));border-radius:var(--radius);background:var(--surface-2);margin:16px 0}.reveal summary{color:var(--accent);cursor:pointer;align-items:center;gap:8px;padding:12px 16px;font-weight:650;list-style:none;display:flex}.reveal summary::-webkit-details-marker{display:none}.reveal summary svg{width:18px;height:18px}.reveal[open] summary{border-bottom:1px dashed var(--border-strong)}.reveal-body{padding:4px 16px 12px}.block{border:var(--bw) solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:14px;margin:18px 0;overflow:hidden}.block-head{border-bottom:var(--bw) solid var(--border);background:var(--surface-2);color:var(--hint);align-items:center;gap:8px;padding:8px 10px 8px 14px;font-size:13px;font-weight:650;display:flex}.block-head svg{flex-shrink:0;width:16px;height:16px}@media (width<=520px){.block-head{flex-wrap:wrap}.block-head:has(>.btn)>.spacer{flex:calc(100% - 30px)}.block-head>.btn:first-of-type{margin-left:auto}}.block-code .editor-host .cm-editor{max-height:420px}.block-io{border-top:var(--bw) solid var(--border);flex-direction:column;gap:8px;padding:10px 14px 14px;display:flex}.block-out{color:#e2e8f0;font:calc(var(--code) - .5px)/1.5 var(--mono);white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:10px;max-height:280px;margin:0;padding:10px 12px;overflow:auto}.block-out-err{color:#fda4af}.block-out-stderr{color:#fda4af;opacity:.8;max-height:180px}.quiz-block{padding:16px}.quiz-question{font-weight:700;font-size:var(--read-size,16px);margin:0 0 12px}.quiz-explain{font-size:calc(var(--read-size,16px) - 1px);border-radius:12px;margin-top:12px;padding:12px 14px}.quiz-explain-good{background:var(--good-soft)}.quiz-explain-bad{background:var(--bad-soft)}.trace{grid-template-columns:minmax(0,1fr);display:grid}@media (width>=720px){.trace{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.trace-code{font:var(--code)/1.7 var(--mono);font-variant-ligatures:none;counter-reset:line;margin:0;padding:10px 0;overflow-x:auto}.trace-line{white-space:pre;padding:0 14px 0 0;transition:background .2s;display:block}.trace-line:before{counter-increment:line;content:counter(line);text-align:right;width:36px;color:var(--hint);padding-right:12px;display:inline-block}.trace-line-active{background:var(--accent-soft);background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:inset 3px 0 0 var(--accent)}.trace-side{border-top:var(--bw) solid var(--border);background:var(--surface-2);flex-direction:column;gap:10px;padding:12px 14px;display:flex}@media (width>=720px){.trace-side{border-top:none;border-left:var(--bw) solid var(--border)}}.trace-vars{font:var(--code) var(--mono);grid-template-columns:auto 1fr;gap:4px 12px;display:grid}.trace-var-changed{color:var(--accent);font-weight:700;animation:.3s rise}.trace-note{color:var(--text-2);font-size:14px}.trace-controls{border-top:var(--bw) solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.trace-step{text-align:center;color:var(--hint);font-variant-numeric:tabular-nums;flex:1;font-size:13px;font-weight:650}.check-body{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.check-body .quiz-question{margin:0}.check-code{background:var(--io-bg);font:var(--code)/1.7 var(--mono);font-variant-ligatures:none;counter-reset:line;margin:0;padding:10px 0;overflow-x:auto}.check-code-line{white-space:pre;padding:0 14px 0 0;display:block}.check-code-line:before{counter-increment:line;content:counter(line);text-align:right;width:36px;color:var(--hint);padding-right:12px;display:inline-block}.check-submit{align-self:flex-start}@media (width<=520px){.check-code-line:before,.trace-line:before{width:28px;padding-right:10px}}.md pre,.md table,.check-code,.trace-code{--sh:color-mix(in srgb, var(--text) 16%, transparent);--scroll-bg:var(--io-bg);background:linear-gradient(to right, var(--scroll-bg) 40%, transparent) left / 28px 100% no-repeat local, linear-gradient(to left, var(--scroll-bg) 40%, transparent) right / 28px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--sh), transparent) left / 12px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--sh), transparent) right / 12px 100% no-repeat scroll, var(--scroll-bg)}.md table,.trace-code{--scroll-bg:var(--surface)}.block-code .cm-editor{font-size:var(--code)}.block-code .run-static{background:var(--code-bg);max-height:420px;color:var(--text);font:var(--code) / 1.6 var(--mono);font-variant-ligatures:none;tab-size:4;counter-reset:line;cursor:text;border:0;border-radius:0;margin:0;padding:8px 0;overflow:auto}.run-static:focus-visible{outline-offset:-2px}.run-static-line{white-space:pre;padding-right:12px;display:block}.run-static-line:before{counter-increment:line;content:counter(line);text-align:right;min-width:2.4em;color:var(--hint);padding:0 8px 0 5px;display:inline-block}.block-code:not(:focus-within) .symbol-bar{display:none}.order-list{flex-direction:column;gap:6px;display:flex}.order-answer{border:1px dashed var(--border-strong);background:var(--surface-2);counter-reset:order;border-radius:12px;min-height:48px;padding:8px}.order-done{border-style:solid;border-color:color-mix(in srgb, var(--good) 45%, transparent);background:var(--good-soft)}.order-empty{padding:6px 4px}.order-line{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:var(--code)/1.5 var(--mono);font-variant-ligatures:none;text-align:left;white-space:pre;cursor:pointer;border-radius:10px;padding:8px 12px;transition:transform .12s,border-color .12s;display:block;overflow-x:auto}.order-line:hover:not(:disabled){border-color:var(--accent)}.order-line:active:not(:disabled){transform:scale(.98)}.order-line:disabled{cursor:default}.order-line-bad{border-color:var(--bad);box-shadow:inset 3px 0 0 var(--bad)}.order-fixed{background:var(--io-bg);font:var(--code)/1.5 var(--mono);font-variant-ligatures:none;border-radius:10px;margin:0;padding:8px 12px;overflow-x:auto}.order-fixed .check-code-line:before{content:none}.order-row{align-items:center;gap:4px;display:flex}.order-row>.order-line{flex:1;min-width:0}.order-row-cursor>.order-line{border-color:var(--accent);box-shadow:0 -3px 0 var(--accent)}.order-remove{flex-shrink:0;padding:6px}.order-pool .order-line{background:var(--surface-2)}.fill-gap{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-variant-ligatures:none;border-bottom-width:2px;border-radius:6px;margin:0 2px;padding:1px 6px}.fill-gap:focus{border-color:var(--accent);outline:none}.fill-gap-good{border-color:var(--good);background:var(--good-soft)}.fill-gap-bad{border-color:var(--bad);background:var(--bad-soft)}.walk-progress{font-variant-numeric:tabular-nums}.walk-steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.walk-step{border:var(--bw) solid var(--border);background:var(--surface-2);border-radius:14px;padding:14px 16px}.walk-step-current{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--accent) 4%, var(--surface))}.walk-step-title{align-items:center;gap:10px;font-weight:700;line-height:1.35;display:flex}.walk-step>:not(.walk-step-title){margin-left:36px}.walk-reveal{border:var(--bw) solid color-mix(in srgb, var(--accent) 25%, transparent);background:var(--accent-soft);color:var(--accent);box-shadow:none}.walk-reveal:hover{background:color-mix(in srgb, var(--accent) 16%, var(--surface))}.walk-reveal svg{transition:transform var(--dur-2) var(--ease-out)}.walk-reveal:hover svg{transform:translateY(2px)}.walk-num{background:var(--accent);width:26px;height:26px;color:var(--on-accent);font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;display:inline-grid}.walk-step-open .walk-num{background:var(--good)}.walk-question{color:var(--text-2);margin-top:6px}.walk-question .md{font-size:calc(var(--read-size,16px) - 1px);line-height:1.6}.walk-question p{margin:0}.walk-step>.btn{margin-top:10px}.walk-body{margin-top:8px}.task-row{--tone:var(--border-strong);background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius);min-height:60px;color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:12px;padding:10px 14px 10px 16px;display:flex;position:relative;overflow:hidden}.task-row:before{content:"";background:var(--tone);border-radius:0 4px 4px 0;width:4px;position:absolute;top:10px;bottom:10px;left:0}.task-row-solved{--tone:var(--good)}.task-row-tried{--tone:var(--warn)}.task-row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.task-row-title{font-weight:700}.task-row-meta{color:var(--hint);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.bank-hero{border:var(--bw) solid color-mix(in srgb, var(--accent) 18%, var(--border));border-radius:var(--radius-lg);background:radial-gradient(90% 120% at 100% 0%, color-mix(in srgb, var(--fun-1) 14%, transparent), transparent 60%), linear-gradient(140deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface) 70%);box-shadow:var(--shadow-sm), var(--highlight);flex-direction:column;gap:14px;padding:18px;display:flex}.how-steps{counter-reset:step;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.how-steps li{counter-increment:step;border-radius:var(--r-pill);background:color-mix(in srgb, var(--surface) 75%, transparent);border:var(--bw) solid var(--border);align-items:center;gap:7px;padding:6px 12px 6px 6px;font-size:13px;font-weight:600;display:inline-flex}.how-steps li:before{content:counter(step);background:var(--gradient);width:22px;height:22px;color:var(--on-gradient);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.how-steps svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}@media (width<=520px){.how-steps{scrollbar-width:none;flex-wrap:nowrap;margin:0 -18px;padding:0 18px;overflow-x:auto}.how-steps::-webkit-scrollbar{display:none}.how-steps li{white-space:nowrap;flex-shrink:0;font-size:12.5px}}.chevron{color:var(--hint);flex-shrink:0}.lesson-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lesson-nav-text{overflow-wrap:anywhere}@media (width<=480px){.lesson-nav{grid-template-columns:minmax(0,1fr)}.lesson-nav .next{grid-area:1}}.lesson-nav a{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2), border-color var(--dur-2);flex-direction:column;gap:2px;padding:12px 16px;font-weight:700;display:flex}.lesson-nav a:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));box-shadow:var(--shadow), var(--highlight);transform:translateY(-2px)}.lesson-nav a span{color:var(--hint);font-size:12px;font-weight:500}.lesson-nav .next{text-align:right;grid-column:2}.workspace-page{flex-direction:column;height:100%;display:flex}.ws-tabs{background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%)blur(18px);border-bottom:var(--bw) solid var(--border);padding:6px 10px}.tabs .tab{min-width:0}@media (width<=420px){.tabs .tab{gap:4px;padding:0 6px;font-size:13px}.tabs .tab svg{width:15px;height:15px}}.workspace{flex:1;min-height:0;position:relative}.pane{-webkit-overflow-scrolling:touch;height:100%;display:none;overflow-y:auto}.workspace[data-tab=statement] .pane-statement,.workspace[data-tab=code] .pane-code,.workspace[data-tab=result] .pane-result{display:block}.pane-statement{background:var(--surface);padding:18px 16px 24px}.pane-result{background:0 0;padding:16px}.workspace[data-tab=result] .pane-result{flex-direction:column;gap:12px;display:flex}.pane-code{overflow:hidden}.problem-title{font:700 22px/1.25 var(--font-display);letter-spacing:-.02em;margin:0 0 10px}.limits{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.statement-section{margin-top:22px}.statement-section h3{margin:0 0 6px;font-size:15px;font-weight:750}.examples{flex-direction:column;gap:10px;display:flex}.example{border:var(--bw) solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.example-col+.example-col{border-left:var(--bw) solid var(--border)}.example-head{background:var(--surface-2);border-bottom:var(--bw) solid var(--border);color:var(--hint);justify-content:space-between;align-items:center;padding:4px 6px 4px 12px;font-size:12px;font-weight:700;display:flex}.example pre,.io{font:calc(var(--code) - .5px)/1.5 var(--mono);white-space:pre-wrap;word-break:break-word;max-height:260px;margin:0;padding:10px 12px;overflow:auto}.io{background:var(--io-bg);border-radius:10px}.io-err{color:var(--bad)}.io-label{color:var(--hint);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 4px;font-size:12px;font-weight:700;display:block}.io-cols{grid-template-columns:1fr 1fr;gap:8px;display:grid}.subtasks td:first-child{font-weight:650}.actionbar{padding:8px 10px;padding-bottom:max(8px, var(--safe-bottom));background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%)blur(18px);border-top:var(--bw) solid var(--border);gap:8px;display:flex}.actionbar .btn{flex:1}:root[data-keyboard=open] .actionbar{padding-bottom:8px}.label-switch{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.label-switch a{background:var(--io-bg);min-width:34px;height:34px;color:var(--text-2);border-radius:10px;justify-content:center;align-items:center;padding:0 8px;font-weight:750;display:inline-flex}.label-switch a.active{background:var(--accent);color:var(--on-accent)}.editor{flex-direction:column;height:100%;display:flex}.editor-host{flex:1;min-height:0}.editor-host .cm-editor{height:100%}.symbol-bar{scrollbar-width:none;background:var(--bg);border-top:var(--bw) solid var(--border);gap:6px;padding:6px 8px;display:flex;overflow-x:auto}.symbol-bar::-webkit-scrollbar{display:none}.sym{border:var(--bw) solid var(--border);background:var(--surface);min-width:40px;height:40px;font:600 16px var(--mono);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;box-shadow:0 2px 0 var(--border-strong);border-radius:10px;flex-shrink:0;padding:0 8px;transition:transform 80ms,box-shadow 80ms}.sym:active{box-shadow:0 0 0 var(--border-strong);background:var(--accent);color:var(--on-accent);transform:translateY(2px)}.sym-wide{min-width:46px;color:var(--accent)}.sym svg{vertical-align:middle;width:18px;height:18px}.sym-on{background:var(--accent);color:var(--on-accent)}.sym-tool{min-width:54px;color:var(--accent);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.sym-tool svg{width:17px;height:17px}.sym-cap{font:600 9.5px/1 var(--font);letter-spacing:-.01em;color:var(--text-2);white-space:nowrap}.sym-on .sym-cap,.sym:active .sym-cap{color:inherit}.sym-run{background:var(--accent);color:var(--on-accent);border-color:#0000}.sym-run .sym-cap{color:inherit}.sym-sep{background:var(--border-strong);flex-shrink:0;width:1px;margin:4px 2px}.sym-snippet{color:var(--olymp);background:var(--olymp-soft);border-color:#0000;padding:0 12px;font-size:14px}@media (hover:hover) and (pointer:fine){.symbol-bar{display:none}}.editor-top{border-bottom:var(--bw) solid var(--border);background:var(--surface-2);scrollbar-width:none;align-items:center;gap:2px;min-height:38px;padding:2px 8px;display:flex;overflow-x:auto}.ed-btn{height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.ed-btn:hover{background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--accent)}.ed-btn svg{width:16px;height:16px}.ed-font{text-align:center;min-width:22px;font:600 12px var(--mono);color:var(--hint)}@media (width<=420px){.ed-label{display:none}}@media (pointer:coarse){:root[data-keyboard=open] .editor-top,:root[data-keyboard=open] .ws-tabs{display:none}}.save-state{color:var(--hint);white-space:nowrap;align-items:center;gap:5px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.save-state svg{width:14px;height:14px}.save-saved{color:var(--good)}.save-error{color:var(--warn)}.help-panel{flex-direction:column;gap:12px;margin-top:22px;display:flex}.help-block{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), var(--highlight);flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.help-head{align-items:center;gap:8px;width:100%;font-weight:700;display:flex}.help-head svg{width:18px;height:18px;color:var(--accent)}.help-hint{border-radius:var(--radius-sm);background:var(--accent-soft);gap:10px;width:100%;padding:10px 12px;display:flex}.help-hint .md>:first-child{margin-top:0}.help-hint .md>:last-child{margin-bottom:0}.help-hint-num{background:var(--accent);width:22px;height:22px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.help-editorial{width:100%}.help-locked{align-items:flex-start;gap:8px;margin:0;display:flex}.help-locked svg{flex:none;width:15px;height:15px;margin-top:2px}.project-list{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.project-row{border:var(--bw) solid var(--border);border-radius:var(--radius-sm,10px);background:var(--surface);align-items:center;gap:2px;padding:4px 4px 4px 0;display:flex}.project-row.active{border-color:var(--accent);background:var(--accent-soft,color-mix(in srgb, var(--accent) 10%, var(--surface)))}.project-open{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:auto;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}.project-open b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.project-rename{flex:auto;align-items:center;gap:4px;padding-left:6px;display:flex}.project-rename .input{flex:auto;min-width:0}@media (width<=400px){.hide-narrow{display:none}}.editor-issue{border:none;border-top:var(--bw) solid var(--border);background:var(--warn-soft);width:100%;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:13px;animation:.2s fade;display:flex}.editor-issue svg{width:16px;height:16px;color:var(--warn);flex-shrink:0}.editor-issue-error{background:var(--bad-soft)}.editor-issue-error svg{color:var(--bad)}.editor-issue-info{background:var(--info-soft)}.editor-issue-info svg{color:var(--info)}.editor-issue-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cm-tooltip.cm-tooltip-autocomplete{box-shadow:var(--shadow-lg);border-radius:12px;overflow:hidden;border:var(--bw) solid var(--border-strong)!important;background:var(--surface)!important}.cm-tooltip.cm-tooltip-autocomplete>ul{min-width:220px;font-family:var(--mono)!important;max-height:min(40vh,280px)!important}.cm-tooltip.cm-tooltip-autocomplete>ul>li{align-items:center;line-height:1.4;display:flex;padding:6px 10px!important}@media (pointer:coarse){.cm-tooltip.cm-tooltip-autocomplete>ul>li{padding:10px 12px!important}}.cm-tooltip-autocomplete ul li[aria-selected]{background:var(--accent)!important;color:var(--on-accent)!important}.cm-completionLabel{font-weight:600}.cm-completionDetail{font-family:var(--font);opacity:.75;padding-left:14px;font-size:12px;margin-left:auto!important;font-style:normal!important}.cm-completionIcon{opacity:.8!important;width:1.2em!important}.cm-completionIcon-snippet:after{content:"⚡"!important}.cm-completionIcon-method:after{content:"ƒ"!important}.cm-lintRange-error{-webkit-text-decoration:underline wavy var(--bad);text-decoration:underline wavy var(--bad);text-underline-offset:3px;background-image:none!important}.cm-lintRange-warning{-webkit-text-decoration:underline wavy var(--warn);text-decoration:underline wavy var(--warn);text-underline-offset:3px;background-image:none!important}.cm-lintRange-info{-webkit-text-decoration:underline dotted var(--info);text-decoration:underline dotted var(--info);text-underline-offset:3px;background-image:none!important}.cm-tooltip-lint{font-family:var(--font);border-radius:10px;font-size:13px}.cm-panels{background:var(--surface-2)!important;color:var(--text)!important;border-color:var(--border)!important}.cm-search{font-family:var(--font);font-size:13px}.cm-search input,.cm-search button{font:inherit;border:var(--bw) solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:4px 8px}.cm-search label{font-size:12px}.code-view{border:var(--bw) solid var(--border);border-radius:12px;overflow:hidden}.code-view .editor,.code-view .editor-host,.code-view .cm-editor{height:auto}.code-box{border:var(--bw) solid var(--border-strong);border-radius:12px;height:340px;overflow:hidden}.verdict{font:700 12px/1.5 var(--mono);letter-spacing:.02em;white-space:nowrap;background:var(--bad-soft);color:var(--bad);border-radius:8px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.verdict-AC{background:var(--good-soft);color:var(--good)}.verdict-TLE,.verdict-MLE,.verdict-OLE{background:var(--warn-soft);color:var(--warn)}.verdict-CE,.verdict-SKIP{background:var(--surface-3);color:var(--hint)}.report{--tone:var(--bad);border-color:color-mix(in srgb, var(--tone) 35%, var(--border));background:radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--tone) 16%, transparent), transparent 60%), var(--surface);flex-direction:column;gap:14px;display:flex;position:relative;overflow:hidden}.report-ok{--tone:var(--good);animation:report-glow 1.2s var(--ease-out)}.report-partial{--tone:var(--warn)}@keyframes report-glow{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--good) 50%, transparent)}to{box-shadow:0 0 0 18px #0000}}.report-bad{animation:.45s shake}.report-head{align-items:center;gap:14px;display:flex}.report-icon{background:var(--tone);width:52px;height:52px;color:var(--surface);box-shadow:0 8px 20px color-mix(in srgb, var(--tone) 40%, transparent);animation:pop .45s var(--ease-spring) both;border-radius:17px;flex-shrink:0;place-items:center;display:grid}.report-icon svg{width:28px;height:28px}.report-title{font:700 17px/1.25 var(--font-display);letter-spacing:-.01em}.report-score{font:700 30px/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--tone);flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.report-score small{font:600 12px var(--font);color:var(--hint);margin-top:3px}.test-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.test-cell{background:var(--surface-3);height:44px;color:var(--hint);font:700 12.5px var(--mono);cursor:default;transition:transform var(--dur-2) var(--ease-spring);animation:pop .35s var(--ease-out) backwards;border:none;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;display:flex}.test-cell small{opacity:.9;font-size:9.5px;font-weight:650}.test-cell[data-clickable=true]{cursor:pointer}.test-cell[data-clickable=true]:hover{transform:translateY(-2px)}.test-AC{background:var(--good-soft);color:var(--good)}.test-WA,.test-RE{background:var(--bad-soft);color:var(--bad)}.test-TLE,.test-MLE,.test-OLE{background:var(--warn-soft);color:var(--warn)}.test-cell-selected{box-shadow:0 0 0 2px var(--accent)}.test-legend{color:var(--hint);flex-wrap:wrap;gap:6px 14px;margin:-4px 0 0;font-size:12.5px;display:flex}.test-legend span{align-items:center;gap:6px;display:inline-flex}.test-legend .verdict{padding:0 6px;font-size:11px}.err-line code{overflow-wrap:anywhere;font-size:14px}.raw{margin-top:10px}.raw summary{color:var(--hint);cursor:pointer;font-size:14px}.raw pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.stdin{border:var(--bw) solid var(--border-strong);background:var(--surface);width:100%;font:14px/1.45 var(--mono);resize:vertical;border-radius:12px;padding:10px 12px}.stdin:focus{border-color:var(--accent);outline:none}.tests-panel{flex-direction:column;gap:8px;display:flex}.test-card{border:var(--bw) solid var(--border);border-left:4px solid var(--border-strong);background:var(--surface);border-radius:12px;overflow:hidden}.test-card-pass{border-left-color:var(--good)}.test-card-fail,.test-card-error{border-left-color:var(--bad)}.test-card-output{border-left-color:var(--info)}.test-card-head{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;min-height:42px;padding:6px 12px;display:flex}.test-card-pass .test-card-head svg:not(:first-child),.test-card-pass .test-card-state{color:var(--good)}.test-card-fail .test-card-state,.test-card-error .test-card-state,.test-card-fail .test-card-head svg:not(:first-child),.test-card-error .test-card-head svg:not(:first-child){color:var(--bad)}.test-card-state{color:var(--hint);font-size:13px;font-weight:650}.test-card-body{flex-direction:column;gap:4px;padding:0 12px 12px;display:flex}.splitter{display:none}.submission-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.submission-item{border:var(--bw) solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.submission-item:hover{border-color:var(--border-strong)}.options{flex-direction:column;gap:8px;display:flex}.option{border:2px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 14px;transition:border-color .15s,background .15s;display:flex}.option:hover{border-color:var(--border-strong)}.option .md{font-size:15px}.option .md p{margin:0}.option-mark{background:var(--io-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-weight:750;display:flex}.option-selected{border-color:var(--accent);background:var(--accent-soft)}.option-selected .option-mark{background:var(--accent);color:var(--on-accent)}.option-good{border-color:var(--good);background:var(--good-soft)}.option-good .option-mark{background:var(--good);color:var(--surface)}.option-bad{border-color:var(--bad);background:var(--bad-soft)}.option-bad .option-mark{background:var(--bad);color:var(--surface)}.contest-card{--tone:var(--accent);border-radius:var(--radius);background:var(--surface);border:var(--bw) solid var(--border);color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);flex-direction:column;gap:12px;padding:16px 16px 16px 20px;display:flex;position:relative;overflow:hidden}.contest-card:before{content:"";background:var(--tone);width:4px;position:absolute;top:0;bottom:0;left:0}.contest-upcoming{--tone:var(--info)}.contest-finished{--tone:var(--border-strong)}.contest-running{--tone:var(--olymp);border-color:color-mix(in srgb, var(--olymp) 40%, var(--border));background:linear-gradient(120deg, color-mix(in srgb, var(--olymp) 10%, var(--surface)), var(--surface) 65%);box-shadow:0 0 0 4px var(--olymp-soft), var(--shadow), var(--highlight)}.contest-card-body{align-items:center;gap:14px;display:flex}.contest-card-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.contest-card-title{font:700 18px/1.25 var(--font-display);letter-spacing:-.015em}.contest-meta{color:var(--hint);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.contest-meta span{align-items:center;gap:5px;display:inline-flex}.contest-meta svg{flex-shrink:0;width:14px;height:14px}.contest-countdown{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--tone) 10%, var(--surface));border:var(--bw) solid color-mix(in srgb, var(--tone) 22%, var(--border));flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;padding:8px 12px;display:flex}.contest-countdown span{letter-spacing:.05em;text-transform:uppercase;color:var(--hint);font-size:11px;font-weight:750}.contest-countdown .timer{color:var(--tone)}@media (width<=520px){.contest-card-body{flex-direction:column;align-items:stretch}.contest-countdown{flex-direction:row;justify-content:space-between;align-items:center}}.contest-card-progress{height:6px}.contest-card-progress .progress-fill{background:var(--olymp)}.contest-mine{border-top:var(--bw) dashed var(--border);align-items:center;gap:8px;padding-top:10px;font-size:14px;display:flex}.contest-mine svg{width:16px;height:16px;color:var(--warn)}.contest-head{border-radius:var(--radius-lg);background:var(--surface);border:var(--bw) solid var(--border);box-shadow:var(--shadow-sm), var(--highlight);flex-direction:column;gap:14px;padding:18px;display:flex}.contest-head-dates{color:var(--hint)}.contest-head-running{isolation:isolate;background:var(--gradient);color:var(--on-gradient);box-shadow:0 18px 44px var(--glow), var(--highlight);border-color:#0000;position:relative;overflow:clip}.contest-head-running:after{content:"";z-index:-1;background:radial-gradient(circle, color-mix(in srgb, var(--on-gradient) 22%, transparent), transparent 65%);pointer-events:none;border-radius:50%;width:280px;height:280px;position:absolute;top:-100px;right:-80px}:root[data-palette=contrast] .contest-head-running:after{display:none}.contest-head-running .contest-head-dates{color:inherit;opacity:.9}.contest-head-running .chip{background:color-mix(in srgb, var(--on-gradient) 18%, transparent);color:var(--on-gradient)}.contest-head-running .md{color:inherit}.contest-head-running .md a{color:inherit;text-decoration:underline}.contest-head-running .md code{background:color-mix(in srgb, var(--on-gradient) 16%, transparent);color:inherit}.contest-clock{flex-direction:column;gap:8px;display:flex}.contest-clock-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.contest-clock-label{letter-spacing:.06em;text-transform:uppercase;opacity:.85;font-size:12px;font-weight:750}.contest-clock .timer{font-size:34px}.contest-clock-bar{border-radius:var(--r-pill);background:color-mix(in srgb, currentColor 18%, transparent);height:8px;overflow:hidden}.contest-clock-bar>div{border-radius:inherit;background:currentColor;height:100%;transition:width 1s linear}.timer{font:800 28px/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.timer-sm{font-size:15px}.virtual-offer{border-color:color-mix(in srgb, var(--olymp) 30%, var(--border));background:linear-gradient(120deg, color-mix(in srgb, var(--olymp) 10%, var(--surface)), var(--surface) 70%);align-items:center;gap:14px;display:flex}.virtual-offer-icon{background:var(--olymp);height:48px;color:var(--surface);box-shadow:0 8px 20px color-mix(in srgb, var(--olymp) 35%, transparent);border-radius:16px;flex:0 0 48px;place-items:center;display:grid}.virtual-offer-icon svg{width:24px;height:24px}@media (width<=560px){.virtual-offer{flex-wrap:wrap}.virtual-offer .btn{flex:1 0 100%}}.virtual-mark{border-radius:var(--r-pill);background:var(--olymp-soft);color:var(--olymp);vertical-align:1px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:750;display:inline-block}.problem-tile{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:14px;padding:12px 14px 12px 12px;display:flex}.problem-tile .lesson-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.problem-label{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);font:700 18px var(--font-display);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.problem-label-full{background:var(--good);color:var(--surface);box-shadow:0 6px 14px color-mix(in srgb, var(--good) 30%, transparent)}.problem-label-partial{background:var(--warn-soft);color:var(--warn)}.problem-score{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;min-width:64px;display:flex}.problem-score b{font:700 16px var(--font-display);font-variant-numeric:tabular-nums}.problem-score small{font:600 12px var(--font);color:var(--hint)}.problem-meter{border-radius:var(--r-pill);background:var(--surface-3);width:64px;height:5px;overflow:hidden}.problem-meter i{border-radius:inherit;background:var(--accent);height:100%;display:block}.problem-meter i.problem-label-full{background:var(--good);box-shadow:none}.problem-meter i.problem-label-partial{background:var(--warn)}.standings td.cell-score{text-align:center;padding:6px}.score-pill{font-variant-numeric:tabular-nums;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:42px;padding:4px 8px;font-weight:750;line-height:1.2;display:inline-flex}.score-pill small{font-size:10.5px;font-weight:600}.score-full{background:var(--good-soft);color:var(--good)}.score-partial{background:var(--warn-soft);color:var(--warn)}.score-zero{background:var(--bad-soft);color:var(--bad)}.standings-total{font:700 16px var(--font-display)}.standings tr.me td,.standings tr.me th{background:var(--accent-soft)!important}.standings tr.me th.sticky-col{box-shadow:inset 3px 0 0 var(--accent)}.rank-badge{border-radius:var(--r-pill);font-variant-numeric:tabular-nums;place-items:center;min-width:28px;height:28px;padding:0 6px;font-weight:800;display:inline-grid}.rank-badge.rank-1,.rank-badge.rank-2,.rank-badge.rank-3{background:var(--tone);color:var(--surface);box-shadow:0 4px 10px color-mix(in srgb, var(--tone) 35%, transparent), var(--highlight)}.rank-1{--tone:var(--fun-2)}.rank-2{--tone:var(--hint)}.rank-3{--tone:color-mix(in srgb, var(--fun-2) 50%, var(--bad))}.ref-hero{flex-direction:column;gap:8px;padding:2px 2px 0;display:flex}.ref-hero-row{align-items:center;gap:12px;display:flex}.ref-hero-icon{background:var(--info);height:38px;color:var(--surface);box-shadow:0 8px 20px color-mix(in srgb, var(--info) 35%, transparent);border-radius:12px;flex:0 0 38px;place-items:center;display:grid}.ref-hero-icon svg{width:22px;height:22px}.ref-hero .page-title{font-size:18px;line-height:1.25}.ref-intro{color:var(--text-2);margin:0;font-size:14px;line-height:1.5}.ref-count{display:none}@media (width>=720px){.ref-hero{border-radius:var(--radius-lg);border:var(--bw) solid color-mix(in srgb, var(--info) 24%, var(--border));background:radial-gradient(80% 120% at 100% 0%, color-mix(in srgb, var(--info) 16%, transparent), transparent 65%), var(--surface);box-shadow:var(--shadow-sm), var(--highlight);padding:20px 22px}.ref-hero-icon{border-radius:16px;flex-basis:52px;height:52px}.ref-hero-icon svg{width:26px;height:26px}.ref-hero .page-title{font-size:28px}.ref-intro{padding-left:64px}.ref-count{display:inline-flex}}.ref-bar{top:var(--topbar-h,58px);z-index:5;background:var(--surface-glass);border-bottom:var(--bw) solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;gap:8px;margin:-6px -14px 0;padding:8px 14px 10px;display:flex;position:sticky}.ref-search{border-radius:var(--r-pill);border:var(--bw) solid var(--border);background:var(--surface);height:42px;transition:border-color var(--dur-1), box-shadow var(--dur-1);align-items:center;gap:4px;padding:0 4px 0 12px;display:flex}.ref-search>svg{width:18px;height:18px;color:var(--hint);flex-shrink:0}.ref-search .input{min-width:0;height:100%;box-shadow:none;background:0 0;border:none;flex:1;padding:0 6px;font-size:15px}.ref-search .input:focus{box-shadow:none}.ref-search .icon-btn{width:34px;height:34px}.ref-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.ref-chips{scrollbar-width:none;gap:6px;margin:0 -14px;padding:0 14px;scroll-padding:0 14px;display:flex;position:relative;overflow-x:auto}.ref-chips::-webkit-scrollbar{display:none}.ref-chip{border-radius:var(--r-pill);background:var(--surface-3);height:36px;color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--dur-1), color var(--dur-1);border:none;flex-shrink:0;align-items:center;gap:6px;padding:0 12px 0 4px;font-size:13px;font-weight:650;display:inline-flex}.ref-chip .ref-num{border-radius:var(--r-pill);background:var(--surface);min-width:28px;height:28px}.ref-chip.active{background:var(--accent);color:var(--on-accent)}.ref-chip.active .ref-num{background:color-mix(in srgb, var(--on-accent) 22%, transparent);color:var(--on-accent)}.ref-num{background:var(--surface-3);min-width:24px;height:24px;color:var(--hint);font:700 12px var(--font-display);font-variant-numeric:tabular-nums;border-radius:8px;flex-shrink:0;place-items:center;padding:0 4px;display:inline-grid}.ref-layout,.ref-body{flex-direction:column;gap:14px;min-width:0;display:flex}.ref-toc{display:none}.ref-section{scroll-margin-top:calc(var(--topbar-h,58px) + 112px);padding:18px 16px}.ref-section>h2{font:700 18px/1.25 var(--font-display);letter-spacing:-.015em;align-items:center;gap:10px;margin:0 0 4px;display:flex}.ref-section>h2 .ref-num{background:var(--gradient);min-width:28px;height:28px;color:var(--on-gradient);border-radius:9px;font-size:13px}.ref-section .md{font-size:15px;line-height:1.6}.ref-section .block{margin:14px -8px}.ref-section .md table{font-size:14px}.ref-section .md th{white-space:nowrap}.ref-section .md th,.ref-section .md td{min-width:6em;padding:7px 10px}.ref-section .md td:last-child{min-width:12em}@media (width>=720px){.ref-bar{top:calc(var(--topbar-h,58px) + 8px);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;margin:0;padding:0}.ref-search{background:var(--surface-glass);height:48px;box-shadow:var(--shadow), var(--highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.ref-chips{margin:0;padding:2px 0}.ref-section{padding:28px 32px}.ref-section>h2{font-size:21px}.ref-section>h2 .ref-num{border-radius:10px;min-width:32px;height:32px;font-size:14px}.ref-section .md{font-size:16px;line-height:1.7}.ref-section .block{margin:18px 0}}@media (width>=1100px){.ref-chips{display:none}.ref-section{scroll-margin-top:calc(var(--topbar-h,58px) + 76px)}.ref-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:24px;display:grid}.ref-toc{top:calc(var(--topbar-h,58px) + 74px);max-height:calc(100vh - 160px);max-height:calc(var(--app-height,100dvh) - 160px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), var(--highlight);flex-direction:column;gap:1px;padding:10px 8px;display:flex;position:sticky;overflow-y:auto}.ref-toc-head{letter-spacing:.08em;text-transform:uppercase;color:var(--hint);margin:0 8px 6px;font-size:11px;font-weight:750}.ref-toc-item{border-radius:var(--radius-sm);width:100%;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-1), color var(--dur-1);background:0 0;border:none;align-items:flex-start;gap:8px;padding:7px 10px 7px 8px;font-size:13.5px;font-weight:600;line-height:1.3;display:flex;position:relative}.ref-toc-item:hover{background:var(--surface-2);color:var(--text)}.ref-toc-item .ref-num{min-width:22px;height:20px;transition:background var(--dur-1), color var(--dur-1);background:0 0;border-radius:6px;margin-top:-1px;font-size:11.5px}.ref-toc-item.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.ref-toc-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-8px}.ref-toc-item.active .ref-num{background:var(--accent);color:var(--on-accent)}.ref-toc-title{text-wrap:pretty;min-width:0}}.ref-status{color:var(--hint);align-items:center;gap:10px;margin:-4px 2px -6px;display:flex}.ref-status .link-btn{min-height:32px;font-size:13px}.ref-fold{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), var(--highlight);scroll-margin-top:calc(var(--topbar-h,58px) + 68px);transition:border-color var(--dur-2), box-shadow var(--dur-2)}.ref-fold[open]{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));box-shadow:var(--shadow), var(--highlight)}.ref-fold>summary{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:64px;transition:background var(--dur-1);align-items:center;gap:12px;padding:12px 14px 12px 12px;list-style:none;display:flex}.ref-fold>summary::-webkit-details-marker{display:none}.ref-fold>summary:active{background:var(--surface-2)}.ref-fold[open]>summary{top:calc(var(--topbar-h,58px) + 60px);z-index:3;border-bottom:var(--bw) solid var(--border);border-radius:var(--radius) var(--radius) 0 0;background:var(--surface);min-height:56px;position:sticky}.ref-fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ref-fold>summary .ref-num{background:var(--accent-soft);min-width:34px;height:34px;color:var(--accent);transition:background var(--dur-2), color var(--dur-2);border-radius:11px;font-size:14px}.ref-fold[open]>summary .ref-num{background:var(--gradient);color:var(--on-gradient)}.ref-fold-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ref-fold-title{font:700 16px/1.3 var(--font-display);letter-spacing:-.01em}.ref-fold-teaser{color:var(--hint);font-size:13px;line-height:1.4}.ref-fold[open] .ref-fold-teaser{display:none}.ref-fold-chevron{width:20px;height:20px;color:var(--hint);transition:transform var(--dur-2) var(--ease-out);flex-shrink:0}.ref-fold[open] .ref-fold-chevron{color:var(--accent);transform:rotate(180deg)}.ref-fold-body.theory{animation:rise var(--dur-2) var(--ease-out) backwards;padding:0 16px 14px}.ref-fold-body .md{font-size:15px;line-height:1.6}.ref-fold-body .block{margin:14px -8px}.ref-fold-body .md th{white-space:nowrap}.ref-fold-body .md table{font-size:14px}.ref-fold-body .md th,.ref-fold-body .md td{min-width:6em;padding:7px 10px}.ref-fold-body .md td:last-child{min-width:12em}.ref-fold-close{width:100%;min-height:var(--tap);border:var(--bw) dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:14px;font-weight:650;display:flex}.ref-fold-close svg{width:18px;height:18px}.ref-fold-close:active{background:var(--surface-2)}::highlight(ref-search){background-color:color-mix(in srgb, var(--star) 45%, transparent);color:var(--text)}.ref-top{right:16px;bottom:calc(92px + var(--safe-bottom));z-index:20;border:var(--bw) solid var(--border);background:var(--surface-glass);width:48px;height:48px;color:var(--accent);box-shadow:var(--shadow-lg), var(--highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;animation:rise var(--dur-2) var(--ease-out) backwards;border-radius:50%;place-items:center;display:grid;position:fixed}.ref-top svg{width:22px;height:22px}:root[data-keyboard=open] .ref-top{display:none}@media (width>=1024px){.ref-top{bottom:28px;right:28px}}.subnav{scrollbar-width:none;background:var(--surface-glass);border-bottom:var(--bw) solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.subnav a{border:var(--bw) solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-2);transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1);flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:14px;font-weight:650;display:inline-flex}.subnav a svg{width:16px;height:16px}.subnav a.active{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 12px var(--glow);border-color:#0000}.subnav[data-more-right]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}.subnav[data-more-left]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 36px),#0000)}.subnav[data-more-left][data-more-right]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000)}@media (width>=1024px),(width>=768px) and (hover:hover) and (pointer:fine){.teacher-subnav{display:none}}.teacher-head{align-items:flex-end}.teacher-head .muted:first-letter{text-transform:uppercase}@media (width<=560px){.teacher-head>.spacer{flex-basis:100%}}.kpi{--tone:var(--accent);background:radial-gradient(90% 80% at 100% 0%, color-mix(in srgb, var(--tone) 12%, transparent), transparent 70%), var(--surface);position:relative;overflow:hidden}.kpi .kpi-icon{background:color-mix(in srgb, var(--tone) 14%, var(--surface));color:var(--tone)}.kpi-good{--tone:var(--good)}.kpi-warn{--tone:var(--warn)}.kpi-info{--tone:var(--info)}.chart{align-items:flex-end;gap:6px;height:150px;padding-top:18px;display:flex}.chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex;position:relative}.chart-value{color:var(--hint);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:700}.chart-bar{background:color-mix(in srgb, var(--accent) 22%, var(--surface));width:100%;max-width:28px;min-height:3px;transition:height var(--dur-3) var(--ease-out);border-radius:7px 7px 3px 3px;position:relative;overflow:hidden}.chart-bar-ok{background:var(--gradient);position:absolute;bottom:0;left:0;right:0}.chart-label{color:var(--hint);font-variant-numeric:tabular-nums;font-size:10px}.chart-today .chart-label,.chart-today .chart-value{color:var(--accent);font-weight:800}.chart-col:hover .chart-bar{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.legend{color:var(--hint);gap:14px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.legend i.legend-all{background:color-mix(in srgb, var(--accent) 22%, var(--surface))}.feed{margin:0;padding:0;list-style:none}.feed li{border-bottom:var(--bw) solid var(--border);border-radius:var(--radius-sm);transition:background var(--dur-1);align-items:center;gap:10px;margin:0 -8px;padding:10px 8px;display:flex}.feed li:last-child{border-bottom:none}.feed li.clickable:hover{background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.feed li:has(>a:hover){background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.feed-main{flex:1;min-width:0}.feed-main b{font-weight:650}.feed-sub{color:var(--hint);font-size:12px}.feed-contest{--tone:var(--info);padding-left:16px;position:relative}.feed-contest:before{content:"";background:var(--tone);border-radius:2px;width:3px;position:absolute;top:12px;bottom:12px;left:4px}.feed-contest-running{--tone:var(--olymp)}.feed-contest-finished{--tone:var(--border-strong)}.hard-rate{--tone:var(--warn);color:var(--tone);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.hard-rate-bad{--tone:var(--bad)}.hard-rate b{font:700 15px var(--font-display);font-variant-numeric:tabular-nums}.hard-meter{border-radius:var(--r-pill);background:color-mix(in srgb, var(--tone) 16%, var(--surface));width:56px;height:5px;overflow:hidden}.hard-meter i{border-radius:inherit;background:var(--tone);height:100%;display:block}.cell{background:var(--io-bg);width:32px;height:32px;color:var(--hint);cursor:pointer;transition:transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-1);border:none;border-radius:9px;font-weight:700}.cell:not(:disabled):hover{box-shadow:0 0 0 2px var(--accent);transform:scale(1.12)}.cell:disabled{cursor:default}.cell-solved{background:var(--good);color:var(--surface)}.cell-tried{background:var(--warn);color:var(--surface)}.grid-table th,.grid-table td{text-align:center;padding:4px}.grid-table thead th{padding:10px 4px}.grid-table .sticky-col{text-align:left;max-width:170px;padding-left:12px}.lesson-col-btn{border:var(--bw) solid var(--border);background:var(--surface);min-width:34px;height:26px;color:var(--text-2);font:700 12px var(--font);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:8px;padding:0 6px}.lesson-col-btn:hover,.lesson-col-open .lesson-col-btn{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.lesson-cell{background:var(--io-bg);width:46px;height:32px;color:var(--hint);font:700 12px var(--font);font-variant-numeric:tabular-nums;cursor:pointer;transition:box-shadow var(--dur-1);border:none;border-radius:9px;position:relative;overflow:hidden}.lesson-cell:after{content:"";height:4px;width:calc(var(--p,0) * 100%);background:var(--good);position:absolute;bottom:0;left:0}.lesson-cell:hover{box-shadow:0 0 0 2px var(--accent)}.lesson-cell-some{color:var(--text)}.lesson-cell-done{background:var(--good);color:var(--surface)}.grid-table .lesson-col-open,.grid-table .task-col{background:color-mix(in srgb, var(--accent) 6%, transparent)}.lesson-open-note{border:var(--bw) solid color-mix(in srgb, var(--accent) 25%, var(--border));border-radius:var(--r-sm);background:var(--accent-soft);align-items:baseline;gap:12px;padding:10px 14px;font-size:14px;display:flex}.name-btn{text-overflow:ellipsis;max-width:150px;color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:none;padding:6px 0;font-weight:650;overflow:hidden}.editor-section{flex-direction:column;gap:14px;display:flex}.editor-section>h2{align-items:center;gap:8px;margin:0;font-size:17px;font-weight:750;display:flex}.editor-section>h2 svg{width:20px;height:20px;color:var(--accent)}.md-editor{border:var(--bw) solid var(--border-strong);border-radius:12px;overflow:hidden}.md-editor-tabs{background:var(--surface-2);border-bottom:var(--bw) solid var(--border);gap:2px;padding:4px;display:flex}.md-editor-tabs button{color:var(--hint);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:650}.md-editor-tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.md-editor textarea{background:var(--surface);width:100%;min-height:120px;font:15px/1.55 var(--font);resize:vertical;border:none;padding:12px;display:block}.md-editor textarea:focus{outline:none}.md-editor .md{min-height:120px;padding:12px 14px}.test-editor{border:var(--bw) solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:30px 1fr 1fr;align-items:start;gap:8px;padding:10px;display:grid}.test-editor-num{font:700 13px var(--mono);color:var(--hint);text-align:center;padding-top:8px}.test-editor .textarea{min-height:64px;font-size:13px}.test-editor-foot{flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:10px;font-size:13px;display:flex}@media (width<=560px){.test-editor{grid-template-columns:24px 1fr}.test-editor .test-out{grid-column:2}}.sticky-actions{z-index:5;padding:12px 14px;padding-bottom:max(12px, var(--safe-bottom));background:var(--surface);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:var(--bw) solid var(--border);flex-wrap:wrap;gap:8px;margin:0 -14px -32px;display:flex;position:sticky;bottom:0}@media (width<=767px),(width<=1023px) and (pointer:coarse){.has-nav .sticky-actions{bottom:calc(76px + var(--safe-bottom));border:var(--bw) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding-bottom:12px}:root[data-keyboard=open] .has-nav .sticky-actions{bottom:0}.has-nav .sticky-actions>.spacer{display:none}.has-nav .sticky-actions>.btn:not(.btn-danger){flex:auto}}@media (width>=1024px){.sticky-actions{margin:0 -32px -48px;padding:14px 32px}}.only-mobile{display:inline-flex}@media (width>=960px){.ws-tabs,.only-mobile{display:none!important}.workspace{grid-template-columns:minmax(300px, var(--split-x,42%)) minmax(0, 1fr);grid-template-rows:minmax(140px, var(--split-y,62%)) minmax(0, 1fr);grid-template-areas:"statement code""statement result";display:grid}.splitter{z-index:6;touch-action:none;transition:background .15s;display:block;position:absolute}.splitter:hover,.splitter:active{background:color-mix(in srgb, var(--accent) 35%, transparent)}.splitter-x{top:0;bottom:0;left:calc(var(--split-x,42%) - 3px);cursor:col-resize;width:6px}.splitter-y{left:var(--split-x,42%);right:0;top:calc(var(--split-y,62%) - 3px);cursor:row-resize;height:6px}.workspace .pane{display:block}.workspace .pane-result{border-top:var(--bw) solid var(--border);flex-direction:column;gap:12px;display:flex}.pane-statement{border-right:var(--bw) solid var(--border);grid-area:statement;padding:24px 28px 32px}.pane-code{grid-area:code}.pane-result{grid-area:result}.workspace-2{grid-template-columns:minmax(320px, var(--split-x,58%)) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"code result"}.workspace-2 .pane-result{border-top:0;border-left:var(--bw) solid var(--border)}.actionbar{justify-content:flex-end}.actionbar .btn{flex:none;min-width:150px}}.mascot{flex-shrink:0;overflow:visible}.mascot-bulb{animation:2.4s ease-in-out infinite bulb}@keyframes bulb{50%{opacity:.45}}.mascot-float{animation:3.2s ease-in-out infinite float}.mascot-bounce{animation:.9s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-12px)rotate(-4deg)}60%{transform:translateY(0)rotate(3deg)}}.confetti{pointer-events:none;z-index:200;width:100vw;height:100vh;position:fixed;inset:0}.star-row{vertical-align:-2px;gap:1px;display:inline-flex}.star-on{color:var(--star)}.star-off{color:var(--border-strong)}.game-hero{border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--surface)), color-mix(in srgb, var(--fun-1) 14%, var(--surface)));border:var(--bw) solid var(--border);align-items:center;gap:16px;padding:18px;display:flex}.game-hero h1{margin:0;font-size:22px}.game-stars{background:var(--surface);color:var(--star);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:800;display:inline-flex}.game-continue{margin-top:14px}.game-chapter{margin-top:26px}.game-chapter-title{background:var(--accent-soft);color:var(--accent);text-align:center;letter-spacing:.02em;border-radius:12px;margin:0 0 6px;padding:8px 14px;font-size:15px;font-weight:800}.level-path{flex-direction:column;align-items:center;gap:18px;margin:0;padding:10px 0;list-style:none;display:flex}.level-node-wrap{flex-direction:column;align-items:center;gap:6px;width:50%;min-width:140px;display:flex;position:relative}.level-node{width:64px;height:64px;color:var(--on-accent);background:var(--accent);box-shadow:0 6px 0 var(--mascot-dark), 0 8px 18px #00000026;border-radius:50%;place-items:center;font-size:22px;font-weight:900;text-decoration:none;transition:transform .12s,box-shadow .12s;display:grid}.level-node:active{box-shadow:0 2px 0 var(--mascot-dark);transform:translateY(4px)}.level-done{background:linear-gradient(135deg, color-mix(in srgb, var(--good) 75%, white), var(--good));box-shadow:0 6px 0 color-mix(in srgb, var(--good) 65%, black), 0 8px 18px #00000026}.level-locked{background:var(--surface-2);color:var(--hint);box-shadow:0 6px 0 var(--border-strong)}.level-current{animation:1.8s ease-in-out infinite pulse-node}@keyframes pulse-node{50%{box-shadow:0 6px 0 var(--mascot-dark), 0 0 0 10px color-mix(in srgb, var(--accent) 22%, transparent)}}.level-caption{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.level-title{color:var(--text-2);font-size:13px;font-weight:700}.level-mascot{position:absolute;top:6px;left:calc(50% + 40px)}.game-level{flex-direction:column;flex:1;min-height:0;display:flex}.game-mission,.game-code{flex:1;min-height:0}.game-mission{flex-direction:column;gap:12px;padding:14px 14px 20px;display:flex;overflow-y:auto}.game-code{flex-direction:column;display:flex}.game-level[data-tab=mission] .game-code,.game-level[data-tab=code] .game-mission{display:none}.game-story .md>:first-child{margin-top:0}.game-mission>.game-story{order:1}.game-goals{flex-direction:column;gap:4px;margin:10px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.game-goals li{align-items:center;gap:8px;display:flex}.goal-ok b{color:var(--good)}.goal-wait b{color:var(--warn)}.game-hints{flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;display:flex}.map-switch{flex-wrap:wrap;gap:6px;display:flex}.map-switch .chip{cursor:pointer;font:inherit;border:0;font-size:13px}.chip-active{outline:2px solid var(--accent)}.board-wrap{border-radius:var(--radius);background:var(--surface);border:var(--bw) solid var(--border);justify-content:safe center;padding:10px;display:flex;overflow-x:auto}.robot-board{flex-shrink:0;align-self:flex-start;width:100%;max-width:560px;height:auto}.rb-floor{fill:var(--board-floor)}.rb-wall{fill:var(--board-wall);stroke:var(--board-wall-top);stroke-width:2px}.rb-portal{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite portal}@keyframes portal{50%{opacity:.75;transform:scale(1.15)}}.rb-crystal{transition:transform .25s,opacity .25s;animation:2s ease-in-out infinite sparkle}@keyframes sparkle{50%{filter:brightness(1.35)}}.rb-collected{opacity:0;transform:scale(0)rotate(90deg)}.rb-robot{transition-property:transform;transition-timing-function:ease-out}.rb-crashed>g{animation:.4s ease-in-out 2 crash}@keyframes crash{25%{transform:translate(2px,1px)rotate(-6deg)}75%{transform:translate(4px,1px)rotate(6deg)}}.board-bar{align-items:center;gap:8px;min-height:40px;display:flex}.board-status{font-size:14px;font-weight:600}.game-compile{border-top:var(--bw) solid var(--border);max-height:40%;padding:10px;overflow-y:auto}.win{flex-direction:column;align-items:center;gap:14px;display:flex}.win-stars{gap:10px;display:flex}.win-star{width:48px;height:48px;color:var(--border-strong)}.win-star-on{color:var(--star);animation:.5s cubic-bezier(.34,1.56,.64,1) both star-pop}@keyframes star-pop{0%{transform:scale(0)rotate(-40deg)}to{transform:scale(1)rotate(0)}}@media (width>=960px){.game-level{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.game-level[data-tab] .game-mission,.game-level[data-tab] .game-code{display:flex}.game-code{border-left:var(--bw) solid var(--border)}}@media (prefers-reduced-motion:reduce){.mascot-bulb,.mascot-float,.mascot-bounce,.level-current,.rb-portal,.rb-crystal,.win-star-on{animation:none}}.xp{flex-direction:column;gap:6px;margin:14px 0 0;display:flex}.xp-head{align-items:center;gap:10px;display:flex}.xp-level{background:linear-gradient(135deg, var(--star), color-mix(in srgb, var(--star) 50%, var(--bad)));color:#1f1300;width:34px;height:34px;font:700 16px var(--font-display);box-shadow:0 3px 0 color-mix(in srgb, var(--star) 55%, black), 0 6px 14px color-mix(in srgb, var(--star) 35%, transparent);border-radius:11px;place-items:center;display:grid}.xp-week{border-radius:var(--r-pill);background:var(--good-soft);color:var(--good);white-space:nowrap;padding:2px 9px;font-size:12px;font-weight:750}.xp-bar{border-radius:var(--r-pill);background:var(--surface-3);height:10px;position:relative;overflow:hidden}.xp-bar>div{border-radius:inherit;background:linear-gradient(90deg, var(--star), color-mix(in srgb, var(--star) 40%, var(--accent-3)), var(--accent-3));min-width:10px;height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--star) 60%, transparent);transition:width .9s var(--ease-out);position:relative;overflow:hidden}.xp-bar>div:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:40%;animation:2.8s ease-in-out infinite shimmer;position:absolute;inset:0 auto 0 0}.hero .xp .muted{color:inherit;opacity:.85}.hero .xp-bar{background:#ffffff38}.hero .xp-week{color:#065f46;background:#ffffffeb}.fun-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (width>=720px){.fun-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.daily,.game-card{--tint:var(--accent);border-radius:var(--radius);border:var(--bw) solid color-mix(in srgb, var(--tint) 30%, var(--border));background:radial-gradient(120% 100% at 100% 0%, color-mix(in srgb, var(--tint) 20%, transparent), transparent 60%), linear-gradient(160deg, color-mix(in srgb, var(--tint) 10%, var(--surface)), var(--surface));color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex;position:relative;overflow:hidden}.daily{--tint:var(--fun-2)}.daily-done{--tint:var(--good)}.daily-icon{background:var(--tint);width:46px;height:46px;color:var(--surface);box-shadow:0 6px 16px color-mix(in srgb, var(--tint) 40%, transparent);border-radius:15px;flex-shrink:0;place-items:center;display:grid}.daily:hover .daily-icon{animation:.5s wiggle}@keyframes wiggle{25%{transform:rotate(-10deg)}75%{transform:rotate(8deg)}}.daily-label,.game-card-label{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--tint) 75%, var(--text));align-items:center;gap:5px;font-size:11.5px;font-weight:800;display:inline-flex}.daily-check{background:var(--good);width:32px;height:32px;color:var(--surface);border-radius:50%;place-items:center;font-weight:900;display:grid}.game-card{--tint:var(--accent)}.game-card .mascot{flex-shrink:0}.game-card-stars{color:color-mix(in srgb, var(--star) 80%, var(--text));align-items:center;gap:4px;font-size:13px;font-weight:800;display:inline-flex}.arcade-card{--tint:var(--fun-4)}.arcade-card-emoji{background:color-mix(in srgb, var(--tint) 16%, var(--surface));border-radius:18px;flex:0 0 56px;place-items:center;height:56px;font-size:30px;display:grid}.arcade-card:hover .arcade-card-emoji{animation:.5s wiggle}.leaderboard{flex-direction:column;margin:12px 0 0;padding:6px;list-style:none;display:flex}.leaderboard li{border-radius:12px;align-items:center;gap:10px;padding:7px 10px;display:flex}.leaderboard li+li{margin-top:2px}.leaderboard li.lb-me{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.lb-place{background:var(--surface-3);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid}.lb-place-1{color:#713f12;background:linear-gradient(135deg,#fde68a,#f59e0b);box-shadow:0 3px 10px #f59e0b66}.lb-place-2{color:#334155;background:linear-gradient(135deg,#f1f5f9,#94a3b8)}.lb-place-3{color:#7c2d12;background:linear-gradient(135deg,#fed7aa,#ea580c)}.lb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:650;overflow:hidden}.lb-level{color:var(--hint);font-size:12px}.lb-xp{font-variant-numeric:tabular-nums;text-align:right;min-width:56px}.levelup-badge{background:linear-gradient(135deg, var(--star), color-mix(in srgb, var(--star) 45%, var(--bad)));color:#1f1300;width:84px;height:84px;font:700 38px var(--font-display);box-shadow:0 6px 0 color-mix(in srgb, var(--star) 55%, black), 0 14px 30px color-mix(in srgb, var(--star) 40%, transparent);animation:star-pop .6s var(--ease-spring) both;border-radius:26px;place-items:center;display:grid}.xp-toast{left:50%;top:max(14px, var(--safe-top));z-index:210;border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-lg), 0 0 0 2px var(--star), 0 0 24px color-mix(in srgb, var(--star) 45%, transparent);font:700 17px var(--font-display);animation:toast-in .45s var(--ease-spring) both;align-items:center;gap:10px;padding:8px 18px 8px 10px;display:flex;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-30px)scale(.8)}to{opacity:1;transform:translate(-50%)scale(1)}}.art-picker{scrollbar-width:none;background:var(--surface);border-bottom:var(--bw) solid var(--border);gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.art-pick{border:var(--bw) solid var(--border);background:var(--surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 12px;font-size:14px;font-weight:650;display:inline-flex}.art-pick-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.art-pick-done{border-color:color-mix(in srgb, var(--good) 50%, var(--border))}.art-frame{border-radius:var(--radius);background:var(--surface);border:var(--bw) solid var(--border);justify-content:center;padding:10px;display:flex}.art-canvas{aspect-ratio:1;width:100%;max-width:min(480px,58vh);box-shadow:inset 0 0 0 1px var(--border);border-radius:14px}.art-score{border-radius:var(--radius-sm);background:var(--warn-soft);align-items:center;gap:10px;padding:10px 14px;display:flex}.art-score-ok{background:var(--good-soft)}.art-help{flex-direction:column;order:2;gap:10px;display:flex}.art-help-title{margin:0;font-size:16px;font-weight:750}.art-help-sub{color:var(--hint);margin:-4px 0 2px;font-size:13.5px}.art-cmd-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,148px),1fr));gap:6px;display:grid}.art-cmd{border:var(--bw) solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:48px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-1), background var(--dur-1), transform var(--dur-2) var(--ease-spring);align-items:center;gap:10px;padding:6px 10px 6px 6px;display:flex}.art-cmd:hover{border-color:color-mix(in srgb, var(--fun-3) 45%, var(--border));background:color-mix(in srgb, var(--fun-3) 5%, var(--surface))}.art-cmd:active{transform:scale(.97)}.art-cmd-icon{background:color-mix(in srgb, var(--fun-3) 14%, var(--surface));width:34px;height:34px;color:var(--fun-3);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.art-cmd-icon svg{width:18px;height:18px}.art-cmd-text{flex-direction:column;gap:1px;min-width:0;line-height:1.25;display:flex}.art-cmd-text code{font:700 13.5px var(--mono);color:var(--text)}.art-cmd-text span{color:var(--hint);font-size:12px}.art-cmd-loop .art-cmd-icon{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent)}.art-colors{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.art-colors-label{color:var(--hint);margin-right:4px;font-size:13px}.art-colors-label code{font:700 12.5px var(--mono);color:var(--text)}.art-swatch{border:2px solid var(--surface);width:30px;height:30px;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;transition:transform var(--dur-2) var(--ease-spring);border-radius:50%;padding:0}.art-swatch:hover,.art-swatch:focus-visible{transform:scale(1.12)}.art-swatch:active{transform:scale(.92)}.art-strip{scrollbar-width:none;border-bottom:var(--bw) solid var(--border);background:var(--surface-2);gap:6px;padding:6px 10px;display:flex;overflow-x:auto}.art-strip::-webkit-scrollbar{display:none}.art-chip{border:var(--bw) solid var(--border);border-radius:var(--r-pill);background:var(--surface);min-height:34px;color:var(--text);font:650 13px var(--mono);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:5px;padding:0 11px 0 9px;display:inline-flex}.art-chip svg{width:15px;height:15px;color:var(--fun-3)}.art-chip:active{background:var(--accent);color:var(--on-accent)}.art-chip-dot{background:conic-gradient(#ef4444,#eab308,#22c55e,#3b82f6,#a855f7,#ef4444);border-radius:50%;width:12px;height:12px}.game-modes{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:14px;display:grid}.mode-card{border-radius:var(--radius);border:var(--bw) solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--fun-3) 12%, var(--surface)), color-mix(in srgb, var(--star) 10%, var(--surface)));color:var(--text);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.mode-emoji{font-size:32px;line-height:1}.viz-stage{border-radius:var(--r-sm);padding:16px 12px 8px;overflow-x:auto;container-type:inline-size}.viz-stage:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.viz-array{--cell:clamp(22px, calc((100cqw - var(--lab,0px) - 12px) / var(--cols,8) - 5px), 42px);flex-direction:column;align-items:flex-start;gap:8px;min-width:max-content;margin:0 auto;display:flex}.viz-row{gap:clamp(3px, calc(var(--cell) - 36px), 6px);align-items:flex-end;display:flex}.viz-row-label{width:18px;font-family:var(--mono);color:var(--hint);text-align:right;white-space:nowrap;flex-shrink:0;align-self:center;font-size:13px;font-weight:700}.viz-empty{height:var(--cell);color:var(--hint);place-items:center;font-size:13px;font-style:italic;display:grid}.viz-cell{min-width:var(--cell);padding:0 calc(var(--cell) * .12);height:var(--cell);border-radius:calc(var(--cell) * .29);border:2px solid var(--border);background:var(--surface);font-family:var(--mono);font-weight:800;font-size:clamp(12px, calc(var(--cell) * .38), 16px);place-items:center;transition:background .25s,border-color .25s,transform .25s,opacity .25s;display:grid;position:relative}.viz-val{animation:viz-val-pop var(--dur-3) var(--ease-spring) backwards;display:inline-block}@keyframes viz-val-pop{0%{opacity:0;transform:scale(.4)}}.viz-index{color:var(--hint);font-size:10px;font-weight:600;position:absolute;top:-15px}.viz-compare{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-4px)}.viz-swap{border-color:var(--star);background:color-mix(in srgb, var(--star) 22%, var(--surface));transform:translateY(-6px)scale(1.06)}.viz-done{border-color:var(--good);background:var(--good-soft)}.viz-active{border-color:var(--fun-1);background:color-mix(in srgb, var(--fun-1) 18%, var(--surface))}.viz-range{border-color:var(--olymp);background:var(--olymp-soft)}.viz-found{border-color:var(--good);background:var(--good);color:var(--surface);transform:scale(1.1)}.viz-dim{opacity:.35}.viz-pointers{min-height:34px}.viz-pointer{width:var(--cell);text-align:center;font-family:var(--mono);color:var(--accent);flex-shrink:0;font-size:12px;font-weight:800;line-height:1.1}.viz-caption{text-align:center;text-wrap:pretty;min-height:3em;margin:0;padding:0 14px 6px;font-weight:600}.viz-caption-text{animation:viz-caption-in var(--dur-2) var(--ease-out) backwards;display:inline-block}@keyframes viz-caption-in{0%{opacity:0;transform:translateY(4px)}}.viz-legend{color:var(--text-2);flex-wrap:wrap;justify-content:center;gap:6px 12px;padding:0 14px 10px;font-size:12px;display:flex}.viz-chip{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.viz-chip i{border:2px solid var(--border-strong);background:var(--surface);border-radius:4px;width:12px;height:12px}.viz-chip[data-s=compare] i{border-color:var(--accent);background:var(--accent-soft)}.viz-chip[data-s=swap] i,.viz-chip[data-s=from] i{border-color:var(--star);background:color-mix(in srgb, var(--star) 24%, var(--surface))}.viz-chip[data-s=done] i{border-color:var(--good);background:var(--good-soft)}.viz-chip[data-s=active] i{border-color:var(--fun-1);background:color-mix(in srgb, var(--fun-1) 18%, var(--surface))}.viz-chip[data-s=range] i{border-color:var(--olymp);background:var(--olymp-soft)}.viz-chip[data-s=found] i{border-color:var(--good);background:var(--good)}.viz-chip[data-s=cur] i{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--glow)}.viz-chip[data-s=dim] i{opacity:.5;border-style:dashed}.viz-scrub{cursor:pointer;appearance:none;background:0 0;width:calc(100% - 28px);height:22px;margin:0 14px 2px;display:block}.viz-scrub::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:linear-gradient(to right, var(--accent) var(--p), var(--surface-3) var(--p));height:6px}.viz-scrub::-moz-range-track{border-radius:var(--r-pill);background:linear-gradient(to right, var(--accent) var(--p), var(--surface-3) var(--p));height:6px}.viz-scrub::-webkit-slider-thumb{appearance:none;border:3px solid var(--surface);background:var(--accent);width:20px;height:20px;box-shadow:0 0 0 1px var(--border-strong), var(--shadow-sm);border-radius:50%;margin-top:-7px}.viz-scrub::-moz-range-thumb{border:3px solid var(--surface);background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 1px var(--border-strong);border-radius:50%}.viz-scrub:focus-visible{outline:none}.viz-scrub:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--glow)}.viz-count{font-variant-numeric:tabular-nums;white-space:nowrap}.viz-grid{gap:3px;max-width:420px;margin:0 auto;display:grid}.viz-gcell{aspect-ratio:1;background:var(--board-floor);font-family:var(--mono);color:var(--text);border-radius:6px;place-items:center;font-size:12px;font-weight:800;transition:background .3s;display:grid}.viz-wall{background:var(--board-wall)}.viz-reached{background:color-mix(in srgb, var(--fun-1) calc(55% - var(--wave,0) * 35%), var(--board-floor))}.viz-current{background:var(--star);color:#1f1300}.viz-path{background:var(--good);color:var(--surface)}.viz-stage{scrollbar-width:thin}.viz-graph{flex-direction:column;gap:14px;display:flex}.viz-svg{flex-shrink:0;width:100%;height:auto;margin:0 auto;display:block;overflow:visible}.viz-edge{color:var(--border-strong);transition:opacity var(--dur-2)}.viz-edge path{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;transition:d var(--dur-3) var(--ease-out), stroke var(--dur-2), stroke-width var(--dur-2)}.viz-edge .viz-arrow{fill:currentColor;stroke:none}.viz-edge[data-s=compare]{color:var(--accent)}.viz-edge[data-s=swap]{color:var(--star)}.viz-edge[data-s=found],.viz-edge[data-s=done]{color:var(--good)}.viz-edge[data-s=active]{color:var(--fun-1)}.viz-edge[data-s=range]{color:var(--olymp)}.viz-edge[data-s=compare] path:not(.viz-arrow),.viz-edge[data-s=swap] path:not(.viz-arrow),.viz-edge[data-s=found] path:not(.viz-arrow),.viz-edge[data-s=range] path:not(.viz-arrow){stroke-width:4px}.viz-edge[data-s=dim]{opacity:.3}.viz-edge[data-s=dim] path:not(.viz-arrow){stroke-dasharray:5 6}.viz-edge[data-s=compare] path:not(.viz-arrow),.viz-edge[data-s=swap] path:not(.viz-arrow){stroke-dasharray:9 6;animation:.6s linear infinite viz-flow}@keyframes viz-flow{to{stroke-dashoffset:-15px}}.viz-ew{font:800 12px var(--mono);fill:currentColor;text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:6px;stroke-linejoin:round;transition:transform var(--dur-3) var(--ease-out)}.viz-edge:not([data-s]) .viz-ew{fill:var(--text-2)}.viz-node{transition:transform var(--dur-3) var(--ease-out), opacity var(--dur-2)}.viz-node>*{animation:viz-pop var(--dur-3) var(--ease-spring) backwards}@keyframes viz-pop{0%{opacity:0;transform:scale(.2)}}.viz-shape{fill:var(--surface);stroke:var(--border-strong);stroke-width:2.5px;transition:fill var(--dur-2), stroke var(--dur-2)}.viz-nlabel{font:800 14px var(--mono);fill:var(--text);text-anchor:middle}.viz-nsub{font:700 11px var(--mono);fill:var(--hint);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.viz-ntag{font:800 12px var(--mono);fill:var(--olymp);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.viz-node[data-s=compare] .viz-shape{stroke:var(--accent);fill:var(--accent-soft)}.viz-node[data-s=swap] .viz-shape{stroke:var(--star);fill:color-mix(in srgb, var(--star) 24%, var(--surface))}.viz-node[data-s=done] .viz-shape{stroke:var(--good);fill:var(--good-soft)}.viz-node[data-s=active] .viz-shape{stroke:var(--fun-1);fill:color-mix(in srgb, var(--fun-1) 18%, var(--surface))}.viz-node[data-s=range] .viz-shape{stroke:var(--olymp);fill:var(--olymp-soft)}.viz-node[data-s=found] .viz-shape{stroke:var(--good);fill:var(--good)}.viz-node[data-s=found] .viz-nlabel{fill:var(--surface)}.viz-node[data-s=compare] .viz-shape,.viz-node[data-s=swap] .viz-shape,.viz-node[data-s=found] .viz-shape{filter:drop-shadow(0 0 6px var(--glow))}.viz-node[data-s=dim]{opacity:.35}.viz-node>.viz-ring{animation:viz-ring .9s var(--ease-out) 2 both}.viz-ring-shape{fill:none;stroke:var(--good);stroke-width:3px}@keyframes viz-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.viz .viz-table{--tcell:clamp(20px, calc((100cqw - var(--head,40px) - 22px) / var(--cols,8) - 4px), 34px);border-collapse:separate;border-spacing:3px;font-family:var(--mono);margin:0 auto;font-size:14px;font-weight:800;display:table}.viz .viz-table th{text-align:center;color:var(--hint);white-space:nowrap;background:0 0;border:0;padding:0 4px;font-size:11px;font-weight:700}.viz .viz-table tbody th{text-align:right}.viz .viz-table td{min-width:var(--tcell);height:var(--tcell);text-align:center;font-size:clamp(11px, calc(var(--tcell) * .42), 14px);border-radius:calc(var(--tcell) * .27);border:2px solid var(--border);background:var(--surface);transition:background var(--dur-2), border-color var(--dur-2), transform var(--dur-2), box-shadow var(--dur-2);padding:0 2px}.viz .viz-table td[data-s=dim]{opacity:.4;background:0 0;border-style:dashed}.viz .viz-table td[data-s=range]{border-color:var(--olymp);background:var(--olymp-soft)}.viz .viz-table td[data-s=found]{border-color:var(--good);background:var(--good);color:var(--surface)}.viz .viz-table td[data-from]{border-color:var(--star);background:color-mix(in srgb, var(--star) 22%, var(--surface))}.viz .viz-table td[data-cur]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--glow);transform:scale(1.1)}.hero-avatar{cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0;position:relative}.hero-avatar-edit{background:var(--surface);width:24px;height:24px;color:var(--accent);box-shadow:var(--shadow);border-radius:50%;place-items:center;font-size:13px;display:grid;position:absolute;bottom:4px;right:-2px}.avatar-preview{justify-content:center;padding:8px 0 4px;display:flex}.avatar-h{color:var(--text-2);margin:4px 0 0;font-size:14px}.avatar-options{flex-wrap:wrap;gap:10px;display:flex}.avatar-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:42px;height:42px;position:relative;box-shadow:inset 0 -4px #00000026}.avatar-swatch:disabled{cursor:not-allowed;opacity:.45}.avatar-lock{color:#fff;place-items:center;font-size:13px;font-weight:900;display:grid;position:absolute;inset:0}.avatar-acc{border:2px solid var(--border);background:var(--surface);width:76px;color:var(--text);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.avatar-acc:disabled{cursor:not-allowed;opacity:.5}.avatar-selected{box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent)!important}.game-mission>*{flex-shrink:0}.welcome-title{text-align:center;margin:0;font-size:20px}.welcome-text{text-align:center;color:var(--text-2);margin:0;line-height:1.5}.welcome-dots{gap:6px;display:flex}.welcome-dots span{background:var(--border-strong);border-radius:50%;width:8px;height:8px;transition:width .2s,background .2s}.welcome-dots .welcome-dot-on{background:var(--accent);border-radius:4px;width:22px}.bad-text{color:var(--bad);font-weight:600}.md-inline code{font:.92em var(--mono);background:var(--io-bg);border-radius:6px;padding:1px 5px}@media (hover:none){.hide-touch{display:none!important}}.arcade-page,.bug-page,.blitz-page{flex-direction:column;gap:16px;display:flex}.arcade-page>*,.bug-page>*,.blitz-page>*{flex-shrink:0}.arcade-hero{isolation:isolate;border-radius:var(--radius-lg);background:radial-gradient(70% 90% at 100% 0%, color-mix(in srgb, var(--fun-1) 55%, transparent), transparent 70%), var(--gradient);color:var(--on-gradient);box-shadow:0 18px 44px var(--glow), var(--highlight);flex-direction:column;gap:14px;padding:20px;display:flex;position:relative;overflow:clip}.arcade-hero:before{content:"";z-index:-1;background-image:radial-gradient(color-mix(in srgb, var(--on-gradient) 16%, transparent) 1px, transparent 1.5px);pointer-events:none;background-size:18px 18px;position:absolute;inset:0;-webkit-mask:linear-gradient(115deg,#0000 35%,currentColor 80%);mask:linear-gradient(115deg,#0000 35%,currentColor 80%)}:root[data-palette=contrast] .arcade-hero:before{display:none}.arcade-hero-top{align-items:center;gap:14px;display:flex}.arcade-hero h1{font:700 24px/1.2 var(--font-display);letter-spacing:-.02em;margin:0}.arcade-hero-sub{opacity:.92;margin:4px 0 0;font-size:14px}@media (width<=480px){.arcade-hero{padding:16px}.arcade-hero-top .mascot{width:60px;height:60px}.arcade-hero h1{font-size:21px}}.arcade-stats{margin:0}.arcade-modes{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}@media (width>=640px){.arcade-modes{grid-template-columns:repeat(2,minmax(0,1fr))}}.arcade-mode{--tone:var(--accent);background:var(--surface);color:var(--text);box-shadow:0 10px 24px color-mix(in srgb, var(--text) 16%, transparent);transition:transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-2);border-radius:18px;align-items:center;gap:12px;padding:10px 12px 10px 10px;display:flex}.arcade-mode:hover{transform:translateY(-2px)}.arcade-mode:active{transform:scale(.98)}.arcade-mode-blitz{--tone:var(--fun-2)}.arcade-mode-icon{background:var(--tone);height:42px;color:var(--surface);border-radius:14px;flex:0 0 42px;place-items:center;display:grid}.arcade-mode-icon svg{width:22px;height:22px}.arcade-mode-text{flex-direction:column;flex:1;min-width:0;display:flex}.arcade-mode-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:11.5px;font-weight:750}.arcade-mode-blitz .arcade-mode-label{color:var(--warn)}.arcade-mode-title{white-space:nowrap;text-overflow:ellipsis;font-weight:750;overflow:hidden}.arcade-mode-arrow{width:20px;height:20px;color:var(--hint);transition:transform var(--dur-2) var(--ease-spring)}.arcade-mode:hover .arcade-mode-arrow{transform:translate(3px)}.arcade-page .section-title svg{color:var(--accent)}.arcade-columns,.arcade-bugs,.arcade-blitz{flex-direction:column;gap:12px;min-width:0;display:flex}.arcade-columns{gap:24px}@media (width>=1100px){.arcade-columns{grid-template-columns:minmax(0,1fr) 360px;align-items:start;display:grid}.arcade-blitz{position:sticky;top:0}}.arcade-note{margin:0}.arcade-progress{height:6px}.arcade-levels{flex-wrap:wrap}.arcade-levels .art-pick{align-items:center;gap:6px;display:inline-flex}.level-dot{background:var(--tone);border-radius:50%;flex:none;width:8px;height:8px}.level-1{--tone:var(--fun-4)}.level-2{--tone:var(--fun-1)}.level-3{--tone:var(--olymp)}.bug-grid,.blitz-grid{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}@media (width>=640px){.bug-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blitz-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=639px){.blitz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.blitz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.bug-tile{min-height:var(--tap);border-radius:var(--radius-sm);border:var(--bw) solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:10px;padding:10px 14px 10px 10px;text-decoration:none;display:flex}.bug-tile-icon{background:var(--accent-soft);height:34px;color:var(--accent);border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.bug-tile-solved{border-color:color-mix(in srgb, var(--good) 30%, var(--border));background:linear-gradient(120deg, var(--good-soft), var(--surface) 70%)}.bug-tile-solved .bug-tile-icon{background:var(--good);color:var(--surface)}.bug-tile-revealed .bug-tile-icon{background:var(--warn-soft);color:var(--warn)}.blitz-tile{--tint:var(--fun-1);border-radius:var(--radius);border:var(--bw) solid color-mix(in srgb, var(--tint) 24%, var(--border));background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--tint) 16%, transparent), transparent 60%), var(--surface);color:var(--text);box-shadow:var(--shadow-sm), var(--highlight);flex-direction:column;gap:4px;padding:12px;text-decoration:none;display:flex;position:relative}.blitz-tone-2{--tint:var(--fun-2)}.blitz-tone-3{--tint:var(--fun-3)}.blitz-tone-4{--tint:var(--fun-4)}.blitz-passed{border-color:color-mix(in srgb, var(--star) 50%, var(--border))}.blitz-perfect{--tint:var(--star);border-color:var(--star)}.blitz-medal{background:color-mix(in srgb, var(--tint) 16%, var(--surface));border-radius:13px;place-items:center;width:40px;height:40px;margin-bottom:4px;font-size:22px;line-height:1;display:grid}.blitz-meter{border-radius:var(--r-pill);background:var(--surface-3);height:4px;margin-top:auto;overflow:hidden}.blitz-tile .blitz-meter{margin-top:6px}.blitz-meter i{border-radius:inherit;background:var(--tint);height:100%;display:block}.bug-task{padding:14px 16px}.bug-title{margin:8px 0 2px;font-size:20px}.bug-status{align-items:center;gap:10px;display:flex}.bug-hearts{gap:2px;display:inline-flex}.heart-on{color:var(--bad)}.heart-off{color:var(--border-strong)}.bug-code{border-radius:var(--radius);border:var(--bw) solid var(--border);background:var(--code-bg);font:14px/1.55 var(--mono);font-variant-ligatures:none;flex-direction:column;padding:0;display:flex;overflow-x:auto}.bug-line{min-width:max-content;min-height:30px;color:var(--text);font:inherit;text-align:left;white-space:pre;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0 14px 0 0;transition:background .15s;display:flex}button.bug-line{cursor:pointer}@media (pointer:coarse){.bug-line{min-height:36px}}button.bug-line:hover{background:var(--code-active)}.bug-ln{background:var(--surface-2);border-right:var(--bw) solid var(--border);color:var(--hint);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex:0 0 42px;justify-content:flex-end;align-self:stretch;align-items:center;margin-right:12px;padding-right:10px;display:flex}.bug-line-selected .bug-ln{background:var(--accent);border-right-color:var(--accent);color:var(--on-accent);font-weight:700}.bug-line-miss .bug-ln{color:var(--bad)}.bug-line-hit .bug-ln{background:var(--good);color:var(--surface)}.bug-line-selected{box-shadow:inset 3px 0 0 var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent)!important}.bug-line-miss{background:var(--bad-soft);box-shadow:inset 3px 0 0 var(--bad);-webkit-text-decoration:line-through wavy color-mix(in srgb, var(--bad) 45%, transparent);text-decoration:line-through wavy color-mix(in srgb, var(--bad) 45%, transparent)}.bug-line-hit{background:var(--good-soft);box-shadow:inset 3px 0 0 var(--good);animation:.6s bug-hit}.bug-line-answer{background:var(--warn-soft);box-shadow:inset 3px 0 0 var(--warn)}@keyframes bug-hit{30%{transform:scale(1.02)}}.syn-keyword{color:var(--syn-keyword);font-weight:600}.syn-type{color:var(--syn-type)}.syn-string{color:var(--syn-string)}.syn-number{color:var(--syn-number)}.syn-comment{color:var(--syn-comment);font-style:italic}.syn-macro{color:var(--syn-macro)}.syn-func{color:var(--syn-func)}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.bug-reveal{border-left:4px solid var(--warn);padding:14px 16px}.bug-reveal-good{border-left-color:var(--good)}.bug-reveal-title{margin:0 0 4px;font-size:17px}.bug-diff{border-radius:var(--radius-sm);font:13.5px/1.6 var(--mono);flex-direction:column;margin-top:8px;display:flex;overflow-x:auto}.bug-diff>div{white-space:pre;gap:10px;padding:3px 10px;display:flex}.bug-diff code{font:inherit;background:0 0;padding:0}.bug-diff-del{background:var(--bad-soft);color:var(--bad)}.bug-diff-del code{text-decoration:line-through}.bug-diff-add{background:var(--good-soft);color:var(--good)}.bug-actions{padding:8px 0 max(8px, var(--safe-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);position:sticky;bottom:0}.blitz-page{max-width:760px}.blitz-intro{isolation:isolate;text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 18px 20px;display:flex;position:relative;overflow:clip}.blitz-intro:before{content:"";z-index:-1;background:radial-gradient(60% 120% at 20% 0%, color-mix(in srgb, var(--fun-2) 22%, transparent), transparent 70%), radial-gradient(60% 120% at 80% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);pointer-events:none;height:110px;position:absolute;top:0;left:0;right:0}.blitz-badge{background:var(--gradient);width:124px;height:124px;box-shadow:0 14px 34px var(--glow), inset 0 0 0 6px color-mix(in srgb, var(--surface) 35%, transparent);border-radius:50%;place-items:center;display:grid}.blitz-intro h1{font:700 24px/1.2 var(--font-display);letter-spacing:-.02em;margin:0}.blitz-rules{text-align:left;gap:8px;width:100%;max-width:460px;margin:0;padding:0;list-style:none;display:grid}.blitz-rules li{border-radius:var(--radius-sm);background:var(--surface-2);border:var(--bw) solid var(--border);align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.blitz-rules svg{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:10px;flex:none;padding:7px}.blitz-rules li:nth-child(2) svg{background:var(--warn-soft);color:var(--warn)}.blitz-rules li:nth-child(3) svg{background:var(--good-soft);color:var(--good)}.blitz-go{max-width:460px;min-height:52px;font-size:18px}.blitz-final{font:800 60px/1 var(--font-display);letter-spacing:-.03em;background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;animation:.6s cubic-bezier(.34,1.56,.64,1) both star-pop}.blitz-hud{border-radius:var(--r-pill);background:var(--surface-glass);border:var(--bw) solid var(--border);box-shadow:var(--shadow-sm), var(--highlight);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:10px;padding:8px 8px 8px 14px;font-weight:700;display:flex}.blitz-progress{color:var(--hint);font-variant-numeric:tabular-nums}.blitz-combo{color:var(--hint);align-items:center;gap:3px;margin-left:auto;display:inline-flex}.blitz-combo-on{color:var(--warn);animation:.4s both star-pop}.blitz-score{border-radius:var(--r-pill);background:var(--gradient);min-width:72px;color:var(--on-gradient);text-align:center;font-variant-numeric:tabular-nums;padding:4px 14px;position:relative}.blitz-gain{color:var(--good);pointer-events:none;font-size:13px;animation:1s both gain-float;position:absolute;top:-14px;right:8px}@keyframes gain-float{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-22px)}}.blitz-timer{border-radius:var(--r-pill);background:var(--io-bg);height:10px;overflow:hidden}.blitz-timer>div{border-radius:inherit;background:linear-gradient(90deg, var(--bad), var(--star) 30%, var(--fun-4) 60%);transform-origin:0;background-size:100vw 100%;height:100%}.blitz-timer-run{animation:linear both blitz-timer}.blitz-timer-stop{animation:linear both paused blitz-timer}@keyframes blitz-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.blitz-question{padding:20px 18px;font-size:18px;font-weight:600}.blitz-question .md p{margin:0}.blitz-options{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}@media (width>=640px){.blitz-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.blitz-opt{--tone:var(--fun-1);border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);min-height:60px;color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:12px;padding:10px 14px 10px 10px;font-size:16px;font-weight:600;transition:transform .1s,border-color .15s,background .15s,opacity .2s;display:flex}.blitz-opt-2{--tone:var(--fun-2)}.blitz-opt-3{--tone:var(--fun-3)}.blitz-opt-4{--tone:var(--fun-4)}.blitz-opt:not(:disabled):hover{border-color:var(--tone);background:color-mix(in srgb, var(--tone) 6%, var(--surface))}.blitz-opt:not(:disabled):active{transform:scale(.98)}.blitz-opt:disabled{cursor:default;color:var(--text)}.blitz-opt-key{background:var(--tone);height:34px;color:var(--surface);font:700 15px var(--font-display);border-radius:11px;flex:0 0 34px;place-items:center;display:grid}.blitz-opt-good{border-color:var(--good);background:var(--good-soft);animation:.35s both star-pop}.blitz-opt-good .blitz-opt-key{background:var(--good)}.blitz-opt-bad{border-color:var(--bad);background:var(--bad-soft);animation:.4s shake}.blitz-opt-bad .blitz-opt-key{background:var(--bad)}.blitz-opt-dim{opacity:.5}.blitz-feedback{border-radius:var(--radius);border-left:4px solid var(--tone);background:color-mix(in srgb, var(--tone) 9%, var(--surface));flex-direction:column;gap:6px;padding:12px 14px 12px 16px;display:flex}.blitz-feedback .md p{margin:0}.blitz-feedback-good{--tone:var(--good)}.blitz-feedback-bad{--tone:var(--bad)}.blitz-feedback>b{color:var(--tone)}.blitz-miss{border-left:4px solid var(--bad);flex-direction:column;gap:6px;margin-top:8px;padding:12px 14px;display:flex}.blitz-miss .md p{margin:0}@media (prefers-reduced-motion:reduce){.shake,.bug-line-hit,.blitz-opt-good,.blitz-opt-bad,.blitz-combo-on,.blitz-gain,.blitz-final{animation:none}}.mode-card-arcade{background:linear-gradient(135deg, color-mix(in srgb, var(--fun-4) 14%, var(--surface)), color-mix(in srgb, var(--accent) 12%, var(--surface)))}.mode-card-detective{background:linear-gradient(135deg, color-mix(in srgb, var(--fun-2) 16%, var(--surface)), color-mix(in srgb, var(--accent) 12%, var(--surface)))}.mode-card-beat{background:linear-gradient(135deg, color-mix(in srgb, var(--fun-3) 16%, var(--surface)), color-mix(in srgb, var(--fun-1) 12%, var(--surface)))}.cm-doc{max-width:min(420px,86vw);font-family:var(--font);color:var(--text);flex-direction:column;gap:4px;font-size:13px;line-height:1.45;display:flex}.cm-doc-sig{font:12.5px/1.4 var(--mono);color:var(--syn-func);white-space:pre-wrap}.cm-doc-text{margin:0}.cm-doc-meta{color:var(--hint);margin:0;font-size:12px}.cm-doc-example{background:var(--io-bg);font:12px/1.45 var(--mono);white-space:pre;border-radius:8px;margin:2px 0 0;padding:6px 8px;overflow-x:auto}.cm-tooltip-hover,.cm-tooltip.cm-completionInfo{box-shadow:var(--shadow-lg);border-radius:12px;border:var(--bw) solid var(--border-strong)!important;background:var(--surface)!important;padding:10px 12px!important}@media (width<=640px){.cm-tooltip.cm-completionInfo{display:none}}.editor-help{border-top:var(--bw) solid var(--border);background:var(--info-soft);flex-shrink:0;max-height:34vh;padding:10px 44px 10px 12px;animation:.2s fade;position:relative;overflow-y:auto}.editor-help .cm-doc{max-width:none}.editor-help-name{font-family:var(--mono);color:var(--accent)}.editor-help code{font-family:var(--mono)}.editor-help-close{position:absolute;top:6px;right:6px}@media (width<=520px){.bug-code{font-size:13px}.bug-line{align-items:stretch;min-width:0;padding-right:10px}.bug-text{padding:4px 0}.bug-ln{flex-basis:34px;align-items:flex-start;margin-right:8px;padding-top:4px;padding-right:8px}.bug-text,.bug-diff>div{white-space:pre-wrap;overflow-wrap:anywhere}.bug-text{flex:1;min-width:0}.md pre.code-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.md pre.code-wrap .code-line{padding-left:min(var(--hang,0ch), 50%);text-indent:calc(-1 * min(var(--hang,0ch), 50%));display:block}.check-code-line,.trace-line{--ln:38px;padding-left:calc(var(--ln) + min(var(--hang,0ch), 50%));text-indent:calc(-1 * (var(--ln) + min(var(--hang,0ch), 50%)));white-space:pre-wrap;overflow-wrap:anywhere}.check-code-line:before,.trace-line:before{text-indent:0;width:28px;padding-right:10px}.order-fixed .check-code-line{--ln:0px}.check-code-line .fill-gap{text-indent:0}.order-line{padding-left:calc(12px + min(var(--hang,0ch), 50%));text-indent:calc(-1 * min(var(--hang,0ch), 50%));white-space:pre-wrap;overflow-wrap:anywhere}}.shell{--rail:76px;isolation:isolate;background:var(--bg);height:100%;display:flex;position:relative;overflow:clip}.shell:before{content:"";z-index:-1;background:var(--bg-stars), var(--bg-mesh);pointer-events:none;position:absolute;inset:0}.sidebar{display:none}.shell-main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;position:relative}.shell-content{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex:1;min-height:0;overflow:hidden auto}.has-nav .shell-content{padding-bottom:calc(84px + var(--safe-bottom))}:root[data-keyboard=open] .has-nav .shell-content{padding-bottom:0}.shell-full .shell-content{overflow:hidden}[data-tone]{--tone:var(--accent)}[data-tone=practice]{--tone:var(--fun-1)}[data-tone=olymp]{--tone:var(--olymp)}[data-tone=play]{--tone:var(--fun-3)}[data-tone=teacher]{--tone:var(--fun-2)}.bottom-nav{--n:6;left:10px;right:10px;bottom:calc(8px + var(--safe-bottom));z-index:30;border:var(--bw) solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%)blur(18px);box-shadow:var(--shadow-lg), var(--highlight);transition:transform var(--dur-3) var(--ease-out), opacity var(--dur-2);border-radius:24px;padding:6px;display:flex;position:absolute}.bottom-nav.nav-hidden{transform:translateY(calc(100% + 16px + var(--safe-bottom)));opacity:0;pointer-events:none}.bottom-nav:before{content:"";width:calc((100% - 12px) / var(--n));background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent);transform:translateX(calc(100% * var(--i,0)));transition:transform var(--dur-3) var(--ease-spring), opacity var(--dur-2);border-radius:18px;position:absolute;top:6px;bottom:6px;left:6px}.bottom-nav[data-none]:before{opacity:0}:root[data-keyboard=open] .bottom-nav{display:none}@media (width>=640px){.bottom-nav{width:min(600px,100% - 20px);left:50%;right:auto;transform:translate(-50%)}.bottom-nav.nav-hidden{transform:translateX(-50%) translateY(calc(100% + 16px + var(--safe-bottom)))}}.nav-item{letter-spacing:-.01em;min-width:0;color:var(--hint);cursor:pointer;transition:color var(--dur-2);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;margin:0;padding:7px 0 6px;font-size:11px;font-weight:650;display:flex;position:relative}.nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav-item svg{width:22px;height:22px;transition:transform var(--dur-3) var(--ease-spring)}.nav-item:active svg{transform:scale(.88)}.nav-active{color:var(--accent)}.nav-active svg{transform:translateY(-1px)scale(1.12)}@media (width<=420px){.bottom-nav{padding:5px;left:8px;right:8px}.bottom-nav:before{width:calc((100% - 10px) / var(--n));top:5px;bottom:5px;left:5px}.nav-item{font-size:10.5px}}@media (height<=500px) and (orientation:landscape){.nav-item{padding:5px 0}.nav-item span{display:none}.has-nav .shell-content{padding-bottom:calc(60px + var(--safe-bottom))}}.menu-sheet{flex-direction:column;gap:18px;display:flex}.menu-me{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--gradient-soft);color:var(--text);transition:transform var(--dur-2) var(--ease-spring);align-items:center;gap:12px;padding:12px 14px 12px 12px;display:flex}.menu-me:active{transform:scale(.98)}.menu-me-avatar{width:46px;height:46px;font-size:16px}.menu-me-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.menu-me-text b{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:750;overflow:hidden}.menu-me-text span{color:var(--hint);font-size:12.5px}.menu-me-arrow{width:18px;height:18px;color:var(--hint);flex-shrink:0}.menu-search{border:var(--bw) solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);min-height:46px;color:var(--hint);font:500 15px var(--font);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:0 16px;display:flex}.menu-search svg{flex-shrink:0;width:18px;height:18px}.menu-title{letter-spacing:.08em;text-transform:uppercase;color:var(--hint);margin:0 2px 8px;font-size:11px;font-weight:750}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=560px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.menu-tile{border:var(--bw) solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:58px;color:var(--text);transition:background var(--dur-1), border-color var(--dur-1), transform var(--dur-2) var(--ease-spring);align-items:center;gap:10px;padding:8px 10px 8px 8px;font-weight:650;line-height:1.2;display:flex}.menu-tile:active{transform:scale(.96)}.menu-tile-icon{background:color-mix(in srgb, var(--tone) 13%, var(--surface));width:38px;height:38px;color:var(--tone);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.menu-tile-icon svg{width:20px;height:20px}.menu-tile-text{flex-direction:column;gap:2px;min-width:0;display:flex}.menu-tile-hint{-webkit-line-clamp:2;line-clamp:2;color:var(--hint);-webkit-box-orient:vertical;font-size:11.5px;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}.menu-tile-active{border-color:color-mix(in srgb, var(--tone,var(--accent)) 35%, var(--border));background:color-mix(in srgb, var(--tone,var(--accent)) 9%, var(--surface))}.menu-tile-active .menu-tile-icon{background:var(--tone);color:var(--surface)}.menu-actions{flex-wrap:wrap;gap:8px;display:flex}.menu-action{border:var(--bw) solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-height:48px;color:var(--text);font:650 14.5px var(--font);cursor:pointer;transition:background var(--dur-1), color var(--dur-1);flex:140px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:flex}.menu-action svg{width:18px;height:18px}.menu-logout{color:var(--bad)}.menu-logout.logout-armed{background:var(--bad);color:var(--surface);border-color:#0000}@media (width>=1024px),(width>=768px) and (hover:hover) and (pointer:fine){.has-nav .shell-content{padding-bottom:0}.bottom-nav{display:none}.sidebar{width:var(--sidebar);background:var(--surface-glass);-webkit-backdrop-filter:saturate(160%)blur(20px);border-right:var(--bw) solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;transition:width var(--dur-2) var(--ease-out), padding var(--dur-2) var(--ease-out);flex-direction:column;flex-shrink:0;gap:2px;padding:16px 14px 14px;display:flex;overflow:hidden auto}.side-top{align-items:center;gap:6px;padding:0 0 14px;display:flex}.brand{border-radius:var(--r-sm);min-width:0;color:var(--text);font:700 17px var(--font-display);letter-spacing:-.02em;white-space:nowrap;flex:1;align-items:center;gap:10px;padding:2px 6px;display:flex}.brand .logo-mark{transition:transform var(--dur-3) var(--ease-spring);flex-shrink:0}.brand:hover .logo-mark{transform:rotate(-8deg)scale(1.06)}.side-toggle{width:34px;height:34px;color:var(--hint);cursor:pointer;transition:background var(--dur-1), color var(--dur-1);background:0 0;border:0;border-radius:10px;flex-shrink:0;place-items:center;padding:0;display:grid}.side-toggle:hover{background:var(--surface-2);color:var(--text)}.side-toggle svg{width:19px;height:19px}.side-search{border:var(--bw) solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);height:38px;color:var(--hint);font:500 14px var(--font);cursor:pointer;transition:border-color var(--dur-1), color var(--dur-1);align-items:center;gap:9px;margin:0 0 6px;padding:0 8px 0 11px;display:flex}.side-search:hover{border-color:var(--border-strong);color:var(--text-2)}.side-search svg{flex-shrink:0;width:17px;height:17px}.side-search-text{text-align:left;flex:1}.side-search kbd{border:var(--bw) solid var(--border-strong);background:var(--surface);color:var(--hint);font:600 11px var(--mono);border-bottom-width:2px;border-radius:6px;padding:1px 6px}.side-group{flex-direction:column;gap:2px;display:flex}.side-link{border-radius:var(--r-sm);color:var(--text);transition:background var(--dur-1), color var(--dur-1);align-items:center;gap:11px;padding:6px 10px 6px 6px;font-weight:650;line-height:1.25;display:flex;position:relative}.side-icon{background:color-mix(in srgb, var(--tone) 13%, var(--surface));width:34px;height:34px;color:var(--tone);transition:background var(--dur-2), color var(--dur-2), transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.side-icon svg{width:19px;height:19px}.side-text{white-space:nowrap;flex-direction:column;min-width:0;display:flex}.side-hint{color:var(--hint);text-overflow:ellipsis;font-size:11.5px;font-weight:500;overflow:hidden}.side-link:hover{background:color-mix(in srgb, var(--tone) 7%, transparent)}.side-link:hover .side-icon{transform:scale(1.06)}.side-active,.side-active:hover{background:color-mix(in srgb, var(--tone) 12%, var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 22%, transparent)}.side-active .side-icon{background:var(--tone);color:var(--surface);box-shadow:0 4px 12px color-mix(in srgb, var(--tone) 40%, transparent)}.side-section{letter-spacing:.08em;text-transform:uppercase;color:var(--hint);white-space:nowrap;margin:14px 10px 4px;font-size:11px;font-weight:750}.side-group:first-of-type .side-section{margin-top:0}.side-section-btn{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;display:flex}.side-section-btn:hover{color:var(--text-2)}.side-section-btn svg{width:14px;height:14px;transition:transform var(--dur-2) var(--ease-out);margin-left:auto}.side-section-btn[aria-expanded=false] svg{transform:rotate(-90deg)}.side-dot{background:var(--tone);border-radius:50%;width:6px;height:6px}.side-collapse{transition:grid-template-rows var(--dur-3) var(--ease-out);grid-template-rows:1fr;display:grid}.side-collapse[data-closed]{grid-template-rows:0fr}.side-collapse>div{flex-direction:column;gap:2px;min-height:0;display:flex;overflow:hidden}.side-user{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:6px;margin-top:auto;padding:10px;display:flex}.side-group:nth-last-child(2){margin-bottom:12px}.side-user .icon-btn{flex-shrink:0;width:34px;height:34px}.side-user .icon-btn svg{width:18px;height:18px}.side-user .logout-armed{background:var(--bad-soft);color:var(--bad)}.side-user-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-left:2px;font-weight:650;line-height:1.25;overflow:hidden}.shell[data-side=rail] .sidebar{width:var(--rail);align-items:center;padding:14px 10px 12px}.shell[data-side=rail] .side-top{flex-direction:column;gap:4px;padding-bottom:8px}.shell[data-side=rail] .brand{flex:none;padding:2px}.shell[data-side=rail] .brand-name,.shell[data-side=rail] .side-search-text,.shell[data-side=rail] .side-search kbd,.shell[data-side=rail] .side-section,.shell[data-side=rail] .side-user-name{display:none}.shell[data-side=rail] .side-search{justify-content:center;width:46px;height:40px;padding:0}.shell[data-side=rail] .side-group{align-items:center;width:100%}.shell[data-side=rail] .side-group+.side-group{border-top:var(--bw) solid var(--border);margin-top:6px;padding-top:6px}.shell[data-side=rail] .side-collapse{width:100%}.shell[data-side=rail] .side-collapse>div{align-items:center;overflow:visible}.shell[data-side=rail] .side-link{justify-content:center;width:52px;padding:5px}.shell[data-side=rail] .side-text{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.shell[data-side=rail] .side-user{flex-direction:column;gap:4px;padding:6px}.rail-tip{left:calc(var(--rail) + 6px);z-index:60;background:var(--text);color:var(--surface);font:650 13px/1.3 var(--font);white-space:nowrap;box-shadow:var(--shadow-lg);pointer-events:none;animation:rail-tip-in .14s var(--ease-out);border-radius:10px;flex-direction:column;padding:6px 11px;display:flex;position:fixed;transform:translateY(-50%)}.rail-tip span{opacity:.72;font-size:11.5px;font-weight:500}.rail-tip:before{content:"";background:inherit;border-radius:2px;width:9px;height:9px;position:absolute;top:50%;left:-4px;transform:translateY(-50%)rotate(45deg)}}@keyframes rail-tip-in{0%{opacity:0;translate:-4px}}@media (width>=1024px) and (height<=820px),(width>=768px) and (hover:hover) and (pointer:fine) and (height<=820px){.side-hint{display:none}.side-icon{border-radius:9px;width:30px;height:30px}.side-icon svg{width:17px;height:17px}.side-section{margin-top:10px}.side-top{padding-bottom:10px}}.nav-search-backdrop{z-index:70;padding:calc(var(--safe-top) + 10px) 10px 10px;background:var(--backdrop);-webkit-backdrop-filter:blur(6px);animation:fade var(--dur-2) ease;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}@media (width>=720px){.nav-search-backdrop{padding-top:12vh}}.nav-search{width:min(640px,100%);max-height:min(580px, calc(var(--app-height,100dvh) - 24px));border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg), var(--highlight);animation:nav-search-in .2s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}@keyframes nav-search-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}}.nav-search-field{border-bottom:var(--bw) solid var(--border);color:var(--hint);align-items:center;gap:10px;padding:10px 12px 10px 16px;display:flex}.nav-search-field>svg{flex-shrink:0;width:20px;height:20px}.nav-search-field input{min-width:0;min-height:34px;color:var(--text);font:500 16px/1.3 var(--font);background:0 0;border:0;outline:none;flex:1}.nav-search-field input::placeholder{color:var(--hint)}.nav-search-esc{border:var(--bw) solid var(--border-strong);background:var(--surface-2);color:var(--hint);font:600 11.5px var(--mono);cursor:pointer;border-bottom-width:2px;border-radius:7px;padding:3px 8px}.nav-search-list{overscroll-behavior:contain;padding:4px 6px 8px;overflow-y:auto}.nav-search-group{letter-spacing:.08em;text-transform:uppercase;color:var(--hint);padding:12px 10px 4px;font-size:11px;font-weight:750}.nav-search-item{border-radius:var(--r-sm);min-height:44px;color:var(--text);cursor:pointer;align-items:center;gap:11px;padding:5px 10px 5px 6px;display:flex}.nav-search-item[aria-selected=true]{background:var(--accent-soft)}.nav-search-icon{background:var(--surface-2);width:32px;height:32px;color:var(--hint);transition:background var(--dur-1), color var(--dur-1);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.nav-search-icon svg{width:17px;height:17px}.nav-search-item[aria-selected=true] .nav-search-icon{background:var(--accent);color:var(--on-accent)}.nav-search-label{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:650;overflow:hidden}.nav-search-hint{min-width:0;color:var(--hint);text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;font-size:12.5px;overflow:hidden}.nav-search-enter{width:16px;height:16px;color:var(--accent);opacity:0;flex-shrink:0;margin-left:auto}.nav-search-item[aria-selected=true] .nav-search-enter{opacity:1}.nav-search-empty{text-align:center;color:var(--hint);padding:32px 16px}.nav-search-foot{border-top:var(--bw) solid var(--border);background:var(--surface-2);color:var(--hint);gap:18px;padding:8px 16px;font-size:12px;display:flex}.nav-search-foot kbd{border:var(--bw) solid var(--border-strong);background:var(--surface);min-width:1.7em;font:600 11px/1.5 var(--mono);text-align:center;border-bottom-width:2px;border-radius:5px;margin-right:3px;padding:0 4px;display:inline-block}@media (pointer:coarse){.nav-search-foot,.nav-search-enter,.nav-search-esc{display:none}}:root{--code-auto:14px;--code:var(--code-size,var(--code-auto))}@media (width<=520px){:root{--code-auto:13px}}.size-controls{flex-direction:column;gap:10px;display:flex}.size-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.size-label{font-weight:650}.size-stepper{border:var(--bw) solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);align-items:center;padding:3px;display:inline-flex}.size-btn{border-radius:var(--r-pill);background:var(--surface);width:40px;height:36px;color:var(--accent);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--dur-2) var(--ease-spring), opacity var(--dur-1);border:0;place-items:center;padding:0;display:grid}.size-btn:active:not(:disabled){transform:scale(.9)}.size-btn:disabled{opacity:.35;cursor:default;box-shadow:none}.size-btn svg{width:17px;height:17px}.size-value{text-align:center;font-variant-numeric:tabular-nums;min-width:74px;font-weight:700}.size-sample{border:var(--bw) dashed var(--border-strong);border-radius:var(--r-sm);background:var(--surface);padding:12px 14px}.size-sample p{margin:0 0 8px}.size-sample pre{margin:0}.size-reset{align-self:flex-start}.topbar-bare{margin-bottom:-56px}.topbar-bare:not(.topbar-scrolled){-webkit-backdrop-filter:none;pointer-events:none;background:0 0}.topbar-bare+.page{padding-top:max(16px, calc(var(--safe-top) + 10px))}@media (width>=1024px){.topbar-bare+.page{padding-top:28px}}.nowrap{white-space:nowrap}.shell-content:has(>.teacher-subnav){flex-direction:column;display:flex}.shell-content:has(>.teacher-subnav)>*{flex-shrink:0;width:100%}.shell-content>.teacher-subnav{order:1}.shell-content:has(>.teacher-subnav)>:not(.teacher-subnav,.topbar){order:2}.ava{--ring:transparent;width:var(--ava-size,40px);height:var(--ava-size,40px);background:var(--surface-3);box-shadow:0 0 0 calc(var(--ava-size,40px) * .06) var(--ring);isolation:isolate;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid;position:relative;overflow:visible}.ava>.mascot,.ava-photo,.ava-emoji{border-radius:50%}.ava>.mascot{margin-top:calc(var(--ava-size,40px) * .04)}.ava-photo{object-fit:cover;width:100%;height:100%}.ava-emoji{font-size:calc(var(--ava-size,40px) * .56);line-height:1}.ava-frame-bronze{--ring:#c4824a}.ava-frame-silver{--ring:#b8c2cf}.ava-frame-gold{--ring:#f5b40b}.ava-frame-neon{--ring:var(--accent);box-shadow:0 0 0 calc(var(--ava-size,40px) * .05) var(--accent), 0 0 calc(var(--ava-size,40px) * .3) var(--glow)}.ava-frame-bronze:after,.ava-frame-silver:after,.ava-frame-gold:after,.ava-frame-fire:after,.ava-frame-star:after,.ava-frame-rainbow:after{content:"";inset:calc(var(--ava-size,40px) * -.09);z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.ava-frame-bronze:after{background:conic-gradient(from 200deg,#8a5a2b,#e3a46b,#8a5a2b,#c4824a,#8a5a2b)}.ava-frame-silver:after{background:conic-gradient(from 200deg,#7d8794,#f1f5f9,#7d8794,#cbd5e1,#7d8794)}.ava-frame-gold:after{box-shadow:0 0 calc(var(--ava-size,40px) * .25) #f5b40b8c;background:conic-gradient(from 200deg,#b7791f,#fff1a8,#d69e2e,#fde68a,#b7791f)}.ava-frame-bronze,.ava-frame-silver,.ava-frame-gold{box-shadow:0 0 0 calc(var(--ava-size,40px) * .03) var(--surface)}.ava-frame-fire:after{filter:blur(.5px);background:conic-gradient(#ef4444,#f97316,#fde047,#f97316,#ef4444);animation:1.4s ease-in-out infinite ava-flicker}.ava-frame-star:after{background:conic-gradient(#22d3ee,#a78bfa,#22d3ee,#a78bfa,#22d3ee)}.ava-frame-rainbow:after{background:conic-gradient(#ef4444,#f97316,#facc15,#22c55e,#06b6d4,#6366f1,#a855f7,#ef4444);animation:6s linear infinite spin}.ava-frame-fire,.ava-frame-star,.ava-frame-rainbow{box-shadow:0 0 0 calc(var(--ava-size,40px) * .03) var(--surface)}@keyframes ava-flicker{50%{filter:blur(1px)brightness(1.2);transform:scale(1.03)}}.profile-hero{border:var(--bw) solid color-mix(in srgb, var(--accent) 20%, var(--border));border-radius:var(--radius-lg);background:radial-gradient(90% 120% at 0% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 60%), var(--surface);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:18px;padding:20px;display:flex}.profile-name{font:700 24px/1.2 var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0}.profile-meta{color:var(--hint);margin:4px 0 8px;font-size:13px}.nick-edit{border:var(--bw) dashed color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-weight:650;display:inline-flex}.nick-form{flex-direction:column;gap:8px;max-width:420px;display:flex}.nick-locked{color:var(--hint);align-items:center;gap:6px;margin:0;font-size:13px;display:inline-flex}.avatar-editor{flex-direction:column;gap:16px;display:flex}.avatar-stage{border-radius:var(--radius);background:radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 65%);place-items:center;padding:14px 0 6px;display:grid}.avatar-stage .ava{animation:pop .4s var(--ease-spring)}.part-title{color:var(--text-2);margin:0 0 8px;font-size:13px;font-weight:750}.part-options{scrollbar-width:none;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.part-options::-webkit-scrollbar{display:none}.part-option{border:var(--bw) solid var(--border);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;width:78px;transition:border-color var(--dur-1), transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-2);flex-direction:column;flex:none;align-items:center;gap:4px;padding:8px 4px 6px;display:flex;position:relative}.part-option:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--border));transform:translateY(-2px)}.part-option:disabled{cursor:default}.part-option:disabled .part-preview{opacity:.35;filter:grayscale(.8)}.part-active,.part-active:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.part-preview{place-items:center;height:48px;display:grid}.part-name{text-align:center;max-width:100%;color:var(--text-2);font-size:11px;font-weight:650;line-height:1.2}.part-option:disabled .part-name{color:var(--hint);font-weight:550}.part-lock{background:var(--surface-3);width:18px;height:18px;color:var(--hint);border-radius:50%;place-items:center;display:grid;position:absolute;top:5px;right:5px}.part-lock svg{width:11px;height:11px}.bg-dot{border-radius:50%;width:40px;height:40px;display:block;box-shadow:inset 0 0 0 1px #80808040}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{border:3px solid var(--surface);width:40px;height:40px;box-shadow:0 0 0 1px var(--border), inset 0 -4px 0 #00000026;color:#fff;cursor:pointer;transition:transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-2);border-radius:50%;place-items:center;display:grid}.swatch:hover:not(:disabled){transform:scale(1.1)}.swatch:disabled{opacity:.4;cursor:default}.swatch svg{width:15px;height:15px}.swatch-active{box-shadow:0 0 0 3px var(--accent), inset 0 -4px 0 #00000026;transform:scale(1.08)}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;display:grid}.emoji-option{border:var(--bw) solid var(--border);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;height:52px;transition:transform var(--dur-2) var(--ease-spring);font-size:28px}.emoji-option:hover{transform:scale(1.1)}.photo-panel{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.avatar-save{z-index:2;position:sticky;bottom:8px}.ach-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.ach{--tone:var(--border-strong);border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), var(--highlight);align-items:center;gap:12px;padding:12px 14px;display:flex}.ach-tier-1{--tone:#c4824a}.ach-tier-2{--tone:#94a3b8}.ach-tier-3{--tone:#f5b40b}.ach-tier-1,.ach-tier-2,.ach-tier-3{border-color:color-mix(in srgb, var(--tone) 45%, var(--border));background:linear-gradient(140deg, color-mix(in srgb, var(--tone) 12%, var(--surface)), var(--surface) 65%)}.ach-icon{background:color-mix(in srgb, var(--tone) 18%, var(--surface-2));border-radius:15px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.ach:not(.ach-tier-1):not(.ach-tier-2):not(.ach-tier-3) .ach-icon{filter:grayscale();opacity:.6}.ach-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ach-title{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-weight:750;display:flex}.ach-tier-name{letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb, var(--tone) 70%, var(--text));font-size:11px;font-weight:750}.ach-desc,.ach-reward,.ach-done{color:var(--hint);font-size:12.5px}.ach-done{color:var(--good);font-weight:650}.ach-progress{align-items:center;gap:8px;margin-top:4px;display:flex}.ach-bar,.ach-near-bar{background:var(--surface-3);border-radius:3px;flex:1;height:6px;overflow:hidden}.ach-bar>span,.ach-near-bar>span{border-radius:inherit;background:var(--gradient);height:100%;transition:width .6s var(--ease-out);display:block}.ach-count{font-variant-numeric:tabular-nums;color:var(--text-2);font-size:12px;font-weight:700}.ach-medals{flex-direction:column;gap:4px;display:flex}.medal{background:var(--surface-3);width:12px;height:12px;box-shadow:inset 0 0 0 1px var(--border);border-radius:50%}.medal-1.medal-on{background:radial-gradient(circle at 35% 30%,#f0c08f,#8a5a2b)}.medal-2.medal-on{background:radial-gradient(circle at 35% 30%,#f8fafc,#7d8794)}.medal-3.medal-on{background:radial-gradient(circle at 35% 30%,#fff1a8,#b7791f);box-shadow:0 0 6px #f5b40b99}.ach-preview{color:var(--text);flex-direction:column;gap:12px;margin-top:12px;display:flex}.ach-preview-icons{flex-wrap:wrap;gap:8px;display:flex}.ach-mini{--tone:var(--border-strong);border:2px solid var(--tone);background:color-mix(in srgb, var(--tone) 14%, var(--surface));border-radius:13px;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.ach-near{flex-direction:column;gap:8px;display:flex}.ach-near-row{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.ach-near-row .ach-near-bar{flex:0 0 72px}.leader-card{flex-direction:column;gap:10px;margin-top:12px;padding:12px;display:flex}.podium{border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--star) 12%, transparent), transparent);flex-direction:column;align-items:center;gap:6px;padding:10px 6px 0;display:flex}.podium-title{letter-spacing:.07em;text-transform:uppercase;color:var(--hint);font-size:11px;font-weight:750}.podium-steps{justify-content:center;align-items:flex-end;gap:8px;width:100%;display:flex}.podium-step{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;max-width:110px;display:flex}.podium-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:700;overflow:hidden}.podium-block{color:#1f1300;border-radius:10px 10px 0 0;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.podium-block b{font:700 18px/1 var(--font-display)}.podium-block small{opacity:.8;font-size:10.5px;font-weight:650}.podium-1 .podium-block{background:linear-gradient(#fde68a,#f5b40b);height:58px}.podium-2 .podium-block{color:#1e293b;background:linear-gradient(#f1f5f9,#a5b0bf);height:44px}.podium-3 .podium-block{background:linear-gradient(#f3c9a0,#c4824a);height:34px}.leaderboard{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.lb-row{border-radius:12px;align-items:center;gap:10px;padding:7px 8px;display:flex}.lb-row.lb-me{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.lb-name{text-overflow:ellipsis;white-space:nowrap;flex-direction:column;flex:1;min-width:0;font-weight:650;line-height:1.25;display:flex;overflow:hidden}.lb-level{color:var(--hint);font-size:11.5px;font-weight:500}.leader-gap{border-radius:var(--r-sm);background:var(--good-soft);color:var(--good);align-items:center;gap:6px;margin:0;padding:8px 12px;font-size:13px;display:flex}.leader-card .link-btn{align-self:flex-start}.mod-row{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:10px 12px;display:flex}.mod-main{flex-direction:column;flex:1;min-width:0;display:flex}.mod-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}@media (width<=520px){.mod-row{flex-wrap:wrap}.mod-actions{justify-content:flex-start;width:100%}}.side-me{border-radius:50%;display:inline-flex}a.side-user-name{color:var(--text)}a.side-user-name:hover{color:var(--accent)}.hero-avatar{flex-shrink:0;display:inline-flex;position:relative}.topic-icon{--tone:var(--accent);--size:44px;width:var(--size);height:var(--size);border-radius:calc(var(--size) * .3);background:radial-gradient(120% 120% at 0% 0%, color-mix(in srgb, var(--tone) 24%, var(--surface)), color-mix(in srgb, var(--tone) 10%, var(--surface)));color:var(--tone);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 22%, transparent), var(--highlight);transition:transform var(--dur-2) var(--ease-spring);flex-shrink:0;place-items:center;display:inline-grid;position:relative}.topic-icon svg{width:calc(var(--size) * .5);height:calc(var(--size) * .5)}.topic-icon-done{background:linear-gradient(140deg, color-mix(in srgb, var(--tone) 82%, white), var(--tone));color:var(--surface);box-shadow:0 6px 14px color-mix(in srgb, var(--tone) 35%, transparent), inset 0 1px 0 #ffffff40}:root[data-scheme=dark] .topic-icon-done{background:linear-gradient(140deg, var(--tone), color-mix(in srgb, var(--tone) 70%, black));color:var(--bg)}.topic-num{border-radius:var(--r-pill);background:var(--surface);min-width:20px;height:20px;box-shadow:0 0 0 1.5px color-mix(in srgb, var(--tone) 40%, var(--border)), var(--shadow-sm);color:var(--text-2);font:700 11px/20px var(--font);text-align:center;font-variant-numeric:tabular-nums;padding:0 5px;position:absolute;bottom:-5px;right:-5px}.card-hover:hover .topic-icon{transform:rotate(-6deg)scale(1.06)}.topic-status{width:18px;height:18px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:-4px;right:-4px}.topic-status svg{width:11px;height:11px}.topic-status-solved{background:var(--good);color:var(--surface)}.topic-status-tried{background:var(--warn);color:var(--surface)}.page-head{--tone:var(--accent);align-items:center;gap:14px;display:flex}.page-head-icon{background:linear-gradient(140deg, color-mix(in srgb, var(--tone) 80%, white), var(--tone));width:52px;height:52px;color:var(--surface);box-shadow:0 10px 24px color-mix(in srgb, var(--tone) 35%, transparent), inset 0 1px 0 #ffffff4d;border-radius:16px;flex-shrink:0;place-items:center;display:grid}:root[data-scheme=dark] .page-head-icon{background:linear-gradient(140deg, var(--tone), color-mix(in srgb, var(--tone) 65%, black));color:var(--bg)}.page-head-icon svg{width:26px;height:26px}.page-head-text{flex:1;min-width:0}.page-head-text p{color:var(--hint);margin:3px 0 0;font-size:14px}@media (width>=1024px){.page-head-icon{border-radius:18px;width:58px;height:58px}}.section-title svg{width:15px;height:15px;color:var(--accent)}.section-title:has(svg):before{display:none}.skeleton{flex-direction:column;gap:12px;width:100%;max-width:900px;margin:0 auto;padding:18px 14px;display:flex}.skel{border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 70%, transparent);border:var(--bw) solid var(--border);position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 8%, transparent), transparent);animation:1.3s ease-in-out infinite skel;position:absolute;inset:0;transform:translate(-100%)}@keyframes skel{to{transform:translate(100%)}}.skel-hero{border-radius:var(--radius-lg);height:150px}.skel-row{height:64px}.skel-title{border-radius:8px;width:40%;height:26px}.group-title{align-items:center;gap:10px;display:inline-flex}.group-icon{background:var(--gradient);width:30px;height:30px;color:var(--on-gradient);box-shadow:0 4px 12px var(--glow);border-radius:10px;place-items:center;display:grid}.group-icon svg{width:17px;height:17px}.lesson-card .topic-icon{margin:2px 4px 2px 0}.lesson-hero .topic-icon{margin-top:2px}.topbar{transition:border-color var(--dur-2), background var(--dur-2)}.topbar:not(.topbar-scrolled){border-bottom-color:#0000}.topbar-collapse .topbar-title{opacity:0;transition:opacity var(--dur-2), transform var(--dur-2) var(--ease-out);transform:translateY(8px)}.topbar-collapse.topbar-scrolled .topbar-title{opacity:1;transform:none}.lesson-hero-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}@media (width<=560px){.lesson-hero-row{grid-template-columns:auto 1fr auto;grid-template-areas:"icon.ring""text text text";row-gap:10px}.lesson-hero-row>.topic-icon{grid-area:icon}.lesson-hero-row>.ring{grid-area:ring}.lesson-hero-row>.lesson-hero-text{grid-area:text}}.lesson-nav a{flex-direction:row;align-items:center;gap:12px}.lesson-nav-text{flex-direction:column;gap:2px;min-width:0;display:flex}.lesson-nav .next{justify-content:flex-end}.lesson-nav .next .lesson-nav-text{align-items:flex-end}.theory .md>h1:first-child{display:none}.theory .md>h1:first-child+*{margin-top:0}.toc-mobile{padding:0}.toc-mobile summary{cursor:pointer;align-items:center;gap:10px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.toc-mobile summary::-webkit-details-marker{display:none}.toc-mobile summary:before{content:"";background:var(--accent-soft) center / 16px no-repeat;width:30px;height:30px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent);background-image:linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--accent), var(--accent));background-position:8px 10px,8px 14px,8px 18px;background-size:14px 2px,10px 2px,12px 2px;border-radius:10px;-webkit-mask:none}.toc-mobile summary:after{content:"";border-right:2px solid var(--hint);border-bottom:2px solid var(--hint);width:8px;height:8px;transition:transform var(--dur-2) var(--ease-out);margin-left:auto;transform:rotate(45deg)translateY(-2px)}.toc-mobile[open] summary:after{transform:rotate(-135deg)translateY(-2px)}.toc-mobile[open]>div{padding:0 16px 14px;margin-top:0!important}.list>li,.ach-list>li{content-visibility:auto;contain-intrinsic-size:auto 76px}:root[data-effects=lite]{--surface-glass:var(--surface)}:root[data-effects=lite] *,:root[data-effects=lite] :before,:root[data-effects=lite] :after{-webkit-backdrop-filter:none!important}:root[data-effects=lite] .mascot-float,:root[data-effects=lite] .mascot-bulb,:root[data-effects=lite] .mascot-eye,:root[data-effects=lite] .xp-bar>div:after,:root[data-effects=lite] .stat-fire .stat-value svg,:root[data-effects=lite] .hero:before,:root[data-effects=lite] .hero:after,:root[data-effects=lite] .login:before,:root[data-effects=lite] .login-glyphs span,:root[data-effects=lite] .banner-live .banner-icon,:root[data-effects=lite] .ava-frame-fire:after,:root[data-effects=lite] .ava-frame-rainbow:after,:root[data-effects=lite] .skel:after{animation:none!important}:root[data-effects=lite] .btn-primary,:root[data-effects=lite] .btn-gradient,:root[data-effects=lite] .hero{box-shadow:var(--shadow-sm)}.crash-icon{background:var(--warn-soft);width:56px;height:56px;color:var(--warn);border-radius:18px;place-items:center;display:grid}.crash-icon svg{width:28px;height:28px}
