@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2) format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--vh: 1vh}html,body,#root{height:100%}html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,[role=button],a{touch-action:manipulation}.safe-top{padding-top:env(safe-area-inset-top,0px)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-left{padding-left:env(safe-area-inset-left,0px)}.safe-right{padding-right:env(safe-area-inset-right,0px)}.safe-all{padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}html,body{margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button{font-family:inherit}*:focus-visible{outline:2px solid #7c5cff;outline-offset:2px;border-radius:4px}:root{--ink: #15141B;--ink-soft: #2B2A36;--paper: #FFFBF3;--paper-2: #F4EFE3;--paper-3: #ECE4D2;--yellow: #FFD43C;--yellow-ink: #7A5900;--yellow-soft: #FFF0B0;--yellow-deep: #C99E00;--violet: #6B5CE7;--violet-deep: #4A3DC9;--violet-soft: #E4E0FC;--violet-ink: #2A1F8C;--mint: #9FE8C7;--mint-deep: #3DB07A;--mint-soft: #E1F7EC;--mint-ink: #0C4E2E;--pink-br:#FFB4C8;--pink-deep: #E8517B;--pink-soft: #FFE4EC;--pink-ink: #6A1A33;--sky: #A9D8FF;--sky-deep: #3E87E8;--sky-soft: #DFF0FF;--sky-ink: #1A3A6E;--orange: #FF9454;--orange-deep: #D96A24;--orange-soft: #FFE2CE;--orange-ink: #6B2A05;--b-move: var(--violet);--b-move-ink: var(--paper);--b-logic: var(--yellow);--b-logic-ink: var(--yellow-ink);--b-data: var(--mint);--b-data-ink: var(--mint-ink);--b-event: var(--pink-br);--b-event-ink: var(--pink-ink);--b-world: var(--sky);--b-world-ink: var(--sky-ink);--b-sound: var(--orange);--b-sound-ink: var(--orange-ink);--f-display: "Nunito", "Manrope", ui-sans-serif, system-ui, sans-serif;--f-ui: "Nunito", "Manrope", ui-sans-serif, system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-block: 14px;--r-card: 22px;--r-card-lg: 32px;--r-pill: 999px;--sh-1: 0 1px 0 rgba(21,20,27,.08), 0 2px 6px rgba(21,20,27,.06);--sh-2: 0 2px 0 rgba(21,20,27,.1), 0 8px 20px rgba(21,20,27,.08);--sh-3: 0 3px 0 rgba(21,20,27,.14), 0 16px 40px rgba(21,20,27,.1);--sh-press: 0 1px 0 rgba(21,20,27,.14);--sh-block: 0 4px 0 0 rgba(21,20,27,.22);--ease: cubic-bezier(.22,1,.36,1);--bg: #0f1420;--bg-2: #161c2b;--card: #1a2030;--accent: var(--violet);--accent-hover: #8575ff;--pink: var(--pink-deep);--text: #e8eaf2;--muted: #a4a9bc;--err: var(--pink-deep);--ok: var(--mint-deep);--border: rgba(255, 255, 255, .08);--radius: 14px;font-family:var(--f-ui);color:var(--text);background:var(--bg)}.brand-shell{--bg: var(--paper);--bg-2: var(--paper-2);--card: var(--paper);--text: var(--ink);--muted: var(--ink-soft);--border: rgba(21,20,27,.08);background:var(--paper);color:var(--ink);font-family:var(--f-ui);min-height:100vh;background-image:radial-gradient(circle at 16px 16px,rgba(21,20,27,.05) 1.4px,transparent 1.4px);background-size:32px 32px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{background:radial-gradient(circle at top,#202840,#0f1420 60%) fixed}.eyebrow{font-family:var(--f-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft, #2B2A36);opacity:.7;display:block}.h1{font-family:var(--f-display);font-weight:900;font-size:56px;line-height:1;letter-spacing:-.035em;margin:0;color:var(--ink, #15141B)}.h2{font-family:var(--f-display);font-weight:800;font-size:28px;line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--ink, #15141B)}.h3{font-family:var(--f-display);font-weight:800;font-size:20px;letter-spacing:-.015em;margin:0;color:var(--ink, #15141B)}.lead{font-size:18px;color:var(--ink-soft, #2B2A36);line-height:1.55;margin:0}.brand-shell .eyebrow{color:var(--ink-soft)}*,*:before,*:after{scrollbar-width:thin;scrollbar-color:rgba(124,92,255,.45) transparent}*::-webkit-scrollbar{width:10px;height:10px;background:transparent}*::-webkit-scrollbar-track{background:transparent;border-radius:999px}*::-webkit-scrollbar-thumb{background:#7c5cff59;border-radius:999px;border:2px solid transparent;background-clip:content-box;transition:background .15s}*::-webkit-scrollbar-thumb:hover{background:#7c5cff99;background-clip:content-box}*::-webkit-scrollbar-thumb:active{background:#7c5cffd9;background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}.brand-shell *,.brand-shell *:before,.brand-shell *:after{scrollbar-color:rgba(21,20,27,.3) transparent}.brand-shell *::-webkit-scrollbar-thumb{background:#15141b38;background-clip:content-box}.brand-shell *::-webkit-scrollbar-thumb:hover{background:#15141b6b;background-clip:content-box}@media(min-width:2000px){.kb-shell-main,.lobby-wrap,.hub-wrap,.play-wrap,.lessons-wrap,.portfolio-wrap,.teacher-wrap,.parent-wrap,.admin-wrap,.settings-wrap,.auth-wrap,.signup-wrap,.lobby-section,.lobby-grid,.games-grid{max-width:1800px!important}.brand-shell--sidenav .kb-shell-main{max-width:1800px!important;padding-right:72px!important}.games-grid,.lessons-grid,.trainers-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important}html{font-size:17px}}@media(min-width:2800px){.kb-shell-main,.lobby-wrap,.hub-wrap,.play-wrap,.lessons-wrap,.portfolio-wrap,.teacher-wrap,.parent-wrap,.admin-wrap,.settings-wrap,.auth-wrap,.signup-wrap{max-width:2200px!important}html{font-size:18px}}button,.btn{font-size:15px;font-weight:600;padding:9px 18px;background:var(--accent);color:#fff;border:none;border-radius:10px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:background .15s,transform .05s;font-family:inherit}button:hover:not(:disabled),.btn:hover{background:var(--accent-hover)}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:default}button.ghost,.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}button.ghost:hover,.btn.ghost:hover{background:#ffffff0d}button.tiny,.btn.tiny{padding:4px 10px;font-size:13px}.card{background:var(--card);border-radius:var(--radius);padding:24px;border:1px solid var(--border)}.card h2,.card h3{margin:0 0 8px}.hint{color:var(--muted);margin:0 0 16px;font-size:14px}.card form{display:flex;gap:10px}.card.alt{background:#7c5cff14;border-color:#7c5cff33}.card.alt a{color:var(--accent)}.code-input{flex:1;font-size:22px;font-weight:600;letter-spacing:.25em;text-align:center;padding:12px 14px;background:#0b0f18;color:var(--text);border:2px solid rgba(255,255,255,.08);border-radius:10px;outline:none;transition:border-color .15s;font-family:inherit}.code-input:focus{border-color:var(--accent)}.err{color:var(--err);margin:12px 0 0;font-size:14px}.ok{color:var(--ok);margin:12px 0 0;font-size:14px}.chip{padding:7px 16px;font-size:13px;font-weight:500;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:all .15s}.chip:hover{color:var(--text);border-color:#fff3}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.spinner{width:48px;height:48px;border-radius:50%;border:4px solid rgba(255,255,255,.1);border-top-color:var(--pink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.vk-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;background:#07f;color:#fff;border:none;border-radius:var(--r-block);font-family:var(--f-ui);font-weight:700;font-size:15px;letter-spacing:.01em;cursor:pointer;transition:background var(--motion-fast, .12s var(--ease)),transform var(--motion-fast, .12s var(--ease));box-shadow:var(--sh-1)}.vk-btn:hover:not(:disabled){background:#1a85ff}.vk-btn:active:not(:disabled){transform:translateY(2px);box-shadow:var(--sh-press)}.vk-btn:disabled{background:var(--paper-3);color:var(--ink-soft);cursor:not-allowed}.vk-btn-parent{background:var(--violet)}.vk-btn-parent:hover:not(:disabled){background:var(--violet-deep)}.vk-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--paper);font-family:var(--f-ui)}.vk-callback-card{background:#fff;border:1px solid var(--paper-3);border-radius:var(--r-card);padding:40px 32px;text-align:center;max-width:420px;box-shadow:var(--sh-2)}.vk-callback-card h2{margin:20px 0 8px;font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.015em}.vk-callback-card p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.55}.vk-callback-spinner{width:48px;height:48px;margin:0 auto;border:4px solid var(--paper-3);border-top-color:var(--violet);border-radius:var(--r-pill);animation:vk-spin .7s linear infinite}@keyframes vk-spin{to{transform:rotate(359deg)}}.vk-callback-check,.vk-callback-error{width:56px;height:56px;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:var(--r-pill);font-size:30px;font-weight:900;color:#fff}.vk-callback-check{background:var(--mint-deep)}.vk-callback-error{background:var(--pink-deep)}.kb-ui-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(0);background:var(--ink);color:var(--paper);padding:12px 24px;border-radius:12px;font-size:15px;font-weight:600;font-family:var(--f-ui);z-index:9999;pointer-events:none;white-space:nowrap;box-shadow:0 4px 20px #15141b59;animation:kb-toast-in .22s ease-out,kb-toast-out .22s ease-in 2.1s forwards}.kb-ui-toast--success{background:#1a7a4a}.kb-ui-toast--error{background:#b91c1c}@keyframes kb-toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes kb-toast-out{to{opacity:0;transform:translate(-50%) translateY(12px)}}.escape-overlay,.onboarding-overlay,.obj-script-backdrop,.spawn-menu-backdrop{backdrop-filter:blur(6px)}.play-root{position:fixed;inset:0;background:#0b0f18;overflow:hidden}.play-canvas{position:absolute;inset:0}.play-canvas canvas{outline:none;display:block}.hud-top{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:center;gap:12px;z-index:10;pointer-events:none}.hud-top>*{pointer-events:auto}.hud-btn{width:40px;height:40px;padding:0;background:#00000080;backdrop-filter:blur(8px);color:#fff;font-size:20px;border-radius:10px}.hud-btn:hover{background:#000000b3}.hud-title{font-size:15px;font-weight:600;padding:8px 16px;background:#00000073;backdrop-filter:blur(8px);border-radius:10px;color:#fff}.hud-right{margin-left:auto;display:flex;gap:10px}.hud-pill{font-size:15px;font-weight:700;padding:8px 14px;background:#00000073;backdrop-filter:blur(8px);color:#fff;border-radius:10px;font-variant-numeric:tabular-nums}.hud-pill.gold{color:var(--yellow)}.goal-overlay{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(4px);z-index:20;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease-out}.goal-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:36px 48px;text-align:center;max-width:440px;box-shadow:0 30px 80px #00000080}.goal-badge{font-size:72px;line-height:1;margin-bottom:12px}.goal-badge.win{animation:bounce .6s ease-out}@keyframes bounce{0%{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}.goal-card h2{margin:0 0 8px;font-size:28px;letter-spacing:-.01em}.goal-card p{margin:0 0 18px;color:var(--muted)}.goal-stats{display:flex;justify-content:center;gap:20px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:18px;font-weight:600;margin-bottom:18px;font-variant-numeric:tabular-nums}.goal-actions{display:flex;gap:10px;justify-content:center}.goal-actions button{min-width:120px}.hud-help{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:8px 16px;font-size:13px;background:#00000073;backdrop-filter:blur(8px);color:var(--muted);border-radius:999px;z-index:10;pointer-events:none;white-space:nowrap}.hud-help strong{color:#fff}.mobile-controls{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;padding:0 20px;pointer-events:none;z-index:60}.mobile-dpad{position:relative;width:120px;height:120px;pointer-events:auto}.dpad-btn{position:absolute;width:40px;height:40px;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.3);border-radius:10px;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);user-select:none;-webkit-user-select:none;touch-action:none}.dpad-btn:active{background:#ffffff59}.dpad-up{top:0;left:40px}.dpad-left{top:40px;left:0}.dpad-center{position:absolute;top:40px;left:40px;width:40px;height:40px}.dpad-right{top:40px;left:80px}.dpad-down{top:80px;left:40px}.mobile-jump{width:72px;height:72px;border-radius:50%;background:#7c5cff99;border:2px solid rgba(124,92,255,.9);color:#fff;font-size:18px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:none}.mobile-jump:active{background:#7c5cffe6;transform:scale(.95)}.play-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted);background:radial-gradient(circle at center,#1f2740,#0b0f18 70%)}.play-missing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.escape-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s}.escape-menu{background:#1a2030;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:26px 32px;max-width:500px;width:92%;max-height:88vh;overflow-y:auto;color:#e8eaf2;box-shadow:0 30px 70px #0009}.escape-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.escape-header h2{margin:0;font-size:22px}.escape-close{width:32px;height:32px;padding:0;font-size:16px;background:#252b3d;color:#e8eaf2;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer}.escape-close:hover{background:#2e3548}.escape-game-title{color:#a4a9bc;font-size:13px;margin-bottom:16px}.escape-section{border-top:1px solid rgba(255,255,255,.06);padding-top:14px;margin-top:12px}.escape-section h4{margin:0 0 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7a8099}.escape-row{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:14px}.escape-row>span:first-child{flex:1}.escape-row input[type=checkbox]{accent-color:var(--violet);width:18px;height:18px}.escape-row input[type=range]{flex:1;max-width:200px;accent-color:var(--violet)}.escape-row select{padding:5px 10px;background:#0e131e;color:#e8eaf2;border:1px solid rgba(255,255,255,.08);border-radius:6px}.escape-row small{color:#a4a9bc;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.escape-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:13px;color:#a4a9bc}.escape-controls kbd{display:inline-block;padding:1px 6px;font-size:11px;background:#0e131e;color:#e8eaf2;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-family:ui-monospace,Consolas,monospace;margin-right:6px;min-width:18px;text-align:center}.escape-actions{display:flex;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.escape-btn{flex:1;padding:12px 16px;font-size:15px;font-weight:600;background:var(--violet);color:#fff;border:none;border-radius:10px;cursor:pointer;font-family:inherit}.escape-btn:hover{background:#9075ff}.escape-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.12);color:#e8eaf2}.escape-btn.ghost:hover{background:#ffffff0d}.leaderboard-hint{position:absolute;top:70px;right:14px;padding:5px 10px;background:#00000073;backdrop-filter:blur(6px);color:#a4a9bc;font-size:11px;border-radius:8px;pointer-events:none;z-index:5}.leaderboard-hint kbd{display:inline-block;padding:1px 6px;font-size:10px;background:#00000080;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:3px;margin-right:4px;font-family:ui-monospace,Consolas,monospace}.leaderboard{position:absolute;top:70px;right:14px;width:260px;background:#000000b8;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;z-index:10;color:#fff;animation:fadeIn .15s}.lb-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#7c5cff2e;font-size:13.5px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.08)}.lb-rows{padding:6px 0}.lb-row{display:flex;align-items:center;gap:10px;padding:7px 14px;font-size:13.5px;font-variant-numeric:tabular-nums}.lb-row.you{background:#ffd64426;font-weight:700}.lb-rank{color:#a4a9bc;min-width:26px;font-size:12px}.lb-row.you .lb-rank{color:var(--yellow)}.lb-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-coins{color:var(--yellow);font-weight:700}.lb-footer{padding:6px 14px;font-size:11px;color:#a4a9bc;border-top:1px solid rgba(255,255,255,.06);text-align:center}.lb-footer kbd{background:#00000080;padding:1px 5px;border-radius:3px;color:#fff;font-family:ui-monospace,Consolas,monospace;font-size:10px}.onboarding-overlay{position:fixed;inset:0;background:#0a0e18cc;backdrop-filter:blur(8px);z-index:150;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s}.onboarding-card{background:linear-gradient(135deg,#1a2030,#2a2040);border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:32px 36px 26px;max-width:440px;text-align:center;color:#e8eaf2;box-shadow:0 30px 80px #00000080}.ob-emoji{font-size:72px;line-height:1;margin-bottom:12px;animation:pop-in .4s ease-out}@keyframes pop-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.onboarding-card h3{margin:0 0 10px;font-size:24px}.onboarding-card p{margin:0 0 20px;color:#c4c8dc;font-size:15.5px;line-height:1.5}.ob-dots{display:flex;justify-content:center;gap:6px;margin-bottom:22px}.ob-dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .2s;border:none;padding:0;cursor:pointer}.ob-dot:hover{background:#fff6}.ob-dot.active{background:var(--violet);width:24px;border-radius:4px}.ob-keys{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}.ob-keys kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-bottom-width:3px;border-radius:6px;padding:4px 10px;font-size:13px;font-family:var(--font-mono, monospace);color:#e8eaf2}.ob-actions{display:flex;gap:10px}.ob-btn{flex:1;padding:12px 16px;font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;border:none;font-family:inherit}.ob-btn.primary{background:linear-gradient(135deg,var(--violet),#c879ff);color:#fff;box-shadow:0 6px 16px #7c5cff66}.ob-btn.primary:hover{transform:translateY(-1px)}.ob-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.15);color:#e8eaf2}.ob-btn.ghost:hover{background:#ffffff0d}.studio-root{display:flex;flex-direction:column;height:100vh;background:#141927;color:#e8eaf2;font-family:var(--f-ui)}.studio-header{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--ink);border-bottom:1px solid rgba(255,251,243,.08);flex-shrink:0}.studio-header .studio-brand-lockup{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:900;font-size:16px;color:var(--paper);text-decoration:none;letter-spacing:-.02em;white-space:nowrap}.studio-header .studio-brand-lockup .kb-shell-brand-kids{font-size:10px;padding:1px 6px;box-shadow:0 2px 0 var(--yellow-deep)}.home-btn{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;background:#252b3d;color:#e8eaf2;border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:background .15s,transform .1s,color .15s}.home-btn:hover{background:#2e3548;color:#fff;transform:translate(-1px)}.home-btn:active{transform:translate(-2px)}.home-btn svg{display:block}.studio-tabs{display:flex;gap:4px;margin-left:20px;background:#0e131e;padding:4px;border-radius:12px}.studio-tab{padding:8px 20px;font-size:14.5px;font-weight:600;background:transparent;color:#a4a9bc;border:none;border-radius:8px;cursor:pointer;transition:all .15s;font-family:inherit}.studio-tab:hover{color:#fff}.studio-tab.active{background:var(--violet);color:#fff;box-shadow:0 4px 10px #7c5cff4d}.studio-stats{margin-left:auto;display:flex;gap:14px;color:#a4a9bc;font-size:13px;font-variant-numeric:tabular-nums}.studio-actions{display:flex;gap:8px}.studio-actions .publish{padding:8px 16px;background:#ff5ab1;color:#fff;border-radius:10px;font-weight:600}.studio-actions .publish:disabled{opacity:.5;cursor:not-allowed}.studio-actions .publish--toast{background:#6b5ce7;animation:publish-pop .15s ease}@keyframes publish-pop{0%{transform:scale(.95)}60%{transform:scale(1.06)}to{transform:scale(1)}}.studio-error-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--pink-soft);color:var(--pink-ink);border-radius:var(--r-full);font-size:12px;font-weight:700;cursor:help;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-main{flex:1;min-height:0;display:flex;overflow:hidden}.studio-build{flex:1;display:grid;grid-template-columns:240px 1fr 300px;min-height:0;overflow:hidden}.studio-palette{background:#1a2030;border-right:1px solid rgba(255,255,255,.05);padding:14px;overflow:auto;display:flex;flex-direction:column;gap:20px}.studio-palette h4{margin:0 0 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7a8099}.tool-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tool-btn{display:flex;flex-direction:column;align-items:center;padding:10px 6px;gap:2px;background:#252b3d;color:#e8eaf2;border:1px solid rgba(255,255,255,.05);border-radius:10px;font-size:22px;cursor:pointer;font-family:inherit;transition:all .15s}.tool-btn small{font-size:11px;font-weight:500;color:#a4a9bc}.tool-btn:hover{background:#2e3548}.tool-btn.active{background:var(--violet);border-color:transparent}.tool-btn.active small{color:#ffffffd9}.part-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.part-btn{display:flex;flex-direction:column;align-items:center;padding:10px 6px;gap:4px;background:#252b3d;color:#e8eaf2;border:1px solid rgba(255,255,255,.05);border-radius:10px;cursor:pointer;transition:all .15s;font-family:inherit}.part-btn:hover{background:#2e3548}.part-btn.active{background:#7c5cff40;border-color:var(--violet)}.part-emoji{font-size:24px;line-height:1}.part-label{font-size:11px;color:#a4a9bc}.palette-color-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.palette-color-head h4{margin:0}.palette-color-ctx{font-size:11px;color:var(--violet);font-weight:600;letter-spacing:.01em;text-transform:none;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.color-palette.sm{grid-template-columns:repeat(6,1fr);gap:3px}.palette-swatch{width:100%;aspect-ratio:1;border-radius:6px;border:2px solid transparent;padding:0;cursor:pointer;transition:transform .1s}.palette-swatch:hover{transform:scale(1.15)}.palette-swatch.active{border-color:#fff;box-shadow:0 0 0 2px var(--violet)}.palette-custom{width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden;background:#0e131e;border:1px dashed rgba(255,255,255,.15);cursor:pointer}.palette-custom input[type=color]{width:100%;height:100%;border:none;background:transparent;cursor:pointer}.hint-section{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.05)}.hint-list{list-style:none;padding:0;margin:0;font-size:12px;color:#a4a9bc;line-height:1.8}.hint-list kbd{display:inline-block;padding:1px 6px;font-size:11px;background:#0e131e;color:#e8eaf2;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-family:ui-monospace,Consolas,monospace;margin-right:4px}.studio-viewport{position:relative;background:#0b0f18;min-width:0;min-height:0}.studio-viewport canvas{outline:none;display:block}.viewport-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);padding:6px 14px;background:#0000008c;backdrop-filter:blur(6px);color:#e8eaf2;font-size:12.5px;border-radius:999px;pointer-events:none}.studio-props{background:#1a2030;border-left:1px solid rgba(255,255,255,.05);padding:14px;overflow:auto;display:flex;flex-direction:column;gap:16px}.studio-props h4{margin:0 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7a8099}.prop-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.prop-name{flex:1;padding:6px 10px;background:#0e131e;color:#e8eaf2;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-family:inherit;font-size:14px;font-weight:600}.prop-name:focus{outline:none;border-color:var(--violet)}.prop-type{padding:3px 8px;font-size:11px;background:#0e131e;color:#a4a9bc;border-radius:4px;text-transform:uppercase}.prop-actions{display:flex;gap:6px;margin-bottom:4px}.prop-actions button{flex:1;padding:7px;font-size:12.5px;background:#252b3d;color:#e8eaf2;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;font-family:inherit}.prop-actions button:hover{background:#2e3548}.prop-actions button.danger{color:#ff6b6b}.prop-actions button.danger:hover{background:#ff6b6b1f}.prop-xyz{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.prop-xyz label{display:flex;flex-direction:column;gap:2px}.prop-xyz span{font-size:11px;color:#7a8099;font-weight:600}.prop-xyz input{padding:5px 8px;background:#0e131e;color:#e8eaf2;border:1px solid rgba(255,255,255,.08);border-radius:4px;font-size:13px;font-variant-numeric:tabular-nums;font-family:inherit;-moz-appearance:textfield}.prop-xyz input::-webkit-outer-spin-button,.prop-xyz input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.prop-xyz input:focus{outline:none;border-color:var(--violet)}.prop-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#a4a9bc;cursor:pointer}.prop-check input{accent-color:var(--violet)}.empty-state{text-align:center;padding:20px 10px;color:#7a8099;font-size:13px;line-height:1.5}.empty-icon{font-size:36px;margin-bottom:8px}.scene-list{list-style:none;padding:0;margin:0;font-size:13px;max-height:200px;overflow:auto}.scene-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px}.scene-list li:hover{background:#ffffff0a}.scene-list li.has-script{background:#ffd43c0f;box-shadow:inset 2px 0 #ffd43c80}.scene-list li.has-script:hover{background:#ffd43c1f}.scene-list li.selected{background:#6c5ce72e;outline:1px solid rgba(108,92,231,.4);border-radius:6px}.scene-item-badge{margin-left:auto;font-size:13px}.scene-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #ffffff26}.prop-script-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;font-size:13px;border-radius:50%;background:#ffd43c33;border:1px solid rgba(255,212,60,.5);animation:pulseLive 1.8s ease-in-out infinite}.prop-script-section{background:linear-gradient(135deg,#6b5ce714,#ffd43c0f);border:1px solid rgba(107,92,231,.22);border-radius:12px;padding:12px 14px;margin-top:4px}.prop-script-section h4{margin:0 0 8px;font-size:13px;color:#c5b9ff}.prop-script-hint{margin:0 0 10px;font-size:12px;color:#fff9;line-height:1.45}.prop-script-summary{display:flex;align-items:center;gap:8px;font-size:12px;color:#9fe8c7;margin-bottom:8px}.prop-script-dot{width:10px;height:10px;border-radius:50%;background:#9fe8c7;box-shadow:0 0 8px #9fe8c7b3;animation:pulseLive 1.6s ease-in-out infinite}.prop-script-actions{display:flex;gap:6px;flex-wrap:wrap}.prop-script-add{width:100%}.obj-script-backdrop{position:fixed;inset:0;background:#06080ebf;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:400;animation:fadeIn .15s ease;padding:20px}.obj-script-modal{width:min(1300px,96vw);height:min(88vh,800px);background:#11172a;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 30px 80px #0009;display:flex;flex-direction:column;overflow:hidden;color:#e8eaf2}.obj-script-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:linear-gradient(180deg,#141a2b,#0e131e);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.obj-script-header strong{font-size:15px;color:#fff}.obj-script-target{margin-left:10px;color:#fff9;font-size:13px}.obj-script-target code{background:#ffffff0f;padding:1px 6px;border-radius:4px;font-family:ui-monospace,Consolas,monospace;font-size:11px;color:#c5b9ff;margin-left:4px}.obj-script-actions{display:flex;gap:8px}.obj-script-actions button.ghost{background:transparent;border:1px solid rgba(255,255,255,.1);color:#ffffffbf;padding:7px 12px;border-radius:8px;font-size:13px;cursor:pointer}.obj-script-actions button.ghost:hover{border-color:#ff5464;color:#ff8aa0}.obj-script-body{flex:1;display:grid;grid-template-columns:1fr 360px;min-height:0}.obj-script-canvas{background:#f5f6fa;border-right:1px solid rgba(255,255,255,.06);min-width:0;min-height:0;position:relative}.obj-script-preview{display:flex;flex-direction:column;min-height:0;padding:16px;gap:12px;background:#0b1021;overflow:auto}.obj-script-preview header{display:flex;align-items:baseline;gap:8px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}.obj-script-preview header strong{color:#fff;font-size:14px}.obj-script-preview header small{color:#7a8099;font-size:11px}.obj-script-py{margin:0;padding:14px;background:#0e131e;border:1px solid rgba(255,255,255,.05);border-radius:10px;color:#dce0f1;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;flex:1;min-height:200px;overflow:auto}.obj-script-hint{background:#6b5ce714;border:1px solid rgba(107,92,231,.2);border-radius:10px;padding:10px 12px;font-size:12px;color:#ffffffbf;line-height:1.5}.obj-script-hint ul{margin:6px 0 0;padding-left:18px}.obj-script-hint li{padding:2px 0}.obj-script-hint code{background:#ffffff14;padding:1px 5px;border-radius:3px;font-family:ui-monospace,Consolas,monospace;font-size:11px;color:#ffd43c}@media(max-width:900px){.obj-script-body{grid-template-columns:1fr;grid-template-rows:1fr auto}.obj-script-preview{max-height:40vh}}.live-frame{position:absolute;inset:0;pointer-events:none;z-index:14;border:3px solid transparent;border-radius:2px;box-shadow:inset 0 0 #ffd43c00;transition:border-color .2s ease,box-shadow .4s ease}.live-frame.flash{border-color:#ffd43c8c;box-shadow:inset 0 0 0 2px #ffd43c38,inset 0 0 60px #ffd43c2e}.live-overlay{position:absolute;top:74px;right:16px;z-index:15;width:250px;padding:12px 14px;background:#0b0a11e6;backdrop-filter:blur(14px);border:2px solid rgba(255,212,60,.35);border-radius:14px;box-shadow:0 10px 28px #00000080;color:#fff;font-family:var(--f-ui);transition:box-shadow .3s ease,border-color .3s ease;animation:liveOverlayIn .25s ease}@keyframes liveOverlayIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}.live-overlay.flash{border-color:#ffd43cd9;box-shadow:0 10px 28px #00000080,0 0 0 6px #ffd43c38}.live-top{display:flex;align-items:center;gap:8px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:9px}.live-top strong{flex:1;font-size:13px;color:#ffd43c;letter-spacing:.3px}.live-pulse{font-size:18px;animation:pulseLive 1.4s ease-in-out infinite}.live-toggle-btn{width:22px;height:22px;border-radius:50%;border:none;background:#ffffff14;color:#fff;font-size:16px;line-height:1;cursor:pointer;transition:background .15s}.live-toggle-btn:hover{background:#ff546499}.live-stats{font-size:12px;color:#9fe8c7;margin-bottom:8px;font-weight:600}.live-stats b{color:#fff}.live-label{font-size:10px;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.live-cmd{font-family:ui-monospace,Consolas,monospace;font-size:11.5px;color:#ffb4c8;padding:6px 9px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:8px;margin-bottom:8px;word-break:break-all;line-height:1.35}.live-hint{font-size:10.5px;color:#ffffff8c;text-align:center;padding-top:2px;line-height:1.5}.live-hint kbd{display:inline-block;padding:1px 6px;background:#6b5ce733;border:1px solid rgba(107,92,231,.4);border-radius:4px;font-family:ui-monospace,Consolas,monospace;font-size:10px;color:#c5b9ff}.live-inline-btn{display:inline-block;margin-top:6px;padding:5px 12px;border:1px solid rgba(255,212,60,.45);border-radius:8px;background:#ffd43c1a;color:#ffd43c;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s}.live-inline-btn:hover{background:#ffd43c40}.live-overlay.expanded{width:420px}.live-edit-btn{width:24px;height:24px;border:none;border-radius:6px;background:#ffffff14;color:#fff;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.live-edit-btn:hover{background:#6b5ce780}.live-edit-btn.active{background:#ffd43c40;color:#ffd43c;box-shadow:0 0 0 2px #ffd43c66}.live-editor{width:100%;min-height:180px;max-height:320px;padding:10px 12px;margin:6px 0 8px;background:#0b0a11;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#dce0f1;font-family:JetBrains Mono,ui-monospace,Consolas,Courier New,monospace;font-size:12px;line-height:1.55;resize:vertical;outline:none;tab-size:4;-moz-tab-size:4;white-space:pre;word-wrap:normal;overflow:auto}.live-editor:focus{border-color:#ffd43c99;box-shadow:0 0 0 2px #ffd43c33}.live-editor::placeholder{color:#ffffff40;font-style:italic}.studio-test{flex:1;position:relative;background:#0b0f18;min-height:0}.studio-test canvas{display:block;outline:none;width:100%!important;height:100%!important}.test-help{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:8px 16px;background:#0000008c;backdrop-filter:blur(6px);color:#e8eaf2;font-size:13px;border-radius:999px;pointer-events:none}.say-bubble{position:absolute;bottom:160px;left:50%;transform:translate(-50%);max-width:320px;padding:10px 18px;background:#fffffff2;color:#1a1a2e;font-family:var(--f-ui);font-size:15px;font-weight:600;border-radius:18px;box-shadow:0 4px 24px #00000038;text-align:center;pointer-events:none;z-index:60;animation:sayBubblePop .18s var(--ease) both;word-break:break-word}.say-bubble-arrow{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid rgba(255,255,255,.95)}@keyframes sayBubblePop{0%{opacity:0;transform:translate(-50%) scale(.85)}to{opacity:1;transform:translate(-50%) scale(1)}}.coin-hud{position:absolute;top:14px;right:16px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#0000008c;backdrop-filter:blur(8px);color:var(--yellow);border:1px solid rgba(255,212,60,.28);border-radius:var(--r-pill);font-family:var(--f-ui);font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.02em;pointer-events:none;box-shadow:var(--sh-2);z-index:var(--z-hud, 10);transition:transform var(--motion-fast, .12s var(--ease))}.coin-hud-icon{font-size:16px}.coin-hud-value{min-width:1.5em;text-align:right}.build-toggle{position:absolute;top:14px;right:120px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#0000008c;backdrop-filter:blur(8px);color:#e8eaf2;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-pill);font-family:var(--f-ui);font-weight:700;font-size:13px;letter-spacing:.02em;cursor:pointer;transition:background var(--motion-fast, .12s var(--ease)),border-color var(--motion-fast, .12s var(--ease)),transform var(--motion-fast, .12s var(--ease)),box-shadow var(--motion-fast, .12s var(--ease));z-index:var(--z-hud, 10);box-shadow:var(--sh-2)}.build-toggle:hover{background:#000000b3;border-color:color-mix(in oklab,var(--violet) 40%,transparent)}.build-toggle.on{background:linear-gradient(135deg,var(--violet),var(--pink-deep));border-color:transparent;color:#fff;box-shadow:var(--sh-3),0 0 0 3px color-mix(in oklab,var(--violet) 20%,transparent)}.build-toggle-icon{font-size:16px;line-height:1}.build-toggle-kbd{padding:1px 7px;background:#ffffff26;border-radius:var(--r-sm, 6px);font-size:11px;font-family:var(--f-mono);letter-spacing:.1em}.build-toggle.on .build-toggle-kbd{background:#00000040}.build-hotbar{position:absolute;bottom:62px;left:50%;transform:translate(-50%);display:flex;align-items:flex-end;gap:8px;padding:10px 12px;background:#0009;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-card);box-shadow:var(--sh-3);z-index:var(--z-hud, 10);animation:build-hotbar-in .2s var(--ease)}@keyframes build-hotbar-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.build-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:70px;height:70px;padding:6px 4px;background:#ffffff0a;border:2px solid rgba(255,255,255,.08);border-radius:var(--r-block);color:#e8eaf2;font-family:var(--f-ui);cursor:pointer;transition:background var(--motion-fast, .12s var(--ease)),border-color var(--motion-fast, .12s var(--ease)),transform var(--motion-fast, .12s var(--ease)),box-shadow var(--motion-fast, .12s var(--ease))}.build-slot:hover{background:#ffffff17;border-color:#ffffff2e;transform:translateY(-2px)}.build-slot.active{background:linear-gradient(135deg,color-mix(in oklab,var(--violet) 40%,transparent),color-mix(in oklab,var(--pink-deep) 30%,transparent));border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in oklab,var(--violet) 25%,transparent),var(--sh-2);transform:translateY(-3px)}.build-slot-emoji{font-size:26px;line-height:1}.build-slot-label{font-size:11px;font-weight:700;letter-spacing:.02em;color:#e8eaf2}.build-slot-kbd{position:absolute;top:4px;left:6px;min-width:14px;padding:1px 5px;font-size:10px;font-family:var(--f-mono);font-weight:700;color:var(--yellow-ink);background:var(--yellow);border-radius:var(--r-sm, 6px);letter-spacing:0}.build-slot-count{position:absolute;bottom:-6px;right:-6px;min-width:22px;padding:2px 6px;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;background:var(--mint-deep);color:var(--paper);border-radius:var(--r-pill);border:2px solid rgba(0,0,0,.5)}.build-hint-block{display:flex;flex-direction:column;justify-content:center;gap:2px;margin-left:8px;padding-left:12px;border-left:1px solid rgba(255,255,255,.1);color:#a4a9bc;font-size:11px;line-height:1.5}.build-hint-block b{color:var(--yellow);font-family:var(--f-mono);font-weight:800}.curric-lesson-md{margin:6px 0 0;padding:0;background:transparent;white-space:pre-wrap;word-break:break-word;font-family:var(--f-ui);font-size:14px;line-height:1.55;color:var(--ink)}@media(max-width:1000px){.studio-build{grid-template-columns:200px 1fr 260px}}.studio-script-v2{flex:1;min-height:0;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 80% -10%,rgba(107,92,231,.1),transparent 70%),radial-gradient(900px 500px at -10% 110%,rgba(255,180,200,.08),transparent 70%),#0e131e;position:relative;overflow:hidden}.script-top-row{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px 24px 12px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(10,14,24,.6),transparent);backdrop-filter:blur(10px);flex-shrink:0;flex-wrap:wrap}.autorun-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid rgba(107,92,231,.3);border-radius:14px;color:#c5ccd8;font-size:13px;font-weight:600;cursor:pointer;background:#1419268c;transition:all .15s;user-select:none}.autorun-toggle:hover{color:#fff;border-color:#6b5ce799}.autorun-toggle input{accent-color:#6B5CE7;cursor:pointer}.autorun-badge{padding:2px 8px;border-radius:999px;background:linear-gradient(135deg,#ffd43c,#ff9454);color:#15141b;font-size:10px;font-weight:800;letter-spacing:.5px;animation:pulseLive 1.4s ease-in-out infinite}@keyframes pulseLive{0%,to{box-shadow:0 0 #ffd43c80}50%{box-shadow:0 0 0 6px #ffd43c00}}.script-mode-switcher{display:flex;justify-content:center;padding:0;flex-shrink:0}.script-mode-rail{display:flex;align-items:center;gap:10px;padding:6px;background:#1419268c;border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d}.mode-chip{display:flex;align-items:center;gap:12px;padding:10px 18px;background:transparent;border:2px solid transparent;border-radius:14px;color:#c5ccd8;cursor:pointer;transition:all .18s ease;min-width:180px}.mode-chip:hover{background:#ffffff0a;color:#fff;transform:translateY(-1px)}.mode-chip.active{background:linear-gradient(135deg,#6b5ce740,#ffb4c82e);border-color:#6b5ce799;color:#fff;box-shadow:0 6px 20px #6b5ce759}.mode-chip-icon{font-size:28px;line-height:1;flex-shrink:0}.mode-chip-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.mode-chip-label{font-size:15px;font-weight:700;letter-spacing:-.1px}.mode-chip-sub{font-size:11px;color:#ffffff8c;margin-top:2px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.mode-chip.active .mode-chip-sub{color:#fffc}.mode-arrow{font-size:22px;color:#fff3;font-weight:700;transition:color .2s}.mode-arrow.passed{color:#6b5ce7bf}.script-body{flex:1;min-height:0;display:flex;position:relative}.script-body--blocks .script-blocks-hero,.script-body--python .script-python-full{flex:1;display:flex;flex-direction:column;min-height:0}.script-blocks-hero{position:relative;background:#11172a;padding:16px;gap:0}.script-blocks-canvas{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.script-blocks-hero .blockly-container{flex:1;min-height:0;border-radius:16px;overflow:hidden;box-shadow:0 10px 40px #00000073,inset 0 0 0 1px #ffffff0f}.blocks-codepreview{flex-shrink:0;margin-top:12px;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#0d111c99;border:1px solid rgba(107,92,231,.25);transition:max-height .32s cubic-bezier(.2,.8,.25,1)}.blocks-codepreview.closed{max-height:56px}.blocks-codepreview.open{max-height:50vh}.blocks-codepreview-toggle{display:flex;align-items:center;gap:10px;width:100%;height:56px;padding:0 18px;background:linear-gradient(90deg,#6b5ce726,#6b5ce70f);border:none;color:#f0e9ff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-align:left;transition:background .15s ease}.blocks-codepreview-toggle:hover{background:linear-gradient(90deg,#6b5ce747,#6b5ce71a)}.blocks-codepreview-toggle .codepreview-icon{display:inline-block;width:16px;color:var(--brand-primary, #6B5CE7);font-size:16px;transition:transform .2s ease}.blocks-codepreview.open .blocks-codepreview-toggle .codepreview-icon{color:#ffd43c}.blocks-codepreview-toggle .codepreview-label{flex:1}.blocks-codepreview-toggle .codepreview-badge{padding:2px 8px;border-radius:999px;background:#9fe8c72e;color:#9fe8c7;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.blocks-codepreview-body{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;border-top:1px solid rgba(107,92,231,.22);animation:codepreviewFadeIn .28s ease}@keyframes codepreviewFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.blocks-codepreview-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 18px;background:#0b0a118c;border-bottom:1px solid rgba(255,255,255,.05)}.blocks-codepreview-toolbar .codepreview-hint{flex:1;font-size:12px;color:#b8b6c9;line-height:1.3}.blocks-codepreview-toolbar .codepreview-copybtn{padding:7px 14px;background:var(--brand-primary, #6B5CE7);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:filter .15s,transform .1s;white-space:nowrap}.blocks-codepreview-toolbar .codepreview-copybtn:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.blocks-codepreview-toolbar .codepreview-copybtn:disabled{opacity:.5;cursor:not-allowed}.blocks-codepreview-editor{flex:1;min-height:220px;background:#0b0a11}.blocks-codepreview-editor .py-editor-header{display:none}.codepreview-toast{position:absolute;bottom:14px;left:50%;transform:translate(-50%);padding:8px 16px;background:#9fe8c7f2;color:#0a2818;border-radius:999px;font-size:13px;font-weight:700;box-shadow:0 6px 20px #00000059;z-index:10;animation:codepreviewToast 2.2s ease forwards}.codepreview-toast--floating{position:fixed;bottom:32px}@keyframes codepreviewToast{0%{opacity:0;transform:translate(-50%,8px)}10%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}.python-syncbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(90deg,#6b5ce72e,#ffd44414);border-bottom:1px solid rgba(107,92,231,.3);font-size:13px;color:#f0e9ff}.python-syncbar-icon{font-size:16px}.python-syncbar-text{flex:1;line-height:1.3}.python-syncbar-btn,.python-syncbar-back{padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#f0e9ff;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.python-syncbar-btn:hover,.python-syncbar-back:hover{background:#ffffff24;transform:translateY(-1px)}.python-syncbar-btn{background:var(--brand-primary, #6B5CE7);border-color:var(--brand-primary, #6B5CE7);color:#fff}.python-syncbar-btn:hover{filter:brightness(1.15)}@media(max-width:720px){.blocks-codepreview.open{max-height:58vh}.blocks-codepreview-toggle{height:50px;padding:0 14px;font-size:13px}.blocks-codepreview-toolbar{flex-direction:column;align-items:stretch;padding:8px 12px}.blocks-codepreview-toolbar .codepreview-copybtn{width:100%;padding:9px 14px}.blocks-codepreview-editor{min-height:180px}.python-syncbar{flex-wrap:wrap;gap:6px;padding:8px 10px}.python-syncbar-text{width:100%;flex:none}.python-syncbar-btn,.python-syncbar-back{padding:5px 10px;font-size:11px}}.script-floating-hint{position:absolute;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 18px;max-width:540px;background:#121826eb;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#e8eaf2;font-size:13px;line-height:1.4;box-shadow:0 8px 24px #00000059;pointer-events:none;z-index:4}.script-floating-hint .hint-dot{font-size:16px}.script-floating-hint strong{color:var(--yellow)}.script-bridge{flex:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(380px,1fr);gap:12px;padding:12px;min-height:0}.script-bridge-left,.script-bridge-right{min-height:0;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.script-bridge-left{background:#11172a}.script-bridge-left .blockly-container{flex:1;min-height:0}.script-bridge-right{background:#0b1021;gap:10px}.script-bridge-right .py-panel{flex:1;min-height:0;border-radius:0;border:none}.script-bridge-note{margin:0 12px 12px;padding:12px 14px;background:#ffd43c17;border:1px solid rgba(255,212,60,.25);border-radius:12px;font-size:13px;color:#e8eaf2;line-height:1.5;flex-shrink:0}.script-bridge-note strong{color:var(--yellow)}.script-run-ok{margin:0 12px 12px;padding:10px 14px;background:#48c77426;border:1px solid rgba(72,199,116,.4);border-radius:10px;color:#8ce8a9;font-size:13px;font-weight:600;flex-shrink:0}.script-run-ok--floating{position:absolute;bottom:20px;left:50%;transform:translate(-50%);margin:0;z-index:5;box-shadow:0 6px 18px #0000004d}.script-python-full{padding:16px;min-height:0;position:relative}.script-help-fab{position:absolute;top:92px;right:20px;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6b5ce7,#9f8cff);color:#fff;border:none;font-size:22px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #6b5ce766;z-index:10;transition:transform .15s}.script-help-fab:hover{transform:scale(1.08)}.script-help-fab.open{background:#1e2436f2;box-shadow:0 4px 12px #00000059}.script-help-drawer{position:absolute;top:84px;right:76px;width:320px;max-height:calc(100% - 120px);background:#121726fa;backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px 18px;overflow:auto;z-index:9;box-shadow:0 20px 50px #00000080;color:#e8eaf2;animation:drawerIn .18s ease}@keyframes drawerIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.script-help-drawer header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.script-help-drawer header strong{font-size:15px}.script-help-drawer .help-intro{margin:0 0 14px;font-size:13.5px;color:#c5ccd8;line-height:1.5}.script-help-drawer details{border-top:1px solid rgba(255,255,255,.06);padding:10px 0 6px}.script-help-drawer details:first-of-type{border-top:none;padding-top:0}.script-help-drawer summary{cursor:pointer;font-weight:600;color:#fff;font-size:13.5px;padding:4px 0}.script-help-drawer details p{margin:6px 0 0;font-size:12.5px;color:#a4a9bc;line-height:1.55}.script-help-drawer code{font-family:ui-monospace,Consolas,monospace;font-size:12px;padding:1px 6px;background:#6b5ce726;border-radius:4px;color:#c5b9ff}.blockly-container{background:#f5f6fa}.blocklyMainBackground{stroke:none!important;fill:#f5f6fa!important}.blocklyGridPattern circle,.blocklyGridPattern line{stroke:#6b5ce733!important}.blocklyToolboxDiv{background:linear-gradient(180deg,#fff,#f0f2fa)!important;border-right:1px solid rgba(107,92,231,.15)!important;padding-top:12px!important;box-shadow:4px 0 16px #15141b0f!important}.blocklyTreeRow{border-radius:10px!important;margin:3px 6px!important;padding:9px 12px!important;transition:background .12s}.blocklyTreeRow:hover{background:#6b5ce71a!important}.blocklyTreeSelected{background:linear-gradient(90deg,#6b5ce738,#6b5ce714)!important;box-shadow:inset 3px 0 #6b5ce7}.blocklyTreeLabel{font-family:var(--f-ui)!important;font-size:15px!important;font-weight:700!important;color:#2a1f4c!important}.blocklyTreeSelected .blocklyTreeLabel{color:#15141b!important}.obj-script-canvas .blocklyToolboxDiv{background:linear-gradient(180deg,#1a2030,#141a2b)!important;border-right:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;padding-top:10px!important}.obj-script-canvas .blocklyTreeRow{margin:3px 8px!important;padding:10px 12px!important;border-radius:10px!important}.obj-script-canvas .blocklyTreeRow:hover{background:#7c5cff38!important}.obj-script-canvas .blocklyTreeSelected{background:#7c5cff52!important;box-shadow:inset 3px 0 0 var(--violet)!important}.obj-script-canvas .blocklyTreeLabel{color:#e8eaf2!important}.obj-script-canvas .blocklyTreeSelected .blocklyTreeLabel{color:#fff!important}.blocklyFlyoutBackground{fill:#fffffff5!important;fill-opacity:.96!important;stroke:#6b5ce726!important}.blocklyFlyout .blocklyDraggable{filter:drop-shadow(0 4px 10px rgba(0,0,0,.08))}.blocklyZoom>image{opacity:.85}.blocklyZoom>image:hover{opacity:1}.blocklyTrash{opacity:.9}.blocklyTrash:hover{opacity:1}.blocklyText{font-family:var(--f-ui)!important;font-weight:700!important;font-size:14px!important}.py-editor{flex:1;min-height:0;display:flex;flex-direction:column;background:#0b0f1a;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;box-shadow:0 12px 40px #0006}.py-editor.has-error{border-color:#ff6b6b80}.py-editor-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(180deg,#141a2b,#0e131e);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.py-editor-logo{font-size:20px}.py-editor-title{color:#fff;font-size:15px}.py-editor-subtitle{color:#7a8099;font-size:12px}.py-editor-actions{margin-left:auto;display:flex;gap:8px}.py-btn-ref,.py-btn-run{padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#e8eaf2;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.py-btn-ref:hover,.py-btn-run:hover{background:#ffffff14}.py-btn-ref.active{background:#6b5ce733;border-color:#6b5ce780;color:#c5b9ff}.py-btn-run{background:linear-gradient(135deg,#48c774,#2fa85f);border-color:#48c77466;color:#fff;font-weight:700;min-width:130px}.py-btn-run:hover:not(:disabled){background:linear-gradient(135deg,#5ed782,#36b867);transform:translateY(-1px);box-shadow:0 4px 12px #48c77459}.py-btn-run:disabled{opacity:.6;cursor:not-allowed}.py-btn-run.running{background:#ffd43c33;border-color:#ffd43c66;color:var(--yellow)}.py-editor-body{flex:1;display:flex;min-height:0;position:relative}.py-kw{color:#ff79c6;font-weight:700}.py-fn{color:#8be9fd;font-weight:700}.py-blt{color:#bd93f9}.py-str{color:#f1fa8c}.py-num{color:#ffb86c}.py-cmt{color:#6272a4;font-style:italic}.py-dec{color:#50fa7b}.py-editor-monaco-wrap{flex:1;min-height:0;position:relative;background:#0b0a11}.py-editor-monaco-wrap>section{position:absolute!important;inset:0}.py-editor-loading{flex:1;display:flex;align-items:center;justify-content:center;color:#7a8099;font-size:14px;padding:40px}.py-editor kbd{display:inline-block;padding:2px 6px;background:#6b5ce733;border:1px solid rgba(107,92,231,.4);border-radius:4px;font-family:ui-monospace,Consolas,monospace;font-size:11px;color:#c5b9ff}.py-editor-refdrawer{position:absolute;top:0;right:0;bottom:0;width:340px;background:#0e131efa;backdrop-filter:blur(12px);border-left:1px solid rgba(255,255,255,.08);padding:14px;overflow:auto;z-index:5;animation:drawerIn .18s ease}.py-ref-title{font-weight:700;font-size:14px;color:#fff;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.py-ref-grid{display:flex;flex-direction:column;gap:4px}.py-ref-row{display:grid;grid-template-columns:1fr;gap:2px;padding:8px 10px;border-radius:8px;transition:background .12s}.py-ref-row.clickable{cursor:pointer}.py-ref-row.clickable:hover{background:#6b5ce71f}.py-ref-fn{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;color:#8be9fd;font-weight:700}.py-ref-desc{font-size:11.5px;color:#a4a9bc;line-height:1.4}.py-ref-footer{margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:#7a8099;font-family:ui-monospace,Consolas,monospace;line-height:1.6}.py-editor-errorbar{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;background:#ff6b6b1f;border-top:1px solid rgba(255,107,107,.3);color:#ffc1c1;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;line-height:1.4;flex-shrink:0}.py-error-icon{font-size:16px;flex-shrink:0}.py-error-text{flex:1;word-break:break-word}@media(max-width:1100px){.script-bridge{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.mode-chip{min-width:auto;padding:8px 14px}.mode-chip-sub{display:none}}@media(max-width:720px){.script-help-drawer{right:12px;width:calc(100% - 80px)}.py-editor-refdrawer{width:100%}}.hud-btn.edit-toggle{position:relative;border:2px solid rgba(255,212,60,.4);color:#ffd43c;font-weight:700}.hud-btn.edit-toggle:hover{background:#ffd43c26;border-color:#ffd43cb3}.hud-btn.edit-toggle.active{background:linear-gradient(135deg,#ffd43c,#ff9454);color:#15141b;border-color:#ffd43c;box-shadow:0 0 20px #ffd43c80;animation:pulseLive 1.4s ease-in-out infinite}.edit-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;background:#6b5ce7;color:#fff;border-radius:999px;font-size:10px;font-weight:800}.hud-btn.edit-toggle.active .edit-count{background:#15141b;color:#ffd43c}.edit-mode-hint{position:absolute;top:64px;left:50%;transform:translate(-50%);z-index:20;padding:10px 18px;background:#0b0a11eb;backdrop-filter:blur(12px);border:2px solid rgba(255,212,60,.55);border-radius:12px;color:#fff;font-family:var(--f-ui);font-size:13px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 24px #0006;animation:liveOverlayIn .25s ease}.edit-mode-hint strong{color:#ffd43c}.edit-mode-exit{border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;padding:5px 12px;border-radius:8px;font-size:12px;cursor:pointer;transition:background .15s}.edit-mode-exit:hover{background:#ff546480;border-color:#ff5464cc}.wctx-backdrop{position:fixed;inset:0;z-index:49;background:transparent}.wctx-menu{position:fixed;z-index:50;width:260px;background:#0b0a11f5;backdrop-filter:blur(14px);border:2px solid rgba(255,212,60,.5);border-radius:14px;box-shadow:0 16px 40px #0009;color:#fff;font-family:var(--f-ui);animation:liveOverlayIn .18s ease;overflow:hidden}.wctx-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ffd43c1a;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px;color:#ffffffb3;font-family:ui-monospace,Consolas,monospace}.wctx-close{width:20px;height:20px;border:none;background:transparent;color:#fff9;font-size:18px;cursor:pointer;padding:0}.wctx-close:hover{color:#fff}.wctx-actions{display:flex;flex-direction:column;padding:8px;gap:4px}.wctx-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#fff;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;text-align:left;transition:all .12s}.wctx-btn span{flex:1}.wctx-btn:hover{background:#6b5ce733;border-color:#6b5ce780}.wctx-btn.primary{background:linear-gradient(135deg,#6b5ce7,#9f8cff);border-color:#6b5ce7}.wctx-btn.primary:hover{background:linear-gradient(135deg,#7c6df0,#b0a0ff);box-shadow:0 4px 12px #6b5ce766}.wctx-btn.danger:hover{background:#ff546433;border-color:#ff546480;color:#ff8aa0}.wctx-colors{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:12px;align-items:center}.wctx-swatch{aspect-ratio:1/1;border-radius:10px;border:2px solid rgba(255,255,255,.1);cursor:pointer;padding:0;transition:transform .12s,border-color .12s}.wctx-swatch:hover{transform:scale(1.15);border-color:#fff}.wctx-back{grid-column:1 / -1;margin-top:8px;padding:6px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffffbf;border-radius:8px;cursor:pointer;font-family:inherit}.wctx-back:hover{background:#ffffff0f}.wctx-footer{padding:6px 14px 8px;text-align:center;color:#fff6;font-size:10px;border-top:1px solid rgba(255,255,255,.04)}.spawn-q-btn{position:absolute;bottom:20px;right:20px;z-index:35;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#0b0a11eb;color:#ffd43c;border:2px solid rgba(255,212,60,.5);border-radius:999px;font-family:var(--f-ui);font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #00000073;transition:all .15s}.spawn-q-btn:hover{background:#ffd43c26;border-color:#ffd43c;transform:translateY(-1px)}.spawn-q-btn.active{background:linear-gradient(135deg,#ffd43c,#ff9454);color:#15141b;border-color:#ffd43c;animation:pulseLive 1.4s ease-in-out infinite}.spawn-q-btn.placement{background:#6b5ce7;color:#fff;border-color:#9f8cff}.spawn-q-btn kbd{background:#0000004d;color:currentColor;padding:1px 6px;border-radius:4px;font-family:ui-monospace,Consolas,monospace;font-size:11px;border:1px solid rgba(255,255,255,.2)}.spawn-menu-backdrop{position:fixed;inset:0;z-index:100;background:#06080ea6;backdrop-filter:blur(6px);animation:fadeIn .14s ease}.spawn-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(1100px,95vw);height:min(720px,90vh);z-index:101;background:#11172a;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 30px 80px #0009;display:flex;flex-direction:column;color:#e8eaf2;overflow:hidden;animation:liveOverlayIn .22s ease}.spawn-menu-head{display:flex;align-items:center;gap:12px;padding:10px 16px;background:linear-gradient(180deg,#141a2b,#0e131e);border-bottom:1px solid rgba(255,255,255,.06)}.spawn-menu-head strong{color:#ffd43c;font-size:16px;white-space:nowrap}.spawn-menu-tabs{display:flex;gap:4px;padding:4px;background:#0b1021;border-radius:10px}.spawn-menu-tab{padding:7px 14px;border:none;background:transparent;color:#fff9;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .12s;font-family:inherit}.spawn-menu-tab:hover{color:#fff}.spawn-menu-tab.active{background:linear-gradient(135deg,#6b5ce7,#9f8cff);color:#fff;box-shadow:0 4px 12px #6b5ce766}.spawn-menu-search{flex:1;padding:9px 14px;background:#0b1021;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:13px;outline:none;font-family:inherit}.spawn-menu-search:focus{border-color:#6b5ce7;box-shadow:0 0 0 3px #6b5ce726}.spawn-menu-close{padding:7px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:10px;font-size:13px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;font-family:inherit}.spawn-menu-close kbd{font-family:ui-monospace,Consolas,monospace;font-size:10px;padding:1px 5px;background:#00000059;border-radius:3px}.spawn-menu-close:hover{background:#ff546440;border-color:#ff546480}.spawn-menu-body{flex:1;display:grid;grid-template-columns:190px 1fr;min-height:0}.spawn-menu-sidebar{display:flex;flex-direction:column;gap:1px;padding:8px 6px;background:#0b1021;border-right:1px solid rgba(255,255,255,.06);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.spawn-menu-cat{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:1px solid transparent;border-radius:8px;color:#ffffffb8;font-size:12px;cursor:pointer;text-align:left;font-family:inherit;transition:all .12s}.spawn-menu-cat:hover{background:#ffffff0a;color:#fff}.spawn-menu-cat.active{background:#6b5ce733;border-color:#6b5ce780;color:#c5b9ff}.spawn-menu-cat small{color:#fff6;font-size:10px;font-weight:700;padding:1px 7px;background:#ffffff0d;border-radius:999px}.spawn-menu-sep{border:none;border-top:1px solid rgba(255,255,255,.06);margin:6px 4px}.spawn-menu-main{display:flex;flex-direction:column;min-height:0;padding:14px 18px;overflow:hidden}.spawn-menu-headline{color:#fff9;font-size:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.spawn-quick-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}.spawn-quick-label{font-size:11px;color:#fff6;white-space:nowrap;flex-shrink:0}.spawn-quick-chip{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#ffffff12;color:#ffffffd9;font-size:12px;cursor:pointer;transition:background .12s,border-color .12s}.spawn-quick-chip:hover{background:#ffffff26;border-color:#ffffff40}.spawn-quick-chip.active{background:#6b5ce766;border-color:#6b5ce7cc;color:#fff}.spawn-menu-empty{text-align:center;padding:60px 20px;color:#fff6;font-size:13px}.spawn-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;overflow-y:auto;padding:4px;align-content:start}.spawn-menu-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 10px;background:#ffffff0a;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .14s;color:#fff;font-family:inherit;text-align:center}.spawn-menu-card:hover{background:#6b5ce726;border-color:#6b5ce773;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.spawn-menu-card.active{background:#ffd43c33;border-color:#ffd43c;box-shadow:0 0 0 2px #ffd43c4d,0 6px 20px #ffd43c4d}.spawn-menu-fav{position:absolute;top:6px;right:8px;font-size:14px;cursor:pointer;color:#ffd43c80;transition:color .12s,transform .12s}.spawn-menu-fav:hover{transform:scale(1.2);color:#ffd43c}.spawn-menu-emoji{font-size:38px;line-height:1}.spawn-menu-label{font-size:12px;font-weight:700}.spawn-menu-hint{font-size:10px;color:#ffffff73;line-height:1.3;padding:0 4px}.spawn-hl{background:#ffdc3c59;color:#ffe066;border-radius:2px;padding:0 1px}.spawn-menu-foot{display:flex;gap:16px;justify-content:center;padding:10px 20px;border-top:1px solid rgba(255,255,255,.06);color:#ffffff80;font-size:11px;background:#0e131e}.spawn-menu-foot kbd{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);padding:1px 6px;border-radius:3px;font-family:ui-monospace,Consolas,monospace;font-size:10px;margin-right:3px;color:#ffd43c}@media(max-width:800px){.spawn-menu-body{grid-template-columns:1fr}.spawn-menu-sidebar{flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.spawn-menu-cat{min-width:130px}}.tools-tab{flex:1;overflow-y:auto;padding:20px 28px;display:flex;flex-direction:column;gap:22px;color:#fff}.tools-section h4{margin:0 0 12px;font-size:13px;color:#ffd43c;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.tools-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;background:#ffffff0a;border:2px solid transparent;border-radius:14px;color:#fff;cursor:pointer;text-align:left;transition:all .14s;font-family:inherit}.tools-card:hover{background:#6b5ce726;border-color:#6b5ce766;transform:translateY(-1px)}.tools-card.active{background:linear-gradient(135deg,#ffd43c2e,#ff945426);border-color:#ffd43c;box-shadow:0 0 0 2px #ffd43c33}.tools-card-emoji{font-size:32px;line-height:1}.tools-card-label{font-size:15px;font-weight:700}.tools-card-hint{font-size:12px;color:#fff9;line-height:1.35}.tools-deactivate{margin-top:12px;padding:10px 14px;background:#ffd43c1a;border:1px solid rgba(255,212,60,.3);border-radius:10px;font-size:13px;color:#ffffffd9;display:flex;justify-content:space-between;align-items:center}.tools-deactivate b{color:#ffd43c}.tools-deactivate button{padding:5px 11px;background:#ff546433;border:1px solid rgba(255,84,100,.4);color:#ff8aa0;border-radius:8px;cursor:pointer;font-family:inherit;font-size:12px}.tools-deactivate button:hover{background:#ff54644d}.tools-colors{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;max-width:520px}.tools-swatch{aspect-ratio:1/1;border-radius:10px;border:2px solid rgba(255,255,255,.08);cursor:pointer;padding:0;transition:transform .12s,border-color .12s}.tools-swatch:hover{transform:scale(1.15);border-color:#fff}.tools-swatch.active{border-color:#ffd43c;box-shadow:0 0 0 2px #ffd43c4d}.tools-row{display:flex;gap:10px;flex-wrap:wrap}.tools-action{padding:10px 16px;background:#6b5ce726;border:1px solid rgba(107,92,231,.4);color:#c5b9ff;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s}.tools-action:hover:not(:disabled){background:#6b5ce740;transform:translateY(-1px)}.tools-action:disabled{opacity:.4;cursor:not-allowed}.tools-action.danger{background:#ff54641f;border-color:#ff546466;color:#ff8aa0}.tools-action.danger:hover{background:#ff546440}.tools-info ul{margin:0;padding-left:20px;color:#ffffffbf;font-size:13px;line-height:1.6}.tools-info kbd{background:#ffffff14;padding:1px 6px;border-radius:4px;font-family:ui-monospace,Consolas,monospace;font-size:11px;color:#ffd43c}.spawn-placement-hint.tool-hint{display:inline-flex;align-items:center;gap:10px;border-color:#6b5ce7;box-shadow:0 8px 24px #0006,0 0 20px #6b5ce74d;animation:none}.tool-hint-swatch{width:18px;height:18px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 1px #0003}.tool-hint-exit{background:#ffffff1a;border:none;color:#fff;width:22px;height:22px;border-radius:50%;font-size:14px;cursor:pointer;line-height:1;padding:0}.tool-hint-exit:hover{background:#ff546480}.spawn-placement-hint{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:31;padding:10px 22px;background:#0b0a11f2;backdrop-filter:blur(12px);border:2px solid #FFD43C;border-radius:16px;color:#fff;font-family:var(--f-ui);font-size:13px;box-shadow:0 8px 24px #0006,0 0 20px #ffd43c40;animation:pulseLive 1.6s ease-in-out infinite;pointer-events:all;display:flex;flex-direction:column;align-items:center;gap:8px}.spawn-placement-hint b{color:#ffd43c}.spawn-hint-colors{display:flex;gap:6px;justify-content:center;flex-wrap:nowrap}.spawn-hint-swatch{width:22px;height:22px;flex:0 0 22px;box-sizing:border-box;padding:0;border-radius:50%;border:none;cursor:pointer;transition:transform .1s;outline-offset:2px}.spawn-hint-swatch:hover{transform:scale(1.2)}.scriptable-label{background:#0b0a11eb;color:#fff;padding:4px 10px;border-radius:8px;font-family:var(--f-ui);font-size:11px;font-weight:700;white-space:nowrap;border:1px solid rgba(255,212,60,.4);pointer-events:none}.confetti-overlay{position:fixed;inset:0;z-index:25;pointer-events:none;width:100%;height:100%}.lp-quiz-summary{padding:20px 24px;margin-bottom:24px;border-radius:16px;background:#9fe8c71a;border:2px solid rgba(159,232,199,.3);display:flex;align-items:center;gap:24px}.lp-quiz-summary.warn{background:#ffb4c81a;border-color:#ffb4c84d}.lp-quiz-score{font-size:42px;font-weight:900;color:#9fe8c7;font-family:ui-monospace,Consolas,monospace}.lp-quiz-summary.warn .lp-quiz-score{color:#ffb4c8}.lp-quiz-score-label{font-size:17px;color:#ffffffd9}.lp-quiz-questions{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.lp-quiz-q{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px 24px}.lp-quiz-text{display:flex;gap:12px;align-items:baseline;font-size:17px;color:#fff;margin-bottom:14px;line-height:1.5;font-weight:700}.lp-quiz-n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#6b5ce74d;color:#c5b9ff;font-size:13px;font-weight:800;flex-shrink:0}.lp-quiz-opts{display:flex;flex-direction:column;gap:8px}.lp-quiz-opt{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0a;border:2px solid rgba(255,255,255,.08);border-radius:10px;color:#fff;font-size:14px;cursor:pointer;font-family:inherit;text-align:left;transition:all .12s}.lp-quiz-opt:hover:not(:disabled){border-color:#6b5ce780;background:#6b5ce71a}.lp-quiz-opt.picked{border-color:#ffd43c;background:#ffd43c14}.lp-quiz-opt.correct{border-color:#9fe8c7;background:#9fe8c71f;color:#9fe8c7}.lp-quiz-opt.wrong{border-color:#ff5464;background:#ff54641a;color:#ff8aa0}.lp-quiz-opt:disabled{cursor:default}.lp-quiz-opt-letter{width:26px;height:26px;border-radius:50%;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-family:ui-monospace,Consolas,monospace;font-weight:800;font-size:12px;flex-shrink:0}.lp-quiz-opt.correct .lp-quiz-opt-letter{background:#9fe8c740}.lp-quiz-opt.wrong .lp-quiz-opt-letter{background:#ff546440}.lp-quiz-check{margin-left:auto;font-size:16px;font-weight:800}.lp-quiz-explain{margin-top:14px;padding:10px 14px;background:#6b5ce71a;border:1px solid rgba(107,92,231,.2);border-radius:10px;font-size:13.5px;color:#ffffffd9;line-height:1.5}.lp-quiz-submit-row{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:20px}.tour-overlay{position:fixed;inset:0;z-index:9998;background:#06080ebf;pointer-events:auto;animation:fadeIn .2s ease}.tour-spotlight{position:absolute;border-radius:12px;background:transparent;box-shadow:0 0 0 9999px #06080ebf,0 0 30px #ffd43c80,inset 0 0 0 2px #ffd43c99;pointer-events:none;transition:all .25s ease}.tour-tip{position:fixed;z-index:9999;padding:20px 22px;background:#14141efa;backdrop-filter:blur(20px);border:2px solid rgba(255,212,60,.5);border-radius:16px;color:#fff;font-family:var(--f-ui);box-shadow:0 20px 50px #00000080;animation:liveOverlayIn .22s ease}.tour-tip-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.tour-tip-step{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#ffd43c;font-weight:800}.tour-tip-close{background:transparent;border:none;color:#ffffff80;font-size:18px;cursor:pointer;padding:0 4px}.tour-tip-close:hover{color:#fff}.tour-tip-title{margin:0 0 8px;font-size:16px;color:#fff}.tour-tip-body{margin:0 0 12px;font-size:13px;color:#fffc;line-height:1.5}.tour-tip-progress{height:3px;background:#ffffff0f;border-radius:999px;margin-bottom:12px;overflow:hidden}.tour-tip-progress-fill{height:100%;background:linear-gradient(90deg,#6b5ce7,#ffd43c);transition:width .25s ease}.tour-tip-nav{display:flex;justify-content:space-between;gap:8px}.tour-tip-btn{padding:7px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.tour-tip-btn:hover:not(:disabled){background:#6b5ce733;border-color:#6b5ce780}.tour-tip-btn:disabled{opacity:.35;cursor:not-allowed}.tour-tip-btn-next{background:linear-gradient(135deg,#6b5ce7,#9f8cff);border-color:#6b5ce7}.portfolio-hero-cover{display:flex!important;align-items:center;gap:32px}.portfolio-hero-left{flex:1;min-width:0}.portfolio-progress-ring{flex-shrink:0;align-self:center}.portfolio-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:36px}.portfolio-kpi{padding:20px;background:#fff;border:1px solid rgba(21,20,27,.08);border-radius:16px;border-top:4px solid var(--accent);box-shadow:0 4px 14px #15141b0a}.portfolio-kpi-emoji{font-size:28px;line-height:1;margin-bottom:8px}.portfolio-kpi-value{font-size:28px;font-weight:900;color:var(--accent);line-height:1}.portfolio-kpi-label{font-size:12.5px;color:var(--ink-soft);font-weight:600;margin-top:4px}.portfolio-journey{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.portfolio-mod{position:relative;padding:14px 10px;background:#fff;border:1px solid rgba(21,20,27,.08);border-radius:14px;text-align:center;text-decoration:none;color:inherit;transition:transform .15s}.portfolio-mod:hover{transform:translateY(-2px)}.portfolio-mod.done{background:color-mix(in srgb,var(--accent) 8%,#ffffff);border-color:var(--accent)}.portfolio-mod-emoji{font-size:26px}.portfolio-mod-n{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--ink-soft);font-weight:700;margin:4px 0}.portfolio-mod-title{font-size:11.5px;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:8px;min-height:28px}.portfolio-mod-bar{height:4px;background:#15141b14;border-radius:999px;overflow:hidden;margin-bottom:4px}.portfolio-mod-bar-fill{height:100%;background:var(--accent);transition:width .3s}.portfolio-mod-count{font-size:10.5px;color:var(--ink-soft);font-weight:700}.portfolio-capstones{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.portfolio-caps{padding:20px;background:#fff;border:2px solid var(--accent);border-radius:16px;text-align:center;position:relative}.portfolio-caps.ghost{opacity:.5;border-style:dashed;background:color-mix(in srgb,var(--accent) 3%,#ffffff)}.portfolio-caps-emoji{font-size:42px;margin-bottom:10px}.portfolio-caps-title{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:4px}.portfolio-caps-meta{font-size:11.5px;color:var(--ink-soft);margin-bottom:10px;font-weight:600}.portfolio-caps-badge{display:inline-block;padding:4px 10px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-radius:999px;font-size:11px;font-weight:700}.portfolio-caps-badge.ghost{background:#15141b0f;color:var(--ink-soft)}.portfolio-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.portfolio-achievements{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.portfolio-ach{position:relative;padding:16px 14px;background:#fff;border:2px solid var(--rarity);border-radius:14px;text-align:center;transition:transform .15s}.portfolio-ach.unlocked{background:color-mix(in srgb,var(--accent) 8%,#ffffff)}.portfolio-ach.unlocked:hover{transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 20%,transparent)}.portfolio-ach.locked{opacity:.45;filter:grayscale(60%)}.portfolio-ach-emoji{font-size:38px;line-height:1;margin-bottom:10px}.portfolio-ach-title{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:4px}.portfolio-ach-rarity{font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--rarity);font-weight:800;margin-bottom:6px}.portfolio-ach-desc{font-size:11px;color:var(--ink-soft);line-height:1.4}.portfolio-quizzes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.portfolio-quiz{padding:14px 16px;background:#fff;border:1px solid rgba(21,20,27,.08);border-radius:12px;text-decoration:none;color:inherit;transition:transform .12s}.portfolio-quiz:hover{transform:translate(2px)}.portfolio-quiz-n{font-family:ui-monospace,Consolas,monospace;font-size:10.5px;color:var(--ink-soft);font-weight:700;margin-bottom:4px}.portfolio-quiz-title{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:6px;line-height:1.35}.portfolio-quiz-score{font-size:13px;font-weight:800;font-family:ui-monospace,Consolas,monospace}@media(max-width:900px){.portfolio-kpis{grid-template-columns:1fr 1fr}.portfolio-journey{grid-template-columns:repeat(4,1fr)}}@media(max-width:520px){.portfolio-kpis{grid-template-columns:1fr}.portfolio-journey{grid-template-columns:1fr 1fr}}.lp-wrap{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 80% -10%,rgba(107,92,231,.15),transparent 70%),radial-gradient(900px 500px at -10% 110%,rgba(255,180,200,.1),transparent 70%),#0a0d15;color:#e8eaf2;font-family:var(--f-ui);overflow:hidden}.lp-header{display:flex;align-items:center;gap:20px;padding:14px 24px;background:#0a0d15d9;backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.lp-close{color:#ffd43c;text-decoration:none;font-size:13px;font-weight:600;padding:6px 12px;border:1px solid rgba(255,212,60,.3);border-radius:8px}.lp-close:hover{background:#ffd43c1a}.lp-header-info{flex:1;display:flex;gap:8px;font-size:13px;color:#fff9}.lp-counter{font-family:ui-monospace,Consolas,monospace;font-size:13px;color:#9fe8c7;background:#9fe8c71a;padding:4px 10px;border-radius:999px;border:1px solid rgba(159,232,199,.25)}.lp-progress-bar{height:3px;background:#ffffff0d;flex-shrink:0}.lp-progress-fill{height:100%;transition:width .25s ease}.lp-main{flex:1;min-height:0;padding:40px 80px;display:flex;align-items:center;justify-content:center;overflow-y:auto}.lp-slide{max-width:960px;width:100%;animation:lpSlideIn .3s ease}@keyframes lpSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.lp-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#ffffff73;font-weight:800;margin-bottom:16px}.lp-step-head{display:flex;align-items:baseline;gap:14px;margin-bottom:28px;flex-wrap:wrap}.lp-step-badge{padding:4px 12px;background:#6b5ce733;color:#c5b9ff;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.lp-h2{font-size:40px;font-weight:900;margin:0;color:#fff;line-height:1.1}.lp-title{font-size:68px;font-weight:900;margin:0 0 20px;line-height:1.05;background:linear-gradient(135deg,#ffd43c,#ff9454,#ff5ab1);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.lp-hook{font-size:22px;color:#fffc;line-height:1.4;margin:0 0 32px}.lp-hero-tags{display:flex;gap:10px;flex-wrap:wrap}.lp-tag{padding:8px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;font-size:13px;color:#ffffffd9;font-weight:600}.lp-recall{background:#6b5ce714;border:1px solid rgba(107,92,231,.2);border-radius:18px;padding:28px 32px}.lp-recall p{font-size:18px;color:#ffffffd9;line-height:1.5;margin:0 0 16px}.lp-recall-terms{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.lp-term{padding:8px 14px;background:#ffd43c1a;border:1px solid rgba(255,212,60,.3);border-radius:10px;color:#ffd43c;font-size:14px;font-weight:600}.lp-recall-hint{font-size:14px!important;color:#ffffff8c!important;font-style:italic}.lp-subtle{font-size:15px;color:#ffffff8c;margin-top:18px}.lp-subtle b{color:#ffd43c}.lp-terms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.lp-term-card{background:#6b5ce71f;border:2px solid rgba(107,92,231,.3);border-radius:16px;padding:20px;transition:transform .15s}.lp-term-card:hover{transform:translateY(-2px)}.lp-term-icon{font-size:28px;margin-bottom:10px}.lp-term-name{font-size:18px;font-weight:700;color:#c5b9ff}.lp-empty{padding:40px;text-align:center;color:#fff6;font-size:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:16px}.lp-teacher{padding:28px 32px;background:#ffb4c80f;border:1px solid rgba(255,180,200,.2);border-radius:18px}.lp-teacher-quote{font-size:20px;color:#ffb4c8;font-style:italic;margin:0 0 20px}.lp-demo{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.lp-demo-step{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#ffffff0a;border-radius:12px;font-size:16px;color:#ffffffd9}.lp-demo-step b{padding:2px 8px;background:#ffd43c26;color:#ffd43c;border-radius:5px;font-family:ui-monospace,Consolas,monospace;font-size:14px}.lp-demo-num{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ffb4c8,#ff5ab1);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}.lp-teacher-after{margin:0;color:#fff9;font-size:15px}.lp-teacher-after b{color:#ff5ab1}.lp-blocks{display:flex;flex-direction:column;gap:12px}.lp-block-card{padding:18px 22px;background:linear-gradient(135deg,#6b5ce726,#9fe8c71a);border:2px solid rgba(107,92,231,.35);border-radius:14px;animation:lpBlockIn .4s ease backwards}@keyframes lpBlockIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.lp-block-card code{font-family:ui-monospace,Consolas,monospace;font-size:18px;color:#c5b9ff;font-weight:700}.lp-practice{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.lp-practice li{padding:16px 20px;background:#9fe8c70f;border:1px solid rgba(159,232,199,.2);border-left:4px solid #9FE8C7;border-radius:12px;font-size:16px;color:#ffffffd9;line-height:1.5}.lp-practice code{background:#0000004d;padding:1px 7px;border-radius:4px;font-family:ui-monospace,Consolas,monospace;font-size:14px;color:#9fe8c7}.lp-practice b{color:#ffd43c;margin-right:8px}.lp-cta{display:inline-block;margin-top:24px;padding:14px 28px;background:linear-gradient(135deg,#6b5ce7,#9f8cff);color:#fff;text-decoration:none;border-radius:14px;font-weight:700;font-size:15px;transition:transform .15s,box-shadow .15s}.lp-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6b5ce766}.lp-diff{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.lp-diff-card{padding:22px;background:#ffffff0a;border:2px solid;border-radius:16px}.lp-diff-tag{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.lp-diff-card p{margin:0;font-size:15px;color:#ffffffd9;line-height:1.5}.lp-capstone{padding:32px;background:#ffd43c14;border:2px solid;border-radius:20px}.lp-capstone-title{font-size:32px;font-weight:900;color:#ffd43c;margin-bottom:6px}.lp-capstone-meta{font-size:14px;color:#fff9;margin-bottom:20px}.lp-capstone-contribution{font-size:17px;line-height:1.55;color:#ffffffe6;margin:0 0 20px}.lp-capstone-contribution strong{color:#ffd43c;display:block;margin-bottom:6px}.lp-final-card{padding:32px;background:linear-gradient(135deg,#6b5ce71f,#ffd43c14);border:2px solid;border-radius:20px}.lp-mantra{font-size:18px;color:#ffffffd9;line-height:1.55;margin:0 0 24px}.lp-mantra b{color:#ffd43c;font-style:normal}.lp-next-lesson{padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.lp-next-lesson h3{font-size:22px;color:#fff;margin:6px 0 8px}.lp-next-lesson p{font-size:15px;color:#ffffffa6;margin:0}.lp-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;background:#0a0d15d9;backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.lp-nav-btn{padding:10px 22px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.lp-nav-btn:hover:not(:disabled){background:#6b5ce733;border-color:#6b5ce780}.lp-nav-btn:disabled{opacity:.3;cursor:not-allowed}.lp-nav-next{background:linear-gradient(135deg,#6b5ce7,#9f8cff);border-color:#6b5ce7}.lp-nav-next:hover:not(:disabled){box-shadow:0 4px 16px #6b5ce766}.lp-dots{display:flex;gap:8px}.lp-dot{width:9px;height:9px;border-radius:50%;background:#ffffff26;cursor:pointer;transition:all .15s}.lp-dot:hover{background:#ffffff4d}.lp-dot.active{background:#ffd43c;transform:scale(1.3)}.lp-empty-page{text-align:center;padding:80px 40px}.lp-empty-page h2{color:#fff;margin-bottom:20px}@media(max-width:720px){.lp-main{padding:24px 20px}.lp-title{font-size:42px}.lp-h2{font-size:28px}.lp-diff{grid-template-columns:1fr}}.curric-summary{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:20px 24px;margin-bottom:32px;background:linear-gradient(135deg,#6b5ce714,#ffd43c14);border:1px solid rgba(107,92,231,.18);border-radius:18px}.curric-summary-stats{display:flex;gap:32px;flex-wrap:wrap}.curric-summary-big{font-family:var(--f-display, "Nunito", system-ui);font-size:32px;font-weight:900;color:var(--ink, #15141b);line-height:1.1;margin-top:4px}.curric-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.curric-module{display:flex;flex-direction:column;gap:10px;padding:20px;background:#fff;border:1px solid rgba(21,20,27,.08);border-radius:16px;border-left:6px solid var(--accent);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #15141b0a}.curric-module:hover{transform:translateY(-2px);box-shadow:0 8px 24px #15141b14}.curric-module.locked{opacity:.55;pointer-events:none}.curric-module-head{display:flex;align-items:flex-start;gap:12px}.curric-module-emoji{font-size:36px;line-height:1;width:60px;height:60px;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-2, #F4EFE3);border-radius:14px;flex-shrink:0}.curric-module-emoji svg{display:block}.kb-course-icon--niksel{background:var(--accent-soft, var(--paper-2))!important;padding:12px!important;border-radius:18px}.curric-module-meta{flex:1;min-width:0}.curric-module-title{margin:4px 0 0;font-size:18px;color:var(--ink, #15141b)}.curric-module-story{margin:0;font-size:13.5px;color:var(--ink-soft);line-height:1.5}.curric-module-capstone{padding:8px 12px;background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:10px;font-size:12.5px;color:var(--ink)}.curric-module-capstone strong{color:var(--accent)}.curric-module-progress{display:flex;gap:12px;align-items:center;margin-top:6px}.curric-module-progress .kb-progress{flex:1}.curric-module-progress small{color:var(--ink-soft);font-size:11px;font-weight:600}.curric-module-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:28px 32px;margin-bottom:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,transparent),#15141b05);border:1px solid color-mix(in srgb,var(--accent) 25%,rgba(21,20,27,.08));border-radius:20px}.curric-module-story-big{font-size:16px;color:var(--ink-soft);margin:0 0 16px;line-height:1.5}.curric-capstone-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffffbf;border:1px solid rgba(21,20,27,.08);border-radius:999px;font-size:14px;flex-wrap:wrap}.curric-module-hero-progress{text-align:center;padding:16px 24px;background:#fff;border-radius:14px;border:1px solid rgba(21,20,27,.08)}.curric-module-hero-progress small{display:block;color:var(--ink-soft);font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-weight:700}.curric-lesson-list{display:flex;flex-direction:column;gap:10px}.curric-lesson-card{display:grid;grid-template-columns:56px 1fr auto;gap:18px;align-items:center;padding:16px 20px;background:#fff;border:1px solid rgba(21,20,27,.08);border-left:4px solid var(--accent);border-radius:14px;text-decoration:none;color:inherit;transition:transform .12s,box-shadow .12s}.curric-lesson-card:hover{transform:translate(4px);box-shadow:0 4px 14px #15141b12}.curric-lesson-card.locked{opacity:.45;pointer-events:none}.curric-lesson-card.done{background:linear-gradient(90deg,rgba(52,195,138,.08),transparent);border-left-color:#34c38a}.curric-lesson-n{width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px}.curric-lesson-card.done .curric-lesson-n{background:#34c38a26;color:#0c4e2e}.curric-lesson-meta{display:flex;gap:10px;align-items:baseline;margin-bottom:2px}.curric-lesson-kind{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.4px}.curric-lesson-local{font-size:11px;color:var(--ink-soft);font-family:ui-monospace,Consolas,monospace}.curric-lesson-title{margin:0;font-size:16px;font-weight:700;color:var(--ink, #15141b)}.curric-lesson-hook{margin:4px 0 0;font-size:13px;color:var(--ink-soft);line-height:1.45}.curric-lesson-cta{font-size:13px;font-weight:700;color:var(--accent);white-space:nowrap}.curric-lesson-card.done .curric-lesson-cta{color:#34c38a}.curric-lesson-hero{margin-bottom:24px}.curric-lesson-hero h1,.curric-lesson-hero h2,.curric-module-hero h1,.curric-module-hero h2,.curric-lesson-md h1,.curric-lesson-md h2{font-family:var(--f-display, "Nunito"),system-ui,-apple-system,sans-serif;font-weight:900;letter-spacing:-.02em;line-height:1.05}.curric-lesson-hook-big{font-size:18px;color:var(--ink-soft);margin:0;line-height:1.5}.curric-lesson-grid{display:grid;grid-template-columns:1fr 300px;gap:24px}.curric-side{position:sticky;top:80px;align-self:start}.curric-side-nav{display:block;padding:8px 0;font-size:13px;color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(21,20,27,.05)}.curric-side-nav:last-child{border-bottom:none}.curric-side-nav:hover{color:var(--violet, #6B5CE7)}.curric-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.curric-chip{padding:6px 12px;background:#f5f6fa;border:1px solid rgba(21,20,27,.08);border-radius:999px;font-size:12.5px;color:var(--ink)}.curric-chip-block{font-family:ui-monospace,Consolas,monospace;background:#6b5ce71a;border-color:#6b5ce740;color:#2a1f8c;font-size:11.5px}.curric-diff{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:10px}.curric-diff>div{padding:12px;background:#f5f6fa;border-radius:10px;border:1px solid rgba(21,20,27,.06);font-size:13px;line-height:1.5}.curric-diff-tag{display:block;font-weight:800;margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.3px}@media(max-width:960px){.curric-lesson-grid{grid-template-columns:1fr}.curric-side{position:static}.curric-module-hero,.curric-diff,.curric-summary{grid-template-columns:1fr}}.kpi-card{padding:24px;display:flex;flex-direction:column;gap:8px;border-top:3px solid var(--accent)}.kpi-emoji{font-size:32px;width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:var(--paper-2, #F4EFE3)}.kpi-emoji svg{display:block}.kpi-value{font-size:30px;font-weight:800;line-height:1}.kpi-label{font-size:13px;color:var(--ink-soft);font-weight:600}.parent-timeline{display:flex;flex-direction:column;gap:12px}.timeline-row{display:flex;gap:14px;padding:14px 18px;background:#fff;border:1px solid rgba(21,20,27,.08);border-radius:14px}.timeline-dot{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.timeline-dot.kind-lesson{background:#6b5ce71f}.timeline-dot.kind-coin{background:#ffd43c26}.timeline-dot.kind-achievement{background:#ff945426}.timeline-dot.kind-publish{background:#9fe8c740}.timeline-body{flex:1}.timeline-label{font-size:14px;font-weight:600;color:var(--ink, #15141b);margin-bottom:2px}.timeline-ts{font-size:12px;color:var(--ink-soft)}.sites-pipeline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:center}.pipeline-step{display:flex;gap:14px;background:#fff;border:1px solid rgba(21,20,27,.08);border-radius:16px;padding:20px;box-shadow:0 4px 14px #15141b0a}.pipeline-step strong{display:block;font-size:16px;margin-bottom:4px;color:var(--ink, #15141b)}.pipeline-step p{margin:0;color:var(--ink-soft);font-size:13.5px;line-height:1.45}.pipeline-n{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#6b5ce7,#9f8cff);color:#fff;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pipeline-arrow{font-size:28px;color:#6b5ce780;font-weight:700;text-align:center}.site-card{position:relative}.site-card-del{border:none;background:transparent;font-size:22px;color:#15141b59;cursor:pointer;padding:0 6px;line-height:1;transition:color .15s}.site-card-del:hover{color:#ff5464}.site-template{transition:transform .15s,box-shadow .15s}.site-template:hover{transform:translateY(-3px);box-shadow:0 12px 30px #15141b14}@media(max-width:900px){.sites-pipeline{grid-template-columns:1fr;gap:12px}.pipeline-arrow{transform:rotate(90deg)}}.site-editor{display:flex;flex-direction:column;height:100vh;background:#f5f6fa;color:var(--ink, #15141b)}.site-editor-header{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#fff;border-bottom:1px solid rgba(21,20,27,.08);flex-shrink:0;box-shadow:0 2px 10px #15141b0a}.site-editor-header .home-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(21,20,27,.1);background:#fff;font-size:18px;cursor:pointer}.site-editor-header .home-btn:hover{background:#6b5ce714}.site-editor-brand{display:flex;align-items:baseline;gap:6px;font-size:15px}.site-editor-brand small{color:#15141b66;font-size:12px}.site-mode-switch{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:auto;padding:4px;background:#f0f2fa;border-radius:14px}.mode-pill{display:inline-flex;align-items:baseline;gap:8px;padding:8px 16px;border-radius:10px;background:transparent;border:none;cursor:pointer;font-size:14px;font-weight:600;color:#15141b99;transition:all .15s}.mode-pill small{font-size:11px;opacity:.6}.mode-pill:hover{color:var(--ink, #15141b)}.mode-pill.active{background:#fff;color:var(--ink, #15141b);box-shadow:0 2px 8px #15141b14}.mode-arrow-mini{color:#6b5ce773;font-weight:700}.site-editor-actions{display:flex;gap:8px}.site-name-input{padding:8px 12px;border:1px solid rgba(21,20,27,.12);border-radius:10px;font-size:14px;font-weight:600;min-width:180px;background:#fff;color:var(--ink, #15141b);outline:none}.site-name-input:focus{border-color:#6b5ce7;box-shadow:0 0 0 3px #6b5ce726}.site-editor-body{flex:1;min-height:0;display:flex}.tpl-mode{flex:1;display:grid;grid-template-columns:260px minmax(0,1fr) 320px;gap:16px;padding:16px;min-height:0}.tpl-props-form header{display:flex;align-items:baseline;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(21,20,27,.06);margin-bottom:12px}.tpl-props-form header strong{font-size:15px}.tpl-section-icon{font-size:18px}.tpl-section-name{flex:1;font-size:13.5px;font-weight:600}.tpl-section-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s}.tpl-section-actions button{border:none;background:#15141b0f;width:22px;height:22px;border-radius:6px;cursor:pointer;font-size:11px;color:#15141bb3}.tpl-section-actions button:hover{background:#6b5ce733;color:#15141b}.tpl-theme-swatches{display:flex;flex-wrap:wrap;gap:8px}.tpl-theme-dot{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .15s}.tpl-theme-dot:hover{transform:scale(1.12)}.tpl-theme-dot.active{border-color:var(--ink, #15141b);box-shadow:0 0 0 2px #fff inset}.tpl-preview{background:#fff;border-radius:16px;border:1px solid rgba(21,20,27,.08);padding:14px;display:flex;flex-direction:column;min-height:0;box-shadow:0 4px 14px #15141b0a}.tpl-preview-frame{flex:1;min-height:0;border-radius:12px;overflow:hidden;background:#f5f6fa;border:1px solid rgba(21,20,27,.06)}.tpl-preview-frame iframe{width:100%;height:100%;border:none;background:#fff}.tpl-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.tpl-field>span{font-size:12px;font-weight:600;color:#15141bb3;text-transform:uppercase;letter-spacing:.3px}.tpl-field input,.tpl-field textarea{padding:10px 12px;border:1px solid rgba(21,20,27,.12);border-radius:10px;font-size:13.5px;font-family:inherit;color:var(--ink, #15141b);background:#fff;outline:none;resize:vertical}.tpl-field textarea{min-height:80px;font-family:inherit}.tpl-field input:focus,.tpl-field textarea:focus,.tpl-field select:focus,.rep-input:focus{border-color:#6b5ce7;box-shadow:0 0 0 3px #6b5ce726}.tpl-mode--split{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;min-height:0;flex:1}.tpl-editor-pane{background:var(--paper);border-radius:16px;border:1px solid rgba(21,20,27,.08);padding:16px;overflow:auto;display:flex;flex-direction:column;gap:14px;box-shadow:0 4px 14px #15141b0a}.tpl-editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(21,20,27,.06)}.tpl-editor-head strong{font-size:15px}.tpl-editor-head small{color:#15141b80;margin-left:4px;font-size:12px}.tpl-theme-inline{display:flex;align-items:center;gap:10px}.tpl-theme-inline .tpl-theme-swatches{gap:6px;display:flex}.tpl-theme-inline .tpl-theme-dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .15s}.tpl-theme-inline .tpl-theme-dot:hover{transform:scale(1.15)}.tpl-theme-inline .tpl-theme-dot.active{border-color:var(--ink);box-shadow:0 0 0 2px #fff inset}.tpl-section-list{display:flex;flex-direction:column;gap:6px}.tpl-section-card{border:1px solid rgba(21,20,27,.08);border-radius:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.tpl-section-card.open{border-color:var(--violet);box-shadow:0 0 0 3px #6b5ce714}.tpl-section-header{width:100%;display:grid;grid-template-columns:24px 22px auto 1fr auto 14px;align-items:center;gap:10px;padding:10px 12px;border:none;background:#15141b05;cursor:pointer;text-align:left;font-family:inherit;color:inherit}.tpl-section-card.open .tpl-section-header{background:#6b5ce70f}.tpl-section-header:hover{background:#15141b0a}.tpl-section-idx{width:22px;height:22px;background:#15141b14;color:var(--ink-soft);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;font-weight:700}.tpl-section-card.open .tpl-section-idx{background:var(--violet);color:var(--paper)}.tpl-section-header .tpl-section-icon{font-size:18px}.tpl-section-header .tpl-section-name{font-size:13.5px;font-weight:700}.tpl-section-preview-hint{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.tpl-section-card .tpl-section-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s}.tpl-section-header:hover .tpl-section-actions,.tpl-section-card.open .tpl-section-actions{opacity:1}.tpl-section-card .tpl-section-actions button{border:none;background:#15141b0f;width:22px;height:22px;border-radius:6px;cursor:pointer;font-size:10px;color:#15141bb3}.tpl-section-card .tpl-section-actions button:hover{background:#6b5ce733;color:var(--ink)}.tpl-section-chev{font-size:14px;color:#15141b66;text-align:center}.tpl-section-body{padding:14px 16px 18px;border-top:1px solid rgba(21,20,27,.06);background:var(--paper)}.tpl-section-body .tpl-props-form header{display:none}.tpl-preview--half{padding:0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tpl-preview--half .tpl-preview-frame{flex:1;border-radius:16px;border:1px solid rgba(21,20,27,.08);min-height:400px}@media(max-width:1100px){.tpl-mode--split{grid-template-columns:1fr;grid-template-rows:1fr 500px}.tpl-preview--half .tpl-preview-frame{min-height:300px}}.tpl-add-btn{width:100%;padding:11px;background:linear-gradient(135deg,#6b5ce7,#8a7cff);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:13.5px;cursor:pointer;margin-bottom:14px;transition:transform .12s,box-shadow .12s;box-shadow:0 4px 14px #6b5ce74d}.tpl-add-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #6b5ce766}.add-block-backdrop{position:fixed;inset:0;background:#15141b99;backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.add-block-modal{width:min(880px,100%);max-height:80vh;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px #15141b59;display:flex;flex-direction:column}.add-block-modal>header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(21,20,27,.08);font-size:16px}.add-block-modal>header .ghost{border:none;background:transparent;font-size:22px;cursor:pointer;color:#15141b80}.add-block-body{display:grid;grid-template-columns:180px 1fr;min-height:0;flex:1}.add-block-cats{background:#f7f8fc;padding:14px;display:flex;flex-direction:column;gap:4px;border-right:1px solid rgba(21,20,27,.06)}.add-block-cat{display:flex;align-items:center;gap:8px;padding:10px 12px;border:none;background:transparent;border-radius:10px;text-align:left;font-size:13.5px;font-weight:600;color:#15141bbf;cursor:pointer;transition:background .12s}.add-block-cat:hover{background:#6b5ce714;color:#15141b}.add-block-cat.active{background:#6b5ce726;color:#2a1f8c}.add-block-grid{padding:18px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;align-content:flex-start}.add-block-card{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:14px;border:1px solid rgba(21,20,27,.1);background:#fff;text-align:left;cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s}.add-block-card:hover{transform:translateY(-2px);border-color:#6b5ce7;box-shadow:0 8px 20px #6b5ce726}.add-block-emoji{font-size:28px;line-height:1.1}.add-block-card strong{font-size:14px;color:#15141b}.add-block-card small{font-size:12px;color:#15141b8c;line-height:1.4}.pill-select{display:flex;flex-wrap:wrap;gap:4px;background:#15141b0d;border-radius:10px;padding:3px}.pill-select-btn{flex:1;min-width:0;padding:8px 10px;border:none;background:transparent;border-radius:7px;font-size:12.5px;font-weight:600;color:#15141bb3;cursor:pointer;transition:all .12s;white-space:nowrap}.pill-select-btn:hover{color:#15141b}.pill-select-btn.active{background:#fff;color:#2a1f8c;box-shadow:0 2px 6px #15141b14}.tpl-repeater{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.tpl-repeater-label{font-size:12px;font-weight:600;color:#15141bb3;text-transform:uppercase;letter-spacing:.3px}.tpl-repeater-row{display:flex;gap:6px;padding:8px;background:#15141b0a;border-radius:10px;align-items:stretch}.tpl-repeater-inputs{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.rep-input{padding:7px 10px;border:1px solid rgba(21,20,27,.12);border-radius:8px;font-size:13px;font-family:inherit;color:var(--ink, #15141b);background:#fff;outline:none;width:100%;min-width:0;resize:vertical}.tpl-repeater-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.tpl-repeater-actions button{width:24px;height:24px;border:none;background:#15141b14;border-radius:6px;cursor:pointer;font-size:11px;color:#15141bb3}.tpl-repeater-actions button:hover{background:#6b5ce733;color:#15141b}.tpl-repeater-add{border:1px dashed rgba(107,92,231,.4);background:#6b5ce70f;color:#6b5ce7;padding:8px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;transition:background .12s}.tpl-repeater-add:hover{background:#6b5ce71f}@media(max-width:640px){.add-block-body{grid-template-columns:1fr}.add-block-cats{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid rgba(21,20,27,.06)}}.blocks-mode{flex:1;display:grid;grid-template-columns:1.4fr 1fr;gap:12px;padding:12px;min-height:0}.blocks-mode-canvas,.blocks-mode-preview{display:flex;flex-direction:column;min-height:0;background:#fff;border-radius:14px;overflow:hidden;border:1px solid rgba(21,20,27,.08);box-shadow:0 4px 14px #15141b0a}.blocks-mode-canvas .blockly-container{flex:1;min-height:0}.blocks-mode-preview iframe{flex:1;min-height:0;border:none;background:#fff}.blocks-mode-preview-header{padding:10px 16px;background:#f0f2fa;border-bottom:1px solid rgba(21,20,27,.08);font-size:13px;font-weight:600;color:#15141bb3}.share-modal-backdrop{position:fixed;inset:0;background:#0a0e18a6;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:500;animation:fadeIn .14s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes focusHintPulse{0%,to{box-shadow:0 0 16px #ffd43c59,0 4px 16px #0009;transform:scale(1)}50%{box-shadow:0 0 32px #ffd43cb3,0 4px 20px #000000b3;transform:scale(1.04)}}.share-modal{background:#fff;border-radius:18px;padding:22px 24px;width:min(520px,90vw);box-shadow:0 20px 60px #00000059;color:var(--ink, #15141b)}.share-modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:16px}.share-modal header button.ghost{border:none;background:transparent;font-size:22px;cursor:pointer;color:#15141b73}.share-modal header button.ghost:hover{color:#15141b}.share-hint{margin:0 0 14px;color:var(--ink-soft, #6b6e78);font-size:13.5px;line-height:1.45}.share-url-row{display:flex;gap:8px;align-items:stretch}.share-url-row input{flex:1;padding:10px 14px;border:1px solid rgba(21,20,27,.12);border-radius:10px;font-family:ui-monospace,Consolas,monospace;font-size:12px;background:#f5f6fa;color:#3d4760;overflow:hidden;text-overflow:ellipsis}.shared-site{display:flex;flex-direction:column;min-height:100vh;background:#0e131e}.shared-site-bar{display:flex;align-items:center;gap:16px;padding:10px 20px;background:#fff;border-bottom:1px solid rgba(21,20,27,.08);color:#15141b}.shared-site-bar strong{font-size:15px}.shared-site-hint{color:#15141b8c;font-size:12px;flex:1}.shared-site iframe{flex:1;width:100%;border:none;background:#fff}.shared-site-loading,.shared-site-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#e8eaf2;background:#0e131e}.code-mode{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;min-height:0}.code-mode-editor,.code-mode-preview{display:flex;flex-direction:column;min-height:0;background:#0b0f1a;border-radius:14px;overflow:hidden;border:1px solid rgba(21,20,27,.08)}.code-mode-preview{background:#fff}.code-mode-preview iframe{flex:1;min-height:0;border:none;background:#fff}.code-mode-preview-header{padding:10px 16px;background:#f0f2fa;border-bottom:1px solid rgba(21,20,27,.08);font-size:13px;font-weight:600;color:#15141bb3}.code-tabs{display:flex;gap:4px;padding:8px 8px 0;background:#141a2b;border-bottom:1px solid rgba(255,255,255,.06)}.code-tab{padding:8px 18px;border:none;background:transparent;color:#7a8099;font-size:13px;font-weight:600;cursor:pointer;border-radius:10px 10px 0 0;transition:all .15s}.code-tab:hover{color:#fff;background:#ffffff0a}.code-tab.active{background:#0b0f1a;color:var(--yellow)}.code-mode-textarea{flex:1;min-height:0;padding:14px 18px;background:#0b0f1a;color:#dce0f1;border:none;outline:none;resize:none;font-family:ui-monospace,Consolas,Courier New,monospace;font-size:13px;line-height:1.55;white-space:pre;word-wrap:normal;overflow:auto;tab-size:2;-moz-tab-size:2}.site-editor-missing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--ink, #15141b)}@media(max-width:1100px){.tpl-mode{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.code-mode{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.site-mode-switch{order:3;margin-right:0}}.blockly-container{flex:1;min-height:0;min-width:0}.profile-root{display:grid;grid-template-columns:420px 1fr;height:100vh;min-height:100vh}.profile-side{background:var(--bg-2);border-right:1px solid var(--border);padding:18px 22px 24px;overflow:auto;display:flex;flex-direction:column;gap:16px}.profile-side-top{display:flex;align-items:center;gap:14px;margin-bottom:4px}.profile-side-top h1{font-size:22px;margin:0}.profile-row{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}.text-input{padding:8px 12px;background:#0b0f18;color:var(--text);border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:14px;outline:none}.text-input:focus{border-color:var(--accent)}.profile-section h3{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-weight:600}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preset-card{padding:8px 6px 6px;background:var(--card);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:border-color .15s,transform .1s;color:var(--text);position:relative}.preset-card:hover{border-color:var(--accent);transform:translateY(-1px)}.preset-swatch{position:relative;width:52px;height:52px;border-radius:10px;box-shadow:inset 0 -6px 10px #0003}.preset-card small{font-size:11px;line-height:1.2;text-align:center;color:var(--muted)}.preset-tag{position:absolute;top:4px;right:4px;padding:2px 6px;font-size:9px;font-weight:700;background:#00000073;color:#fff;border-radius:6px;letter-spacing:.05em;z-index:1}.help-small{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.3}.pill-group{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:6px 12px;font-size:13px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:999px;cursor:pointer}.pill:hover{border-color:#fff3}.pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.color-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:center}.color-dot{width:100%;aspect-ratio:1;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0;transition:transform .1s}.color-dot:hover{transform:scale(1.1)}.color-dot.active{border-color:#fff;box-shadow:0 0 0 3px var(--accent)}.color-custom{width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#0b0f18;border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer}.color-custom input[type=color]{width:100%;height:100%;border:none;cursor:pointer;background:transparent}.profile-actions{margin-top:auto;display:flex;gap:10px;padding-top:16px;border-top:1px solid var(--border)}.profile-actions button{flex:1}.profile-preview{position:relative;background:radial-gradient(circle at center,#2a3554,#0b0f18 80%)}.profile-preview canvas{display:block;outline:none;width:100%!important;height:100%!important}.preview-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 14px;background:#00000073;backdrop-filter:blur(8px);color:var(--muted);font-size:12.5px;border-radius:999px;pointer-events:none}@media(max-width:900px){.profile-root{grid-template-columns:1fr;grid-template-rows:auto 1fr}.profile-side{max-height:50vh}}.py-panel{display:flex;flex-direction:column;height:100%;background:#08081a;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:13px;border-radius:10px;overflow:hidden;border:1px solid rgba(124,92,255,.25)}.py-panel-header{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#0f0f28;border-bottom:1px solid rgba(124,92,255,.2);flex-shrink:0}.py-logo{font-size:18px}.py-title{color:var(--violet);font-family:inherit;font-size:13px;font-weight:700}.py-subtitle{color:#5a5a7a;font-size:11px}.py-header-actions{display:flex;gap:8px;margin-left:auto}.py-btn-ref{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;background:#7c5cff1f;color:#b397ff;border:1px solid rgba(124,92,255,.3);transition:background .15s}.py-btn-ref:hover,.py-btn-ref.active{background:#7c5cff40;color:#d0b8ff}.py-btn-run{padding:4px 14px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,var(--violet),#ff5ab1);color:#fff;border:none;transition:opacity .15s,transform .1s}.py-btn-run:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.py-btn-run:disabled,.py-btn-run.running{opacity:.6;cursor:default}.py-panel-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.py-code-wrap{flex:1;display:flex;overflow:auto;min-height:0}.py-linenos{flex-shrink:0;padding:14px 6px 14px 10px;text-align:right;color:#3a3a5c;user-select:none;border-right:1px solid rgba(255,255,255,.04);min-width:36px}.py-lineno{line-height:1.7;font-size:11px}.py-code{flex:1;margin:0;padding:14px 16px;color:#ccd6f6;line-height:1.7;white-space:pre;tab-size:4;background:transparent;border:none;outline:none;overflow:visible}.py-kw{color:var(--violet);font-weight:600}.py-fn{color:#ff5ab1}.py-blt{color:#4c97ff}.py-str{color:#86efac}.py-num{color:#fbbf24}.py-cmt{color:#3d4a5c;font-style:italic}.py-dec{color:#e8963a;font-weight:600}.py-error-bar{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#ff54641a;border-top:1px solid rgba(255,84,100,.3);flex-shrink:0}.py-error-icon{flex-shrink:0;font-size:14px;margin-top:1px}.py-error-text{color:#ff6b6b;font-size:12px;line-height:1.5}.py-ref-drawer{border-top:1px solid rgba(124,92,255,.2);background:#0d0d22;padding:12px 14px;max-height:240px;overflow-y:auto;flex-shrink:0}.py-ref-title{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--violet);text-transform:uppercase;margin-bottom:8px}.py-ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px}.py-ref-row{display:flex;align-items:baseline;gap:8px;padding:3px 0}.py-ref-fn{color:#ff5ab1;font-size:11px;white-space:nowrap;flex-shrink:0}.py-ref-desc{color:#5a5a7a;font-size:11px}.py-ref-footer{margin-top:8px;font-size:10px;color:#3d4a5c;border-top:1px solid rgba(255,255,255,.04);padding-top:6px}.blocklySvg{background-color:#0a0a1a!important}.blocklyMainBackground{stroke:none!important}.blocklyGrid{fill:#7c5cff26!important}.blocklyFlyoutBackground{fill:#111128!important}.blocklyScrollbarHandle{fill:#3a3a5c!important}.blocklyTrash{opacity:.6}.save-indicator{font-size:12px;color:var(--muted);opacity:.6;padding:3px 8px;border-radius:6px;background:#ffffff0a;transition:color .3s,background .3s,opacity .2s}.save-indicator.ok{color:#51cf66;background:#51cf6614;opacity:1}.publish{background:linear-gradient(135deg,var(--violet),#ff5ab1)!important;font-weight:700}.publish:not(:disabled):hover{opacity:.9;transform:translateY(-1px)}.route-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--muted)}.spinner{width:36px;height:36px;border:3px solid rgba(124,92,255,.2);border-top-color:var(--violet);border-radius:50%;animation:spin .7s linear infinite}.brand-shell .eyebrow{color:var(--ink-soft);opacity:.7}.brand-shell .h1,.brand-shell .h2,.brand-shell .h3{color:var(--ink)}.kb-btn{font-family:var(--f-display);font-weight:800;font-size:15px;border:none;padding:13px 22px 15px;border-radius:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:transform .1s var(--ease),box-shadow .1s var(--ease);background:var(--violet);color:var(--paper);box-shadow:0 4px 0 var(--violet-deep);text-decoration:none}.kb-btn:hover{transform:translateY(-1px);box-shadow:0 5px 0 var(--violet-deep)}.kb-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--violet-deep)}.kb-btn--secondary{background:var(--yellow);color:var(--yellow-ink);box-shadow:0 4px 0 var(--yellow-deep)}.kb-btn--secondary:hover{box-shadow:0 5px 0 var(--yellow-deep)}.kb-btn--secondary:active{box-shadow:0 1px 0 var(--yellow-deep)}.kb-btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.kb-btn--ghost:hover{background:#15141b0a}.kb-btn--ghost:active{transform:translateY(1px)}.kb-btn--lg{font-size:18px;padding:18px 28px 20px;border-radius:18px}.kb-btn--sm{font-size:13px;padding:8px 14px 10px;border-radius:10px}.kb-btn:disabled,.kb-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:0 2px 0 var(--violet-deep);transform:none}.kb-btn:disabled:hover,.kb-btn[disabled]:hover{transform:none;box-shadow:0 2px 0 var(--violet-deep)}.kb-btn--secondary:disabled{box-shadow:0 2px 0 var(--yellow-deep)}.kb-btn--ghost:disabled{box-shadow:inset 0 0 0 2px #15141b4d}.kb-chip{background:var(--paper-2);color:var(--ink);padding:8px 16px;border-radius:999px;font-weight:700;font-size:13px;border:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:var(--f-ui)}.kb-chip--active{background:var(--ink);color:var(--paper)}.kb-card{background:var(--paper);border:1px solid rgba(21,20,27,.08);border-radius:var(--r-card);padding:24px;box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:12px;color:var(--ink)}.kb-card--feature{border-radius:var(--r-card-lg);padding:32px;box-shadow:var(--sh-2)}.kb-course{background:var(--paper);border:1.5px solid rgba(21,20,27,.08);border-radius:var(--r-card-lg);padding:24px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.kb-course:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--accent, var(--violet))}.kb-course:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}.kb-course--active{box-shadow:0 0 0 3px var(--accent, var(--violet)),var(--sh-2)}.kb-course-top{display:flex;justify-content:space-between;padding-top:6px}.kb-course-age{background:var(--accent-soft, var(--violet-soft));color:var(--accent-ink, var(--violet-ink));padding:4px 12px;border-radius:999px;font-weight:700;font-size:12px}.kb-course-level{font-family:var(--f-mono);font-size:11px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.kb-course-icon{display:flex;align-items:center;justify-content:center;min-height:130px;background:var(--accent-soft, var(--violet-soft));border-radius:var(--r-card);font-size:48px}.kb-progress{flex:1;height:8px;background:#15141b14;border-radius:999px;overflow:hidden}.kb-progress--lg{height:14px}.kb-progress-bar{height:100%;background:var(--accent, var(--violet));border-radius:999px;transition:width .3s var(--ease)}.kb-block{background:var(--c, var(--violet));color:var(--ci, var(--paper));padding:12px 18px 14px;border-radius:14px;display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:15px;min-height:44px;box-shadow:0 4px #15141b40}.kb-block--move{--c: var(--violet);--ci: var(--paper)}.kb-block--logic{--c: var(--yellow);--ci: var(--yellow-ink)}.kb-block--data{--c: var(--mint);--ci: var(--mint-ink)}.kb-block--event{--c: var(--pink-br);--ci: var(--pink-ink)}.kb-block--world{--c: var(--sky);--ci: var(--sky-ink)}.kb-block--sound{--c: var(--orange);--ci: var(--orange-ink)}.kb-state{padding:12px 16px;border-radius:12px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}.kb-state--success{background:var(--mint-soft);color:var(--mint-ink);border-left:4px solid var(--mint-deep)}.kb-state--error{background:var(--pink-soft);color:var(--pink-ink);border-left:4px solid var(--pink-deep)}.kb-state--info{background:var(--sky-soft);color:var(--sky-ink);border-left:4px solid var(--sky-deep)}.kb-sidenav{position:fixed;left:0;top:0;bottom:0;width:260px;padding:28px 22px 20px;background:var(--ink);color:var(--paper);z-index:50;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.kb-sidenav .kb-shell-brand{color:var(--paper);padding-bottom:20px;border-bottom:1px solid rgba(255,251,243,.1);font-size:18px}.kb-sidenav .kb-shell-brand-kids{box-shadow:0 2px 0 var(--yellow-deep)}.kb-sidenav-groups{flex:1;display:flex;flex-direction:column;gap:16px}.kb-sidenav-group{display:flex;flex-direction:column;gap:2px}.kb-sidenav-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fffbf366;margin-bottom:6px;padding-left:10px}.kb-sidenav-link{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;font-weight:600;color:#fffbf3c7;border-radius:10px;text-decoration:none;transition:background .15s var(--ease),color .15s var(--ease)}.kb-sidenav-link:hover{background:#fffbf312;color:var(--paper)}.kb-sidenav-link.active{background:var(--violet);color:var(--paper);font-weight:700}.kb-sidenav-link-emoji{width:20px;text-align:center;font-size:15px}.kb-sidenav-user{display:flex;align-items:center;gap:10px;padding:12px;background:#fffbf30f;border-radius:12px;border:1px solid rgba(255,251,243,.08)}.kb-sidenav-user-avatar{width:36px;height:36px;border-radius:50%;background:var(--yellow);color:var(--yellow-ink);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:900;flex-shrink:0;box-shadow:0 2px 0 var(--yellow-deep)}.kb-sidenav-user-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.kb-sidenav-user-name{font-weight:800;font-size:13.5px;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-sidenav-user-role{font-family:var(--f-mono);font-size:10px;color:#fffbf380;letter-spacing:.05em}.kb-sidenav-user-out{border:none;background:transparent;color:#fffbf380;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:13px;padding:0}.kb-sidenav-user-out:hover{background:#fffbf314;color:var(--paper)}.kb-sidenav-login{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--violet);color:var(--paper);border-radius:12px;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 3px 0 var(--violet-deep);transition:transform .1s var(--ease),box-shadow .1s var(--ease)}.kb-sidenav-login:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--violet-deep)}.kb-sidenav-login:active{transform:translateY(2px);box-shadow:0 1px 0 var(--violet-deep)}.kb-sidenav-foot-links{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:8px}.kb-sidenav-foot-links a{font-size:11px;color:#fffbf380;text-decoration:none;transition:color .15s}.kb-sidenav-foot-links a:hover{color:#fffbf3d9;text-decoration:underline}.kb-sidenav-foot-ver{font-size:10px;color:#fffbf359;font-family:var(--f-mono)}.kb-sidenav-foot{padding-top:12px;border-top:1px solid rgba(255,251,243,.08);font-family:var(--f-mono);font-size:10px;color:#fffbf359;letter-spacing:.05em;text-align:center}.kb-shell-brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-display);font-weight:900;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.kb-shell-brand-kids{background:var(--yellow);color:var(--yellow-ink);padding:2px 8px;border-radius:6px;font-size:11px;font-weight:900;letter-spacing:-.02em;transform:rotate(-2deg);box-shadow:0 2px 0 var(--yellow-deep);margin-left:2px}.kb-shell-nav-link{padding:8px 14px;border-radius:10px;color:var(--ink-soft);font-weight:700;font-size:14px;text-decoration:none;transition:background .15s var(--ease),color .15s var(--ease)}.kb-shell-nav-link:hover{background:var(--paper-2);color:var(--ink)}.kb-shell-nav-link.active{background:var(--violet);color:var(--paper)}.kb-shell-main{max-width:1440px;margin:0 auto;padding:40px 32px 80px}.brand-shell--sidenav{padding-left:260px;transition:padding-left .2s ease}.brand-shell--sidenav .kb-shell-main{padding:48px 120px 80px 48px;max-width:1280px;margin:0 auto 0 0}.brand-shell--collapsed{padding-left:72px}.kb-sidenav--collapsed{width:72px;padding:28px 10px 20px}.kb-sidenav--collapsed .kb-shell-brand{justify-content:center;padding:0}.kb-sidenav--collapsed .kb-sidenav-link{justify-content:center;padding:12px 0}.kb-sidenav--collapsed .kb-sidenav-link-emoji{margin:0}.kb-sidenav--collapsed .kb-sidenav-user{justify-content:center;padding:8px 0}.kb-sidenav--collapsed .kb-sidenav-login{justify-content:center;padding:10px 0}.kb-sidenav-collapse-btn{position:absolute;top:22px;right:-12px;width:26px;height:26px;border-radius:50%;border:none;background:var(--violet, #6B5CE7);color:var(--paper, #fffbf3);cursor:pointer;font-size:14px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003;z-index:10;transition:transform .15s ease}.kb-sidenav-collapse-btn:hover{transform:scale(1.1)}@media(max-width:900px){.kb-sidenav-collapse-btn{display:none}.brand-shell--collapsed,.brand-shell--sidenav{padding-left:0;padding-top:0}.kb-sidenav{position:sticky;top:0;width:100%;height:auto;flex-direction:row;flex-wrap:nowrap;padding:0 12px;gap:0;z-index:100;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none}.kb-sidenav::-webkit-scrollbar{display:none}.kb-sidenav-groups{flex-direction:row;flex-wrap:nowrap;flex:auto;gap:0}.kb-sidenav-group{flex-direction:row;gap:0}.kb-sidenav-label,.kb-sidenav-user,.kb-sidenav-login,.kb-sidenav-foot{display:none}.kb-sidenav .kb-shell-brand{border-bottom:none;padding:0 16px 0 4px;font-size:15px;white-space:nowrap;flex-shrink:0;height:52px}.kb-sidenav-link{padding:6px 10px;font-size:12px;gap:5px;height:52px;border-radius:0;white-space:nowrap}.kb-sidenav-link-emoji{font-size:13px}.kb-sidenav-link.active{background:var(--violet)}.kb-shell-main{padding:28px 20px 80px!important;max-width:100%!important}}.kb-cover{position:relative;background:var(--violet);color:var(--paper);border-radius:var(--r-card-lg);padding:56px 56px 48px;overflow:hidden;margin-bottom:48px;box-shadow:var(--sh-3)}.kb-cover--yellow{background:var(--yellow);color:var(--ink)}.kb-cover--ink{background:var(--ink);color:var(--paper)}.kb-cover--mint{background:var(--mint-deep);color:var(--paper)}.kb-cover--violet{background:var(--violet);color:var(--paper)}.kb-cover-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;gap:12px;position:relative;z-index:2}.kb-cover-meta .eyebrow{color:#fffbf3b8;opacity:1}.kb-cover--yellow .kb-cover-meta .eyebrow{color:#15141b99}.kb-cover-meta-row{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:11px;color:#fffbf3a6}.kb-cover-meta-row .dot{width:3px;height:3px;background:currentColor;border-radius:50%;opacity:.5}.kb-cover--yellow .kb-cover-meta-row{color:#15141b8c}.kb-cover-title{font-family:var(--f-display);font-weight:900;font-size:clamp(72px,11vw,160px);line-height:.88;letter-spacing:-.055em;margin:0;color:inherit;position:relative;z-index:2;max-width:85%}.kb-cover-title--md{font-size:clamp(52px,7vw,96px)}.kb-cover-accent{color:var(--yellow)}.kb-cover--yellow .kb-cover-accent{color:var(--violet)}.kb-cover-sub{margin-top:24px;max-width:540px;font-size:17px;line-height:1.5;color:#fffbf3d1;font-weight:500;position:relative;z-index:2}.kb-cover--yellow .kb-cover-sub{color:#15141bbf}.kb-cover-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:2}.kb-cover-footer{margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,251,243,.18);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;z-index:2}.kb-cover--yellow .kb-cover-footer{border-top-color:#15141b26}.kb-cover-footer-col{display:flex;flex-direction:column;gap:4px}.kb-cover-footer-col .eyebrow{color:#fffbf380}.kb-cover--yellow .kb-cover-footer-col .eyebrow{color:#15141b80}.kb-cover-footer-col strong{font-family:var(--f-display);font-weight:800;font-size:14px;color:inherit}.kb-cover-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.kb-cover-deco-block{position:absolute;font-family:var(--f-display);font-weight:800;font-size:15px;padding:10px 18px 12px;border-radius:12px;box-shadow:0 4px #15141b40;white-space:nowrap;pointer-events:none;user-select:none}.kb-cover-link-lite{display:inline-flex;align-items:center;font-family:var(--f-ui);font-weight:600;font-size:14px;color:#fffbf3cc;text-decoration:none;padding:8px 4px;transition:color .15s;margin-left:4px}.kb-cover-link-lite:hover{color:var(--paper, #fffbf3);text-decoration:underline}.kb-cover--yellow .kb-cover-link-lite{color:#15141b99}.kb-cover--yellow .kb-cover-link-lite:hover{color:var(--ink)}.kb-cover-deco--top-row{transition:opacity .3s ease}.kb-cover-deco--top-row.is-scrolled{opacity:0;pointer-events:none}.kb-cover-deco-block.b-logic{background:var(--yellow);color:var(--yellow-ink)}.kb-cover-deco-block.b-data{background:var(--mint);color:var(--mint-ink)}.kb-cover-deco-block.b-event{background:var(--pink-br, var(--pink));color:var(--pink-ink)}.kb-cover-mascot{position:absolute;right:40px;bottom:120px;z-index:3;pointer-events:none}.kb-cover-mascot--lower{bottom:-40px}.kb-cover-deco--top-row{position:absolute;inset:88px 40px auto auto;display:flex;gap:12px;flex-wrap:nowrap;pointer-events:none;z-index:2;max-width:55%;justify-content:flex-end}.kb-cover-deco--top-row .kb-cover-deco-block{position:static;inset:auto}@media(max-width:900px){.kb-cover-deco--top-row{max-width:100%;right:16px;top:72px;gap:8px}.kb-cover-deco--top-row .kb-cover-deco-block{font-size:13px;padding:8px 12px 10px}}@media(max-width:1100px){.kb-cover-mascot{display:none}}@media(max-width:720px){.kb-cover{padding:36px 24px 28px}.kb-cover-footer{grid-template-columns:1fr 1fr}.kb-cover-title{font-size:clamp(52px,14vw,72px)}}@media(max-width:480px){.kb-cover{padding:28px 20px 24px;border-radius:20px}.kb-cover-footer{grid-template-columns:1fr 1fr;gap:12px}.kb-cover-title{font-size:clamp(40px,12vw,56px)}.kb-cover-sub{font-size:15px}}.kb-hero{background:linear-gradient(135deg,var(--yellow-soft) 0%,var(--yellow) 60%,#ffc73c 100%);border-radius:var(--r-card-lg);padding:48px;display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:end;position:relative;overflow:hidden;box-shadow:var(--sh-2)}.kb-hero h1{font-family:var(--f-display);font-weight:900;font-size:48px;line-height:1;letter-spacing:-.03em;color:var(--ink);margin:0 0 16px}.kb-hero p{font-size:18px;color:var(--ink-soft);line-height:1.5;max-width:460px;margin:0 0 24px}.kb-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.kb-hero-mascot{display:flex;justify-content:flex-end;align-items:end}.login-shell{min-height:100vh;display:flex;flex-direction:column}.login-head{padding:20px 32px;display:flex;align-items:center;justify-content:flex-start;border-bottom:1px solid rgba(21,20,27,.06)}.login-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:60px 32px 40px}.login-intro{text-align:center;max-width:620px;margin:0 auto 48px;display:flex;flex-direction:column;gap:10px;align-items:center}.login-intro .h1{font-size:52px}.login-intro .lead{font-size:17px;color:var(--ink-soft);line-height:1.55;max-width:520px;margin:6px 0 0}.login-grid--roles{grid-template-columns:repeat(2,1fr);max-width:640px;margin:0 auto}@media(min-width:980px){.login-grid--roles{grid-template-columns:repeat(4,1fr);max-width:1100px}}@media(max-width:640px){.login-grid--roles{grid-template-columns:1fr}}.login-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.login-card{display:flex;flex-direction:column;gap:18px}.login-card-head{display:flex;flex-direction:column;gap:6px}.login-card-head .h2{font-size:24px;margin-top:4px}.lead-s{font-size:14.5px;color:var(--ink-soft);line-height:1.5;margin:4px 0 0}.login-btn-col{display:flex;flex-direction:column;gap:10px;margin-top:auto}.login-info{font-size:13px;line-height:1.45}.login-divider{position:relative;text-align:center;font-size:12px;font-weight:700;color:#15141b66;text-transform:uppercase;letter-spacing:.14em;margin:6px 0 2px}.login-divider:before,.login-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 30px);height:1px;background:#15141b1f}.login-divider:before{left:0}.login-divider:after{right:0}.login-divider span{background:var(--paper);padding:0 10px}.login-code-form{display:flex;flex-direction:column;gap:12px;margin-top:auto}.login-code-input{padding:16px 20px;border:2px solid rgba(21,20,27,.12);border-radius:14px;font-family:var(--f-mono);font-size:28px;font-weight:700;letter-spacing:.4em;text-align:center;color:var(--ink);background:var(--paper);outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.login-code-input:focus{border-color:var(--violet);box-shadow:0 0 0 4px #6b5ce726}.login-foot{padding:24px 32px;text-align:center;color:#15141b66;font-size:12px;border-top:1px solid rgba(21,20,27,.06)}.login-foot small{font-family:var(--f-mono);letter-spacing:.05em}@media(max-width:980px){.login-grid{grid-template-columns:repeat(2,1fr)}.login-intro .h1{font-size:42px}}@media(max-width:640px){.login-grid{grid-template-columns:1fr}.login-intro .h1{font-size:32px}.login-main{padding:32px 20px}.login-head{padding:16px 20px}}.kb-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.kb-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kb-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:900px){.kb-grid-3,.kb-grid-4{grid-template-columns:repeat(2,1fr)}.kb-grid-2{grid-template-columns:1fr}.kb-hero{grid-template-columns:1fr;padding:32px}}@media(max-width:560px){.kb-grid-3,.kb-grid-4,.kb-grid-2{grid-template-columns:1fr}}.lp-title,.curric-lesson-title,.curric-lesson-md h1,.curric-lesson-md h2{font-family:var(--f-display, "Nunito"),system-ui,-apple-system,sans-serif;font-weight:900;letter-spacing:-.02em}.mascot-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.mascot-spark{position:absolute;color:#ffd43c;font-size:28px;font-weight:900;text-shadow:0 2px 0 rgba(0,0,0,.15);animation:mascot-spark-pop 1.2s ease-in-out infinite}.mascot-spark--1{top:8%;left:12%;animation-delay:0s}.mascot-spark--2{top:4%;right:22%;animation-delay:.3s}.mascot-spark--3{top:20%;right:8%;animation-delay:.6s}@keyframes mascot-spark-pop{0%,to{transform:scale(.6);opacity:.4}50%{transform:scale(1.1);opacity:1}}.mascot-bubble{position:absolute;top:6%;right:4%;background:var(--paper, #fffbf3);color:var(--violet, #6B5CE7);font-family:var(--f-display, "Nunito");font-weight:900;font-size:32px;width:56px;height:56px;border-radius:50% 50% 50% 0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px #0000001f;animation:mascot-bubble-bob 1.8s ease-in-out infinite}@keyframes mascot-bubble-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot-laptop{position:absolute;bottom:10%;left:50%;width:44%;height:18%;background:linear-gradient(to bottom,#2a3340 60%,#444c5a 60%);border-radius:4px 4px 2px 2px;transform:translate(-50%);box-shadow:0 4px #00000026}.nk-breathe{animation:nk-breathe 4.2s ease-in-out infinite;will-change:transform}@keyframes nk-breathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.018) translateY(-2px)}}.nk-blink{animation:nk-blink 4.6s ease-in-out infinite;transform-box:fill-box}@keyframes nk-blink{0%,92%,to{transform:scaleY(1)}94%{transform:scaleY(.08)}96%{transform:scaleY(1)}}.nk-think-bubble{animation:nk-bubble-float 2.4s ease-in-out infinite;transform-origin:280px 100px}@keyframes nk-bubble-float{0%,to{transform:translateY(0) rotate(0);opacity:1}50%{transform:translateY(-4px) rotate(-2deg);opacity:.95}}.nk-star{animation:nk-twinkle 1.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.nk-star--a{animation-delay:0s}.nk-star--b{animation-delay:.35s}.nk-star--c{animation-delay:.7s}@keyframes nk-twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.25) rotate(14deg);opacity:.75}}.nk-caret{animation:nk-caret 1s steps(2,end) infinite}@keyframes nk-caret{0%,49%{opacity:1}50%,to{opacity:0}}.achievement-toast{position:fixed;top:68px;right:16px;display:flex;align-items:center;gap:14px;padding:14px 20px;background:var(--paper);border:2px solid #6B5CE7;border-radius:16px;box-shadow:0 8px 32px #15141b38;z-index:9999;max-width:320px;animation:ach-in .3s cubic-bezier(.34,1.56,.64,1),ach-out .25s ease-in 3.1s forwards}.achievement-toast-emoji{font-size:36px;flex-shrink:0;line-height:1}.achievement-toast-body{flex:1;min-width:0}.achievement-toast-label{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px}.achievement-toast-title{font-size:15px;font-weight:800;color:var(--ink);font-family:var(--f-ui)}.achievement-toast-desc{font-size:12px;color:var(--ink-soft);margin-top:2px}.achievement-toast-rarity{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;align-self:flex-start;padding:3px 7px;border-radius:6px;background:#0000000a;flex-shrink:0}.achievement-toast-queue{font-size:9px;background:var(--violet);color:#fff;border-radius:6px;padding:1px 5px;margin-left:4px;font-weight:800;vertical-align:middle}@keyframes ach-in{0%{opacity:0;transform:translate(20px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes ach-out{to{opacity:0;transform:translate(20px) scale(.95)}}@media(max-width:720px){.achievement-toast{top:auto;bottom:84px;right:12px;max-width:calc(100vw - 24px)}}.kb-streak-widget{position:fixed;top:16px;right:16px;display:flex;gap:6px;z-index:9400;pointer-events:none}.kb-streak-chip{pointer-events:auto;display:flex;align-items:center;gap:6px;padding:6px 12px 6px 10px;background:var(--paper, #fffbf3);border:2px solid var(--ink, #15141b);border-radius:20px;box-shadow:0 2px 0 var(--ink, #15141b);text-decoration:none;color:var(--ink, #15141b);font-family:var(--f-display);font-weight:900;font-size:14px;transition:transform .12s ease;position:relative}.kb-streak-chip:hover{transform:translateY(-1px)}.kb-streak-chip:active{transform:translateY(1px);box-shadow:0 0 0 var(--ink)}.kb-streak-icon{font-size:14px;line-height:1}.kb-streak-val{font-family:var(--f-mono, monospace);font-size:13px;letter-spacing:-.5px}.kb-streak-chip--goal{padding-right:6px}.kb-streak-ring{display:inline-flex;width:22px;height:22px;margin-left:2px}.kb-streak-freeze{display:inline-flex;align-items:center;gap:1px;margin-left:6px;padding:1px 6px;background:#6b5ce71f;border-radius:8px;color:#5aa9ff;font-size:10px;font-weight:700}.kb-streak-freeze small{font-size:10px}@media(max-width:720px){.kb-streak-widget{top:10px;right:10px;gap:4px}.kb-streak-chip{padding:4px 8px;font-size:12px}.kb-streak-val{font-size:11px}}@media(max-width:900px){.kb-streak-widget{display:none}}@media(max-width:768px){.brand-shell--sidenav{padding-bottom:72px}.nk-chat-fab{bottom:80px;right:16px;width:52px;height:52px}.nk-chat-panel{bottom:148px;right:12px;width:calc(100vw - 24px);max-width:420px}}.nk-chat-fab{position:fixed;right:24px;bottom:24px;width:60px;height:60px;border-radius:50%;background:var(--paper, #fffbf3);border:2px solid var(--ink, #15141b);box-shadow:0 4px 0 var(--ink, #15141b),0 8px 24px #0000002e;cursor:pointer;z-index:9500;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--ink, #15141b);font-family:var(--f-display);font-weight:900;padding:0;transition:transform .15s ease}.nk-chat-fab:hover{transform:translateY(-2px)}.nk-chat-fab:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}.nk-chat-fab.active{background:var(--violet);color:var(--paper);font-size:36px;line-height:1}.nk-chat-fab svg{pointer-events:none}.nk-chat-panel{position:fixed;right:24px;bottom:100px;width:380px;max-width:calc(100vw - 48px);height:560px;max-height:calc(100vh - 140px);background:var(--paper, #fffbf3);border:2px solid var(--ink);border-radius:20px;box-shadow:0 12px 40px #00000040;z-index:9499;display:flex;flex-direction:column;font-family:var(--f-ui);overflow:hidden;animation:nk-chat-in .18s ease-out}@keyframes nk-chat-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nk-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(21,20,27,.08);background:var(--paper-2, #F4EFE3)}.nk-chat-head-l{display:flex;align-items:center;gap:12px}.nk-chat-avatar{width:48px;height:48px;border-radius:50%;background:var(--yellow, #FFD43C);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.nk-chat-avatar svg{width:48px!important;height:48px!important}.nk-chat-head strong{font-family:var(--f-display);font-weight:900;font-size:15px;color:var(--ink);display:block}.nk-chat-head small{font-size:11px;color:var(--ink-soft, #6b6e78);display:block}.nk-chat-reset{width:32px;height:32px;border:none;background:transparent;border-radius:50%;cursor:pointer;font-size:18px;color:var(--ink-soft);transition:background .15s}.nk-chat-reset:hover{background:#15141b0f}.nk-chat-scroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.nk-chat-welcome{background:var(--violet-soft, #E4E0FC);color:var(--violet-ink, #2A1F8C);padding:14px 16px;border-radius:14px;font-size:13px;line-height:1.5}.nk-chat-welcome p{margin:0}.nk-chat-welcome kbd{background:var(--paper);border:1px solid rgba(21,20,27,.15);padding:1px 5px;border-radius:4px;font-family:var(--f-mono);font-size:11px}.nk-chat-msg{display:flex;flex-direction:column;max-width:85%;gap:4px}.nk-chat-msg--assistant{align-self:flex-start}.nk-chat-bubble{padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.nk-chat-msg--assistant .nk-chat-bubble{background:var(--paper-2, #F4EFE3);color:var(--ink);border-bottom-left-radius:4px}.nk-chat-img{max-width:200px;max-height:200px;border-radius:10px;object-fit:cover}.nk-chat-typing{display:inline-flex;align-items:center;gap:4px;padding:14px}.nk-chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-soft);animation:nk-chat-typing 1.2s infinite ease-in-out}.nk-chat-typing span:nth-child(2){animation-delay:.15s}.nk-chat-typing span:nth-child(3){animation-delay:.3s}@keyframes nk-chat-typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.nk-chat-err{margin:0 16px;padding:8px 12px;background:#ffe4ec;color:#6a1a33;border-radius:8px;font-size:12px}.nk-chat-preview{position:relative;margin:0 16px 8px}.nk-chat-preview img{max-height:80px;border-radius:8px;border:1px solid rgba(21,20,27,.1)}.nk-chat-preview button{position:absolute;top:-6px;left:72px;width:22px;height:22px;border-radius:50%;border:none;background:var(--ink);color:var(--paper);cursor:pointer;font-size:14px;line-height:1}.nk-chat-input{display:flex;align-items:flex-end;gap:6px;padding:10px 12px 12px;border-top:1px solid rgba(21,20,27,.08);background:var(--paper)}.nk-chat-input textarea{flex:1;resize:none;max-height:120px;min-height:38px;padding:9px 12px;border:1px solid rgba(21,20,27,.15);border-radius:10px;font-family:var(--f-ui);font-size:13px;line-height:1.4;outline:none;background:var(--paper-2, #F4EFE3);color:var(--ink)}.nk-chat-input textarea:focus{border-color:var(--violet);background:var(--paper)}.nk-chat-attach,.nk-chat-send{width:38px;height:38px;border-radius:10px;border:none;cursor:pointer;flex-shrink:0;font-size:16px;display:flex;align-items:center;justify-content:center}.nk-chat-attach{background:var(--paper-2);color:var(--ink)}.nk-chat-attach:hover{background:#15141b14}.nk-chat-send{background:var(--violet);color:var(--paper);font-weight:700}.nk-chat-send:disabled{opacity:.4;cursor:not-allowed}.nk-chat-send:not(:disabled):hover{filter:brightness(1.08)}@media(max-width:720px){.nk-chat-panel{right:12px;left:12px;bottom:84px;width:auto;height:calc(100vh - 120px)}.nk-chat-fab{right:12px;bottom:12px}}.kb-skip-link{position:absolute;left:12px;top:-40px;z-index:10000;padding:8px 16px;background:var(--ink);color:var(--paper);font-family:var(--f-display);font-weight:800;font-size:14px;text-decoration:none;border-radius:8px;transition:top .15s ease}.kb-skip-link:focus{top:8px;outline:2px solid var(--yellow)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid var(--violet);outline-offset:2px;border-radius:6px}.kb-btn:focus-visible{outline-offset:3px}.kb-btn--secondary:focus-visible{outline-color:var(--ink)}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.kb-streak-ring circle,.mascot-spark,.mascot-bubble,.nk-breathe,.nk-blink,.nk-star,.nk-caret,.nk-think-bubble{animation:none!important}}.puzzle-breadcrumbs{color:var(--ink-soft);font-size:14px;margin-bottom:12px}.puzzle-breadcrumbs a{color:var(--violet, #6B5CE7);text-decoration:none}.puzzle-breadcrumbs a:hover{text-decoration:underline}.puzzle-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;margin-bottom:16px}.puzzle-header-left{display:flex;align-items:center;gap:16px}.puzzle-header-emoji{font-size:36px;line-height:1}.puzzle-header-title{font-family:var(--f-display, "Nunito", sans-serif);font-size:22px;font-weight:900;color:var(--ink)}.puzzle-header-sub{font-size:13px;color:var(--ink-soft);margin-top:2px}.puzzle-header-stars{color:#ffd43c;letter-spacing:1px}.puzzle-header-nav{display:flex;gap:6px}.puzzle-layout{display:grid;grid-template-columns:260px 1fr 360px;gap:16px;height:calc(100vh - 260px);min-height:500px;margin-bottom:24px;align-items:stretch}.puzzle-task-panel{background:var(--paper);box-shadow:var(--sh-2, 0 10px 32px rgba(21,20,27,.08));border-radius:18px;display:flex;flex-direction:column;gap:14px;padding:20px;min-width:0;overflow-y:auto}.puzzle-editor-panel{background:var(--paper);box-shadow:var(--sh-2, 0 10px 32px rgba(21,20,27,.08));border-radius:18px;display:flex;flex-direction:column;gap:14px;padding:20px;min-width:0}.puzzle-head{display:flex;flex-direction:column;gap:6px}.puzzle-head-badges{display:flex;gap:8px}.puzzle-badge{display:inline-block;background:var(--violet-soft, rgba(107,92,231,.1));color:var(--violet-ink, #2a1f4c);border-radius:10px;padding:4px 10px;font-size:12px;font-weight:700}.puzzle-badge--muted{color:var(--ink-soft);background:#15141b0f}.puzzle-title{font-family:var(--f-display, "Nunito", sans-serif);font-size:22px;font-weight:900;color:var(--ink);margin:0}.puzzle-prompt{font-size:14px;color:var(--ink-soft);line-height:1.5;margin:0}.trainer-tabs{display:inline-flex;gap:6px;padding:4px;background:#6b5ce714;border-radius:12px;align-self:flex-start}.trainer-tab{cursor:pointer;border:none;background:transparent;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:700;color:var(--ink-soft);transition:background .15s,color .15s}.trainer-tab:hover{color:var(--ink)}.trainer-tab.active{background:#fff;color:var(--violet, #6B5CE7);box-shadow:0 2px 6px #15141b14}.puzzle-editor-zone{flex:1;min-height:0;display:flex;position:relative;border:1px solid rgba(21,20,27,.08);border-radius:12px;overflow:hidden}.puzzle-editor-zone>:first-child{width:100%;height:100%}.puzzle-editor-zone--blocks{background:#f5f6fa}.puzzle-editor-zone--python{background:#0b0a11}.puzzle-editor-loading{width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}.puzzle-actions{display:flex;gap:10px}.puzzle-actions .kb-btn{flex:1}.puzzle-preview-panel{background:var(--paper);box-shadow:var(--sh-2, 0 10px 32px rgba(21,20,27,.08));border-radius:18px;display:flex;flex-direction:column;gap:14px;padding:20px;transition:box-shadow .3s}.puzzle-preview-panel.is-passed{box-shadow:0 12px 32px #9fe8c766,var(--sh-2, 0 10px 32px rgba(21,20,27,.08));border:2px solid rgba(82,201,135,.5)}.puzzle-preview-head{display:flex;align-items:center;gap:14px}.puzzle-preview-mascot{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px}.puzzle-preview-status{flex:1;min-width:0}.puzzle-mood-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--paper);color:var(--violet, #6B5CE7);font-family:var(--f-display);font-weight:900;font-size:20px;border-radius:50% 50% 50% 0;box-shadow:var(--sh-1, 0 2px 6px rgba(21,20,27,.08));animation:mascot-bubble-bob 1.8s ease-in-out infinite}.puzzle-status{display:inline-block;border-radius:10px;padding:4px 10px;font-size:14px;font-weight:700;margin-bottom:4px}.puzzle-status--ok{color:#1e7a48;background:#52c98726}.puzzle-status--fail{color:#a1264d;background:#e155541f}.puzzle-status-text{font-size:15px;font-weight:600;color:var(--ink)}.puzzle-status-details{font-size:13px;color:var(--ink-soft);margin-top:4px;line-height:1.45}.puzzle-preview-body{flex:1;min-height:0;background:#6b5ce70a;border-radius:12px;display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow:auto}.puzzle-preview-grid{max-width:100%;overflow:auto}.puzzle-preview-grid svg{display:block}.puzzle-stdout{width:100%;height:100%;background:#0b0a11;border-radius:12px;color:#dce0f1;font-family:var(--f-mono);padding:12px 14px;overflow:auto}.puzzle-stdout-head{display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#7a8099;margin-bottom:8px}.puzzle-stdout-body{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}.puzzle-stdout-line{padding:2px 0}.puzzle-stdout-empty{color:#3d4760;font-style:italic}.puzzle-stdout-err{color:#ffb4c8;border-top:1px solid rgba(255,180,200,.2);margin-top:10px;padding-top:8px}.puzzle-reward-bar{display:flex;align-items:center;gap:14px;padding:12px 16px;background:linear-gradient(135deg,#ffd43c2e,#9fe8c72e);border-radius:12px;font-weight:700}.puzzle-reward-coin{color:#9e7e00}.puzzle-reward-xp{color:#1e7a48}.puzzle-reward-next{margin-left:auto}.trainers-grid{margin-bottom:40px}.trainer-card{background:var(--paper);border-radius:var(--r-card-lg, 24px);box-shadow:var(--sh-2, 0 10px 32px rgba(21,20,27,.08));display:flex;flex-direction:column;gap:12px;padding:24px 28px 28px 32px;border:2px solid transparent;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.trainer-card:hover{box-shadow:var(--sh-3, 0 18px 48px rgba(21,20,27,.14));transform:translateY(-3px)}.trainer-card-bar{position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--trainer-color, #6B5CE7)}.trainer-card-head{display:flex;align-items:flex-start;gap:16px}.trainer-card-emoji{flex:none;font-size:48px;line-height:1}.trainer-card-titles{flex:1;min-width:0}.trainer-card-title{font-family:var(--f-display, "Nunito", sans-serif);font-size:26px;font-weight:900;color:var(--ink);margin:0}.trainer-card-tagline{font-size:14px;font-weight:500;color:var(--ink-soft);margin:2px 0 0}.trainer-card-desc{font-size:14px;color:var(--ink-soft);margin:0;line-height:1.5}.trainer-card-progress{display:flex;flex-direction:column;gap:6px;margin-top:auto}.trainer-card-progress-head{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft)}.trainer-card-progress-pct{font-weight:700;color:var(--trainer-color, #6B5CE7)}.trainer-card-progress-bar{height:8px;border-radius:6px;background:#6b5ce71f;overflow:hidden}.trainer-card-progress-fill{height:100%;border-radius:6px;transition:width .3s}.trainer-card-actions{display:flex;gap:10px;margin-top:6px}.trainer-card-btn{flex:1;text-align:center}.trainers-how{margin-top:48px;margin-bottom:40px}.trainers-how-grid{margin-top:16px}.trainers-how-num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--violet, #6B5CE7);color:#fff;font-family:var(--f-display, "Nunito", sans-serif);font-size:20px;font-weight:900;margin-bottom:12px}body:has(.story-slide){overflow:hidden}.story-slide{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0f0e1ceb;backdrop-filter:blur(8px);animation:story-slide-in .35s ease}@keyframes story-slide-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.story-slide-card{background:var(--paper);border-radius:28px;padding:40px 48px;max-width:560px;width:90%;text-align:center;box-shadow:var(--sh-3, 0 16px 40px rgba(21,20,27,.18));display:flex;flex-direction:column;gap:16px;align-items:center}.story-slide-emoji{font-size:72px;line-height:1.1}.story-slide-chapter{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.story-slide-title{font-family:var(--f-display, "Nunito", sans-serif);font-size:26px;font-weight:900;color:var(--ink);margin:0}.story-slide-text{font-size:16px;color:var(--ink-soft);line-height:1.6;margin:0}.story-slide-btn{margin-top:8px}@media(max-width:600px){.story-slide-card{padding:28px 24px}.story-slide-emoji{font-size:52px}.story-slide-title{font-size:22px}}.python-ide-layout{display:flex;flex-direction:column;gap:12px;height:calc(100vh - 200px);min-height:540px}.python-ide-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}.python-ide-hk{display:inline-block;margin-left:6px;font-size:11px;opacity:.65;font-family:var(--f-mono);background:#ffffff26;padding:2px 5px;border-radius:4px}.python-ide-toolbar-spacer{flex:1}.python-ide-history{font-size:12px;color:var(--ink-soft);font-family:var(--f-mono)}.python-ide-snippets{position:relative}.python-ide-snippet-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:var(--paper);border-radius:14px;box-shadow:var(--sh-3, 0 16px 40px rgba(21,20,27,.18));padding:8px;min-width:200px;display:flex;flex-direction:column;gap:2px}.python-ide-snippet-item{cursor:pointer;border:none;background:transparent;border-radius:8px;padding:9px 14px;font-family:inherit;font-size:14px;text-align:left;color:var(--ink);transition:background .1s}.python-ide-snippet-item:hover{background:#6b5ce714}.python-ide-split{flex:1;min-height:0;display:flex;gap:16px}.python-ide-editor{flex:1;min-height:0;display:flex;flex-direction:column}.python-ide-output{width:360px;flex-shrink:0;display:flex;flex-direction:column;background:var(--paper);border-radius:18px;box-shadow:var(--sh-2, 0 10px 32px rgba(21,20,27,.08));overflow:hidden}.python-ide-output-head{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:13px;font-weight:700;color:var(--ink);border-bottom:1px solid rgba(21,20,27,.06);flex-shrink:0}.python-ide-output-count{font-size:12px;color:var(--ink-soft);font-weight:400}.python-ide-output-body{flex:1;min-height:0;margin:0;padding:16px 18px;font-family:var(--f-mono);font-size:13px;line-height:1.55;overflow:auto;white-space:pre-wrap;word-break:break-word}.python-ide-output-line{padding:1px 0;color:var(--ink)}.python-ide-output-empty{color:var(--ink-soft);font-style:italic}.python-ide-output-err{color:#e15554;border-top:1px solid rgba(225,85,84,.2);margin-top:10px;padding-top:10px;white-space:pre-wrap}@media(max-width:900px){.python-ide-split{flex-direction:column}.python-ide-output{width:100%;height:220px;flex-shrink:0}.python-ide-layout{height:auto}}[data-lk-theme=default]{--lk-bg: #0B0A11;--lk-bg2: #15141B;--lk-fg: #FFFBF3;--lk-border-color: rgba(255, 255, 255, .08);--lk-accent-bg: #6B5CE7;--lk-danger: #E15554;--lk-control-bg: rgba(255, 255, 255, .1);--lk-control-hover-bg: rgba(107, 92, 231, .35);--lk-control-active-bg: #6B5CE7;--lk-border-radius: 12px;--lk-font-family: "Nunito", "Inter", sans-serif;--lk-participant-placeholder-bg: #1a1a2e}.ek-room{height:100vh;display:flex;flex-direction:column;background:#0b0a11;overflow:hidden;font-family:var(--f-display, "Nunito", sans-serif)}.ek-room-header{flex-shrink:0;height:52px;background:#15141b;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:12px}.ek-room-header-brand{display:flex;align-items:center;gap:10px}.ek-room-header-title{color:#fffbf3;font-weight:900;font-size:15px}.ek-room-header-divider{color:#ffffff40}.ek-room-header-room{color:#9f8af5;font-size:13px;font-weight:700;background:#6b5ce726;padding:3px 10px;border-radius:8px}.ek-room-header-right{display:flex;align-items:center;gap:10px}.ek-room-participants{color:#ffffff80;font-size:13px}.ek-room-copy-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffb3;border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.ek-room-copy-btn:hover{background:#6b5ce740;color:#fff}.ek-room-body{flex:1;min-height:0;display:flex;overflow:hidden}.ek-room-stage{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;position:relative}.ek-room-grid{width:100%;height:100%}.ek-room-focus{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:8px;background:#000;border-radius:12px;overflow:hidden}.ek-room-focus--solo .lk-focus-layout{width:100%;height:100%;background:#000}.ek-room-focus--solo .lk-focus-layout video{width:100%;height:100%;object-fit:contain;background:#000}.ek-room-focus--with-cams .lk-focus-layout{flex:1;min-height:0;width:100%;background:#0b0f18}.ek-room-focus--with-cams .lk-focus-layout video{width:100%;height:100%;object-fit:contain;background:#000}.ek-room-focus--with-cams .lk-carousel{flex:0 0 110px;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:4px 8px;scrollbar-width:thin;background:#000000b3}.ek-room-focus--with-cams .lk-carousel .lk-participant-tile{flex:0 0 180px;height:100px;border-radius:8px;overflow:hidden}@media(max-width:768px){.ek-room-focus--with-cams .lk-carousel{flex:0 0 80px}.ek-room-focus--with-cams .lk-carousel .lk-participant-tile{flex:0 0 130px;height:72px}}.ek-room-toggle-cams{position:absolute;top:12px;right:12px;z-index:10;background:#000000a6;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .15s ease}.ek-room-toggle-cams:hover{background:#000000d9;transform:translateY(-1px)}.ek-room-waiting{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.ek-room-waiting-icon{font-size:56px}.ek-room-waiting-title{color:#fffbf3;font-size:20px;font-weight:900;margin:0}.ek-room-waiting-sub{color:#ffffff73;font-size:14px;margin:0}.ek-room-waiting-copy{margin-top:8px;background:#6b5ce733;border:1px solid rgba(107,92,231,.4);color:#9f8af5;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}.ek-room-waiting-copy:hover{background:#6b5ce759}.ek-room-chat-panel{width:320px;flex-shrink:0;background:#15141b;border-left:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column}.ek-room-chat-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#fffbf3;font-weight:700;font-size:14px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.ek-room-chat-close{background:transparent;border:none;color:#fff6;cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:6px;transition:color .15s}.ek-room-chat-close:hover{color:#fff}.ek-room-chat{flex:1;min-height:0}.ek-room-controls{flex-shrink:0;height:72px;background:#15141b;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px}.ek-room-controls-group{display:flex;align-items:center;gap:8px}.ek-room-controls-center{position:absolute;left:50%;transform:translate(-50%)}.ek-ctrl-btn{display:flex!important;flex-direction:column;align-items:center;gap:4px;background:#ffffff14!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;color:#fffbf3!important;padding:8px 14px!important;cursor:pointer;min-width:72px;transition:background .15s,border-color .15s;font-family:inherit}.ek-ctrl-btn:hover{background:#6b5ce740!important;border-color:#6b5ce780!important}.ek-ctrl-btn--active,.ek-ctrl-btn[aria-pressed=true]{background:#6b5ce74d!important;border-color:#6b5ce7!important}.ek-ctrl-btn[data-lk-source=microphone][aria-pressed=false],.ek-ctrl-btn[data-lk-source=camera][aria-pressed=false]{background:#e1555433!important;border-color:#e1555466!important}.ek-ctrl-label{font-size:11px;font-weight:700;color:#ffffffb3;line-height:1}.ek-ctrl-leave{background:#e15554!important;border:none!important;border-radius:14px!important;color:#fff!important;padding:12px 24px!important;font-size:14px!important;font-weight:900!important;cursor:pointer;transition:background .15s,transform .1s;font-family:inherit;letter-spacing:.01em}.ek-ctrl-leave:hover{background:#c94444!important;transform:scale(1.03)}.lk-room-join{min-height:100vh;background:#0f0f17;display:flex;align-items:center;justify-content:center;padding:24px}.lk-room-join-card{background:#1a1a2e;border:1px solid rgba(107,92,231,.25);border-radius:24px;padding:40px 40px 36px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px;align-items:center;box-shadow:0 24px 64px #00000080}.lk-room-join-brand{display:flex;align-items:center;gap:10px}.lk-room-join-brand-name{color:#fff;font-weight:900;font-size:18px}.lk-room-join-title{margin:0;font-size:24px;font-weight:900;color:#fff;text-align:center}.lk-room-join-room{margin:0;font-size:13px;color:#7a8099}.lk-room-join-room strong{color:#9f8af5}.lk-room-join-err{width:100%;padding:10px 14px;border-radius:10px;background:#e1555426;color:#ff8a8a;font-size:13px;text-align:center}.lk-room-join-input{width:100%;padding:13px 16px;border-radius:12px;border:1.5px solid rgba(107,92,231,.3);background:#ffffff0d;color:#fff;font-size:15px;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.lk-room-join-input:focus{border-color:#6b5ce7}.lk-room-join-input::placeholder{color:#4a5068}.lk-room-join-btn{width:100%;padding:14px;border-radius:12px;border:none;background:#6b5ce7;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;font-family:inherit}.lk-room-join-btn:hover:not(:disabled){background:#7c6ef0;transform:translateY(-1px)}.lk-room-join-btn:disabled{opacity:.6;cursor:not-allowed}.lk-room-join-actions{display:flex;gap:10px;width:100%;justify-content:center}.lk-room-join-link-btn,.lk-room-join-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:#9ca3af;border-radius:9px;padding:8px 14px;font-size:13px;cursor:pointer;transition:border-color .15s,color .15s;font-family:inherit}.lk-room-join-link-btn:hover,.lk-room-join-back:hover{border-color:#ffffff4d;color:#fff}@media(max-width:1100px){.puzzle-layout{grid-template-columns:220px 1fr 300px;height:calc(100vh - 230px)}}@media(max-width:820px){.puzzle-layout{grid-template-columns:1fr;height:auto;min-height:auto}.puzzle-task-panel{order:1}.puzzle-editor-panel{order:2;min-height:420px}.puzzle-preview-panel{order:3;min-height:360px}.puzzle-editor-zone{min-height:340px}}.det-board{background:#14101e;border:2px solid #3b2d5e;border-radius:14px;margin-bottom:16px;overflow:hidden;box-shadow:0 6px 24px #00000073}.det-board-bar{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:#1e1530;border:none;cursor:pointer;text-align:left;border-bottom:1px solid transparent;transition:background .15s}.det-board-bar:hover{background:#241a38}[aria-expanded=true] .det-board-bar,.det-board-bar[aria-expanded=true]{border-bottom-color:#3b2d5e}.det-bar-icon{font-size:18px;flex-shrink:0}.det-bar-title{font-size:13px;font-weight:700;color:#e8c840;white-space:nowrap;flex-shrink:0}.det-bar-chips{display:flex;gap:4px;flex-shrink:0}.det-chip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:16px;border:2px solid #3b2d5e;background:#1e1530;transition:border-color .2s,transform .2s;cursor:default}.det-chip--cleared{border-color:#2d6b3a;opacity:.55}.det-chip--suspect{border-color:#a04010}.det-chip--prime{border-color:#cc2020;box-shadow:0 0 8px #c8202080}.det-chip--criminal{border-color:#f44;box-shadow:0 0 14px #ff4444b3;animation:det-criminal-pulse 1.4s ease-in-out infinite}.det-chip--unknown{border-color:#3b2d5e}@keyframes det-criminal-pulse{0%,to{box-shadow:0 0 8px #ff444480}50%{box-shadow:0 0 20px #ff4444e6}}.det-bar-status{margin-left:auto;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:#ff3c3c26;color:#ff6060;border:1px solid rgba(255,60,60,.3);letter-spacing:.4px;white-space:nowrap;flex-shrink:0}.det-bar-status--solved{background:#3cdc6426;color:#50dd80;border-color:#3cdc6459}.det-bar-toggle{font-size:11px;color:#6b5c8e;flex-shrink:0}.det-board-body{display:flex;gap:0;padding:14px 16px;align-items:flex-start;animation:det-expand .2s ease-out}@keyframes det-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.det-suspects{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.det-suspect-card{background:#1e1530;border:2px solid #3b2d5e;border-radius:10px;padding:8px 12px;min-width:100px;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;transition:border-color .25s,box-shadow .25s,opacity .25s}.det-suspect-card--cleared{opacity:.45;border-color:#2d5e35;background:#111a12}.det-suspect-card--cleared:after{content:"";position:absolute;inset:0;border-radius:8px;background:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(60,160,70,.08) 5px,rgba(60,160,70,.08) 6px)}.det-suspect-card--suspect{border-color:#8a3c10;background:#1e1208}.det-suspect-card--prime{border-color:#c02020;background:#1e0808;box-shadow:0 0 10px #c0202066}.det-suspect-card--criminal{border-color:#f44;background:#2a0808;box-shadow:0 0 18px #ff44448c;animation:det-criminal-pulse 1.4s ease-in-out infinite}.det-suspect-emoji{font-size:26px;line-height:1}.det-suspect-name{font-size:11px;font-weight:700;color:#c0a0e0;text-align:center}.det-suspect-role{font-size:10px;color:#6b5c8e}.det-suspect-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:8px;margin-top:2px}.det-suspect-tag--unknown{background:#ffffff12;color:#6b5c8e}.det-suspect-tag--cleared{background:#3ca04633;color:#60cc70}.det-suspect-tag--suspect{background:#b45a144d;color:#ffaa50}.det-suspect-tag--prime{background:#c0202059;color:#ff7070}.det-suspect-tag--criminal{background:#f446;color:#fff}.det-clues-panel{min-width:190px;max-width:240px;padding-left:16px;margin-left:12px;border-left:1px solid #3b2d5e;flex-shrink:0}.det-clues-title{font-size:10px;font-weight:700;color:#6b5c8e;text-transform:uppercase;letter-spacing:.7px;margin-bottom:8px;display:block}.det-clues-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.det-clue-item{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:#b090d0;animation:det-clue-in .35s ease-out}@keyframes det-clue-in{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.det-clue-icon{font-size:13px;flex-shrink:0;margin-top:1px}.det-clues-panel--empty .det-clues-empty{font-size:11px;color:#4a3d6a;font-style:italic;margin:0}@media(max-width:820px){.det-board-body{flex-direction:column}.det-clues-panel{border-left:none;border-top:1px solid #3b2d5e;margin-left:0;padding-left:0;padding-top:12px;max-width:100%;min-width:0}.det-suspects{gap:6px}.det-suspect-card{min-width:80px;padding:6px 8px}}.hud-top{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.hud-help{padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-controls{padding-bottom:max(24px,env(safe-area-inset-bottom,0px));padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}.play-root{overscroll-behavior:none;touch-action:none}@media(max-width:480px){.card{padding:18px;border-radius:12px}.code-input{font-size:18px;padding:12px}.hud-top{top:max(10px,env(safe-area-inset-top,0px));left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));gap:8px}.hud-btn{width:44px;height:44px;font-size:20px}.hud-title{font-size:13px;padding:8px 12px}.hud-right{gap:6px}.hud-pill{font-size:13px;padding:6px 10px}.hud-help{bottom:max(12px,env(safe-area-inset-bottom,0px));font-size:12px;max-width:calc(100% - 24px);padding:6px 12px;white-space:normal;text-align:center}.mobile-controls{bottom:0;padding:0 max(14px,env(safe-area-inset-left,0px)) max(18px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-right,0px))}.mobile-dpad{width:108px;height:108px}.dpad-btn{width:36px;height:36px;font-size:15px}.dpad-up{top:0;left:36px}.dpad-left{top:36px;left:0}.dpad-center{top:36px;left:36px;width:36px;height:36px}.dpad-right{top:36px;left:72px}.dpad-down{top:72px;left:36px}.mobile-jump{width:64px;height:64px}.escape-overlay,.onboarding-overlay,.obj-script-backdrop,.spawn-menu-backdrop,.add-block-backdrop,.tour-overlay,.confetti-overlay,.wctx-backdrop{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.goal-card{padding:24px 20px;max-width:calc(100% - 32px);width:calc(100% - 32px)}.goal-card h2{font-size:22px}.goal-badge{font-size:56px}.goal-stats{font-size:15px;gap:14px;padding:10px 0}.goal-actions{flex-direction:column}.goal-actions button{width:100%;min-width:0}.tour-tip{max-width:calc(100vw - 24px);left:12px!important;right:12px!important}}@media(max-width:375px){.card{padding:14px}.hud-title{font-size:12px;padding:6px 10px}.hud-pill{font-size:12px;padding:5px 8px}.hud-btn{width:44px;height:44px}.mobile-dpad{width:96px;height:96px}.dpad-btn{width:32px;height:32px;font-size:14px}.dpad-up{top:0;left:32px}.dpad-left{top:32px;left:0}.dpad-center{top:32px;left:32px;width:32px;height:32px}.dpad-right{top:32px;left:64px}.dpad-down{top:64px;left:32px}.mobile-jump{width:56px;height:56px}.goal-card{padding:20px 16px}.goal-card h2{font-size:19px}.goal-badge{font-size:48px}}select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%236b5ce7' d='M1 1l5 6 5-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;padding-right:36px!important;font-feature-settings:"ss01" on,"ss02" on;text-rendering:optimizeLegibility}input[type=file]::-webkit-file-upload-button,input[type=file]::file-selector-button{background:var(--violet, #6b5ce7);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-weight:700;font-size:13px;margin-right:12px;cursor:pointer;font-family:inherit}input[type=file]::-webkit-file-upload-button:hover,input[type=file]::file-selector-button:hover{background:#5c4fd9}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(45%) sepia(54%) saturate(2756%) hue-rotate(229deg) brightness(94%) contrast(91%);cursor:pointer;opacity:.7}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.login-grid--roles .kb-card{min-height:132px;display:flex;align-items:center}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);padding-bottom:max(16px,env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);z-index:1000;will-change:transform}.bottom-sheet.is-open{transform:translateY(0)}.bottom-sheet__handle{width:40px;height:4px;border-radius:2px;background:#ffffff59;margin:8px auto 6px}.sheet-backdrop{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .18s ease-out;z-index:999}.sheet-backdrop.is-open{opacity:1;pointer-events:auto}.tap-scale{transition:transform .12s ease-out,opacity .12s ease-out;touch-action:manipulation}.tap-scale:active{transform:scale(.96);opacity:.88}.no-select,.ui-chrome{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.tap-target{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.min-h-screen-safe{min-height:calc(var(--vh, 1vh) * 100)}.h-screen-safe{height:calc(var(--vh, 1vh) * 100)}.scroll-contain{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.no-zoom-input{font-size:16px}@media(max-width:480px){.hide-on-mobile{display:none!important}}@media(min-width:481px){.show-on-mobile{display:none!important}}.no-pull-refresh{overscroll-behavior-y:contain;touch-action:pan-x pan-y}@media(max-width:640px){html,body{overflow-x:hidden}.kb-shell-main,.kb-shell__main,main.kb-shell-main{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}@media(max-width:560px){.kb-cover-deco--top-row,.kb-cover-mascot{display:none!important}.kb-cover-actions{flex-direction:column;align-items:stretch;gap:10px}.kb-cover-actions .kb-btn{width:100%;text-align:center;white-space:normal;min-height:48px}.kb-card[style*="grid-template-columns: auto 1fr auto"]{grid-template-columns:1fr!important;gap:10px!important;padding:12px 14px!important}section>div[style*="minmax(380px"]{grid-template-columns:1fr!important;gap:14px!important}.kb-card--feature .kb-btn{white-space:normal!important;width:100%;text-align:center}.kb-card--feature{padding:20px!important;gap:14px!important}.kb-card--feature>div[style*="fontSize: 72"],.kb-card--feature>div[style*="fontSize: 56"]{font-size:48px!important}}@media(max-width:720px){.curric-lesson-grid{grid-template-columns:1fr!important;gap:18px}.curric-side{position:static!important;max-width:none!important}.curric-module-hero{flex-direction:column!important;align-items:flex-start!important;gap:12px!important;padding:20px!important}.curric-module-hero-progress{align-self:flex-end}}@media(max-width:480px){.curric-modules{grid-template-columns:1fr!important}.curric-lesson-card{grid-template-columns:44px 1fr!important}.curric-lesson-cta{grid-column:1 / -1;justify-self:stretch;text-align:center;padding-top:8px}.curric-chips{gap:6px}.curric-chip{font-size:12px;padding:4px 10px}.curric-lesson-hook-big{font-size:15px}}@media(max-width:720px){.profile-root{grid-template-columns:1fr!important;flex-direction:column!important;height:auto!important;min-height:calc(var(--vh, 1vh) * 100)}.profile-side{max-height:none!important;order:2;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.profile-preview{order:1;height:44vh!important;min-height:280px;width:100%!important;position:sticky;top:0;z-index:1}.profile-preview canvas{width:100%!important;height:100%!important}.pill-group{flex-wrap:wrap;gap:6px}.pill-group .pill{min-height:44px;padding:10px 14px;font-size:14px}.color-grid{gap:10px}.color-dot{width:36px;height:36px}.preset-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px}.profile-actions{position:sticky;bottom:0;padding:12px 0;background:var(--paper, #fff);box-shadow:0 -4px 12px #0000000f}.profile-actions button{min-height:48px;flex:1}}@media(max-width:640px){[role=tablist] button{padding:10px 8px!important;font-size:13px!important;min-height:44px}[role=tablist] button>span:last-child{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ek-chat-room,[class*=chat-room]{max-height:calc(var(--vh, 1vh) * 100 - 220px - var(--kb-height, 0px))!important}.ek-chat-input,.chat-composer,form.chat-form{padding-bottom:calc(8px + var(--kb-height, 0px))!important;transition:padding-bottom .18s ease}}@media(max-width:640px){.ek-room{height:calc(var(--vh, 1vh) * 100)!important}.ek-room-header{padding:8px 12px!important;flex-wrap:wrap;gap:8px;padding-top:calc(8px + env(safe-area-inset-top,0px))!important}.ek-room-header-title{font-size:13px}.ek-room-header-room{font-size:11px;padding:2px 6px}.ek-room-participants{font-size:11px}.ek-room-copy-btn{font-size:12px;padding:6px 10px;min-height:36px}.ek-room-body{flex-direction:column!important}.ek-room-chat-panel{width:100%!important;height:40vh!important;border-left:none!important;border-top:1px solid rgba(255,255,255,.08)!important}.ek-room-controls{flex-wrap:wrap;gap:8px!important;justify-content:center!important;padding:10px!important;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}.ek-room-controls-center{position:static!important;transform:none!important;order:3;width:100%;display:flex;justify-content:center}.ek-room-controls-group{flex:1;justify-content:center;flex-wrap:wrap}.ek-ctrl-btn{min-width:44px!important;min-height:44px!important;padding:8px 12px!important;font-size:13px}.ek-ctrl-label,.ek-ctrl-btn--icon .ek-ctrl-label{display:none}.ek-room-stage [class*=lk-grid-layout],.ek-room-grid{grid-template-columns:1fr!important}.lk-room-join-card{width:calc(100% - 24px)!important;max-width:none!important;padding:24px 20px!important}.lk-room-join-input{font-size:16px!important;min-height:48px}.lk-room-join-btn{min-height:52px;font-size:16px}.lk-room-join-actions{flex-direction:column!important;gap:8px!important}.lk-room-join-actions button{width:100%;min-height:44px}}@media(max-width:900px){.site-editor-header{flex-wrap:wrap;gap:8px!important;padding:8px 12px!important;padding-top:calc(8px + env(safe-area-inset-top,0px))!important}.site-editor-brand{flex:1 1 auto;min-width:0}.site-editor-brand strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50vw}.site-editor-brand small{display:none}.site-mode-switch{order:3;flex:1 1 100%;justify-content:space-between;overflow-x:auto;gap:4px!important}.mode-pill{padding:8px 10px!important;font-size:13px!important;min-height:44px;white-space:nowrap}.mode-pill small,.mode-arrow-mini{display:none}.site-editor-actions{flex:1 1 auto;gap:6px!important}.site-name-input{max-width:40vw;font-size:13px}}@media(max-width:720px){.tpl-mode--split{grid-template-columns:1fr!important;flex-direction:column!important;height:auto!important}.tpl-editor-pane,.tpl-preview--half{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important}.tpl-preview--half{height:60vh!important;position:sticky;top:0;z-index:1;background:var(--paper, #fff)}.tpl-preview-frame iframe{width:100%;height:100%}.blocks-mode{grid-template-columns:1fr!important;grid-template-rows:1fr 40vh!important;flex-direction:column!important}.blocks-mode-canvas,.blocks-mode-preview{width:100%!important;height:auto!important}.code-mode{grid-template-columns:1fr!important;grid-template-rows:1fr 40vh!important;flex-direction:column!important}.code-mode-editor,.code-mode-preview{width:100%!important;height:auto!important}.code-mode-textarea{font-size:14px!important;min-height:50vh}.tpl-section-header{flex-wrap:wrap;gap:6px!important;padding:10px!important}.tpl-section-actions button{min-width:36px;min-height:36px}.tpl-section-preview-hint{flex-basis:100%;order:10;font-size:12px}.add-block-modal{width:calc(100% - 16px)!important;max-width:none!important;max-height:85vh!important}.add-block-body{grid-template-columns:1fr!important;flex-direction:column!important}.add-block-cats{flex-direction:row!important;overflow-x:auto;width:100%!important;border-right:none!important;border-bottom:1px solid rgba(0,0,0,.08);padding:8px!important;gap:6px}.add-block-cat{white-space:nowrap;min-height:44px}.add-block-grid{grid-template-columns:repeat(2,1fr)!important}.share-modal{width:calc(100% - 24px)!important;max-width:none!important}.share-url-row{flex-direction:column!important;gap:8px!important}.share-url-row input{font-size:16px;min-height:44px;width:100%}.tpl-field input[type=text],.tpl-field textarea,.rep-input{font-size:16px!important}}@media(max-width:640px){.kb-hero{flex-direction:column!important;gap:16px!important;padding:24px 20px!important;text-align:left}.kb-hero>div:last-child{width:120px!important;align-self:center}.kb-hero-actions{flex-direction:column!important;align-items:stretch!important}.kb-hero-actions .kb-btn{width:100%;text-align:center;min-height:48px}.sites-pipeline{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.pipeline-arrow{transform:rotate(90deg);align-self:center}}@media(max-width:640px){.kb-card pre{font-size:13px!important;line-height:1.55!important}.kb-card--feature>div[style*="fontSize: 56"]{font-size:42px!important}.kb-card--feature[style*="flexWrap: wrap"]{padding:18px!important}code[style*="userSelect: all"]{font-size:11px!important}.kb-card input[type=text],.kb-card input.text-input{font-size:16px!important}.kb-card kbd{min-height:28px;font-size:12px}.kb-card ul li a{min-height:48px;display:flex!important;align-items:center}}@media(max-width:768px){.kb-cover{padding:24px 18px 22px!important;margin-bottom:24px!important;border-radius:18px!important}.kb-cover-title{font-size:clamp(36px,11vw,56px)!important;max-width:100%!important;line-height:.92!important}.kb-cover-title--md{font-size:clamp(32px,9vw,44px)!important}.kb-cover-sub{font-size:15px!important;margin-top:14px!important;max-width:100%!important}.kb-cover-actions{margin-top:18px!important}.kb-cover-meta{flex-wrap:wrap;gap:6px!important;margin-bottom:10px!important}.kb-cover-meta-row{flex-wrap:wrap;row-gap:4px}.kb-cover-footer{grid-template-columns:repeat(2,1fr)!important;gap:12px!important;margin-top:20px!important;padding-top:14px!important}.kb-cover-footer-col strong{font-size:18px!important}.kb-cover-deco{display:none!important}}@media(max-width:768px){.portfolio-hero-cover{flex-direction:column!important;align-items:stretch!important}.portfolio-progress-ring{margin:4px auto 0!important;display:flex;justify-content:center}.portfolio-progress-ring svg{width:140px!important;height:140px!important}.portfolio-kpis{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.portfolio-journey{grid-template-columns:1fr!important;gap:10px!important}.portfolio-mod-connector{display:none!important}}@media(max-width:480px){.portfolio-progress-ring svg{width:120px!important;height:120px!important}.kb-cover{padding:20px 14px!important}.kb-cover-title{font-size:clamp(32px,10vw,48px)!important}}@media(max-width:820px){.puzzle-layout{height:auto!important;min-height:auto!important;overflow:visible!important}.puzzle-editor-panel{min-height:480px!important}.puzzle-preview-panel{min-height:300px!important}.puzzle-editor-zone{min-height:380px!important}.blockly-container,.blockly-container svg,.blocklySvg{touch-action:none!important}.puzzle-task-panel input,.puzzle-editor-panel input,.puzzle-editor-panel textarea,.cm-editor .cm-content{font-size:16px!important}.puzzle-actions .kb-btn,.trainer-tab,.puzzle-header-nav button{min-height:48px!important;font-size:15px!important}.hint-item{cursor:pointer}}@media(max-width:480px){.detective-board{padding:12px!important}.puzzle-header{flex-direction:column;gap:10px}.puzzle-header-left{flex:1}}.play-canvas canvas{touch-action:none!important}@media(max-width:820px){.mobile-controls{pointer-events:auto;touch-action:none}.mobile-joystick,.mobile-btn{min-width:64px!important;min-height:64px!important}}.studio-build canvas,.build-scene canvas{touch-action:none!important}@media(max-width:640px){.studio-header{flex-wrap:wrap;gap:6px!important;padding:8px 10px!important;padding-top:calc(8px + env(safe-area-inset-top,0px))!important}.studio-stats{display:none!important}.studio-tabs button{padding:8px 10px!important;font-size:13px!important}.studio-actions button{min-height:40px;font-size:13px}}
