@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.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:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.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:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.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:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.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:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.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:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.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:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.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:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.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:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.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:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.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:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.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:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.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:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.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:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.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:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.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:"Inter";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.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:"Inter";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.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:"Inter";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.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:"Inter";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.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:"Inter";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.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:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) 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:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.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:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.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:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.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:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.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:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.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:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=) 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:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.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:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.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:600;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.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:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.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:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.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}.il-auth{--il-bg: #050a10;--il-teal: #00d1b2;--il-teal-bright: #00f2ff;--il-teal-dim: rgba(0, 242, 255, 0.55);--il-text: #f8fafc;--il-muted: #94a3b8;--il-muted-2: #64748b;--il-glass: rgba(8, 16, 28, 0.72);--il-glass-border: rgba(0, 242, 255, 0.22);--il-input-border: rgba(0, 209, 178, 0.32);position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:var(--il-bg);color:var(--il-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}.il-auth__glow{pointer-events:none;position:absolute;border-radius:50%;filter:blur(90px);z-index:0}.il-auth__glow--tr{top:-18%;right:-8%;width:min(62vw,680px);height:min(62vw,680px);background:radial-gradient(circle,rgba(0,242,255,0.28) 0%,rgba(0,209,178,0.1) 45%,transparent 72%);opacity:0.75}.il-auth__glow--bl{bottom:-22%;left:-14%;width:min(50vw,520px);height:min(50vw,520px);background:radial-gradient(circle,rgba(0,160,180,0.22) 0%,transparent 70%);opacity:0.55}.il-auth__glow--card{top:14%;right:6%;width:min(44vw,480px);height:min(58vw,580px);background:radial-gradient(circle,rgba(0,209,178,0.18) 0%,transparent 68%);opacity:0.8}.il-auth__dots{pointer-events:none;position:absolute;width:200px;height:160px;z-index:0;opacity:0.7;background-image:radial-gradient(circle,rgba(0,242,255,0.55) 1.2px,transparent 1.4px);background-size:14px 14px}.il-auth__dots--tr{top:2%;right:3%;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,black 10%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,black 10%,transparent 75%)}.il-auth__dots--bl{bottom:4%;left:2%;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 30% 70%,black 10%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 30% 70%,black 10%,transparent 75%)}.il-auth__contour{pointer-events:none;position:absolute;right:-1%;top:10%;width:min(40vw,460px);height:80%;z-index:0;opacity:0.38}.il-auth__shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,0.85fr);gap:clamp(2rem,4vw,4.5rem);align-items:center;max-width:1320px;margin:0 auto;min-height:100vh;min-height:100dvh;padding:clamp(1.75rem,4vw,3.5rem) clamp(1.25rem,4.5vw,3.5rem)}.il-auth__brand{display:flex;flex-direction:column;justify-content:center;max-width:640px}.il-auth__logo-row{display:flex;align-items:center;gap:0.9rem;margin-bottom:2.5rem}.il-auth__logo-mark{width:3.25rem;height:3.25rem;flex-shrink:0}.il-auth__wordmark{display:flex;flex-direction:column;gap:0.3rem;line-height:1}.il-auth__wordmark-title{font-size:clamp(1.25rem,2vw,1.65rem);font-weight:800;letter-spacing:0.08em;color:var(--il-text)}.il-auth__tagline{font-size:0.62rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:rgba(148,226,214,0.78)}.il-auth__headline{margin:0 0 0.75rem;font-size:clamp(2.4rem,4.8vw,3.5rem);font-weight:800;line-height:1.06;letter-spacing:-0.025em;color:var(--il-text)}.il-auth__headline-accent{display:block;margin-top:0.15em;background:linear-gradient(90deg,#00f2ff 0%,#00d1b2 55%,#00a896 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 24px rgba(0,242,255,0.25))}.il-auth__rule{width:3.75rem;height:3px;margin:0 0 1.25rem;border:0;background:linear-gradient(90deg,var(--il-teal-bright),var(--il-teal));border-radius:2px;box-shadow:0 0 12px rgba(0,242,255,0.4)}.il-auth__lede{margin:0 0 2rem;max-width:36rem;font-size:clamp(0.92rem,1.35vw,1.05rem);line-height:1.6;color:var(--il-muted)}.il-auth__capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.85rem}.il-auth__cap-card{display:flex;flex-direction:column;align-items:flex-start;gap:0.55rem;padding:1rem 1rem 1.05rem;border-radius:0.85rem;background:linear-gradient(145deg,rgba(0,242,255,0.04) 0%,rgba(8,16,28,0.55) 100%);border:1px solid var(--il-glass-border);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 0 20px -6px rgba(0,242,255,0.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease}.il-auth__cap-card:hover{transform:translateY(-2px);border-color:rgba(0,242,255,0.38);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 0 28px -4px rgba(0,242,255,0.22)}.il-auth__cap-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1.5px solid rgba(0,242,255,0.45);color:var(--il-teal-bright);background:rgba(0,209,178,0.06);box-shadow:0 0 14px rgba(0,242,255,0.1)}.il-auth__cap-title{margin:0;font-size:0.92rem;font-weight:700;color:var(--il-text);line-height:1.2}.il-auth__cap-desc{margin:0;font-size:0.72rem;line-height:1.45;color:var(--il-muted-2)}.il-auth__card{position:relative;width:100%;max-width:440px;margin-left:auto;padding:clamp(2rem,3.5vw,2.5rem) clamp(1.75rem,3vw,2.35rem) 1.75rem;border-radius:1.85rem;background:linear-gradient(165deg,rgba(12,24,40,0.88) 0%,rgba(6,12,22,0.92) 100%);border:1px solid rgba(0,242,255,0.24);box-shadow:0 0 0 1px rgba(0,209,178,0.06),0 0 56px rgba(0,242,255,0.12),0 32px 80px rgba(0,0,0,0.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.il-auth__card::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(0,242,255,0.1) 0%,transparent 22%)}.il-auth__card-inner{position:relative;z-index:1}.il-auth__card-logo{display:flex;justify-content:center;margin-bottom:1rem}.il-auth__card-mark{width:3.5rem;height:3.5rem}.il-auth__card-title{margin:0;text-align:center;font-size:1.6rem;font-weight:750;letter-spacing:-0.015em}.il-auth__card-sub{margin:0.4rem 0 1.6rem;text-align:center;font-size:0.88rem;color:var(--il-muted)}.il-auth__field{margin-bottom:1rem}.il-auth__label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.38rem}.il-auth__label{display:block;font-size:0.76rem;font-weight:500;color:var(--il-muted);margin-bottom:0.38rem}.il-auth__label-row .il-auth__label{margin-bottom:0}.il-auth__hint{font-size:0.7rem;font-weight:600;color:var(--il-teal)}.il-auth__control{position:relative;display:flex;align-items:center}.il-auth__control-icon{position:absolute;left:0.85rem;display:flex;color:var(--il-muted-2);pointer-events:none}.il-auth__input{width:100%;height:2.9rem;padding:0 2.75rem 0 2.65rem;border-radius:0.65rem;border:1px solid var(--il-input-border);background:rgba(4,10,18,0.75);color:var(--il-text);font-size:0.9rem;outline:none;transition:border-color 0.15s ease,box-shadow 0.15s ease}.il-auth__input--password{padding-left:0.95rem}.il-auth__input::-moz-placeholder{color:var(--il-muted-2)}.il-auth__input::placeholder{color:var(--il-muted-2)}.il-auth__input:focus{border-color:var(--il-teal-bright);box-shadow:0 0 0 3px rgba(0,242,255,0.12)}.il-auth__eye{position:absolute;right:0.35rem;display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:0;border-radius:0.45rem;background:transparent;color:var(--il-muted-2);cursor:pointer}.il-auth__eye:hover{color:var(--il-text);background:rgba(255,255,255,0.04)}.il-auth__error{display:flex;gap:0.5rem;align-items:flex-start;margin:0 0 0.85rem;padding:0.65rem 0.75rem;border-radius:0.55rem;border:1px solid rgba(239,68,68,0.35);background:rgba(239,68,68,0.1);color:#fca5a5;font-size:0.82rem;line-height:1.35}.il-auth__submit{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;width:100%;height:3rem;margin-top:0.25rem;border:0;border-radius:999px;background:linear-gradient(90deg,#00c4b0 0%,#00e5d0 45%,#5ff5e8 100%);color:#041018;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 0 28px rgba(0,242,255,0.32),inset 0 1px 0 rgba(255,255,255,0.25);transition:filter 0.18s ease,transform 0.18s ease,box-shadow 0.18s ease}.il-auth__submit:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 0 36px rgba(0,242,255,0.42),inset 0 1px 0 rgba(255,255,255,0.3)}.il-auth__submit:active:not(:disabled){transform:translateY(0)}.il-auth__submit:disabled{opacity:0.7;cursor:wait}.il-auth__submit .spinner{border-color:rgba(4,16,24,0.35);border-right-color:transparent}.il-auth__divider{display:flex;align-items:center;gap:0.75rem;margin:1.25rem 0;color:var(--il-muted-2);font-size:0.74rem}.il-auth__divider::before,.il-auth__divider::after{content:"";flex:1;height:1px;background:rgba(148,163,184,0.2)}.il-auth__google{display:inline-flex;align-items:center;justify-content:center;gap:0.65rem;width:100%;height:3rem;border-radius:999px;border:0;background:#ffffff;color:#1f2937;font-size:0.94rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,0.14);transition:background 0.15s ease}.il-auth__google:hover:not(:disabled){background:#f3f4f6}.il-auth__google:disabled{opacity:0.65;cursor:not-allowed}.il-auth__trust{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0.35rem 0.5rem;margin:1.4rem 0 0;color:var(--il-teal-dim);font-size:0.7rem;font-weight:600}.il-auth__trust span{display:inline-flex;align-items:center;gap:0.3rem}.il-auth__trust svg{color:var(--il-teal-bright);flex-shrink:0}.il-auth__trust-sep{color:rgba(148,163,184,0.35);font-weight:400}@media(prefers-reduced-motion:reduce){.il-auth__cap-card,.il-auth__submit{transition:none}.il-auth__cap-card:hover{transform:none}}@media(max-width:1080px){.il-auth__shell{grid-template-columns:minmax(0,1fr) minmax(300px,0.95fr);gap:2rem}.il-auth__capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:920px){.il-auth__shell{grid-template-columns:1fr;gap:2.25rem;padding-top:2rem;padding-bottom:2.5rem;align-items:stretch}.il-auth__brand{max-width:none}.il-auth__card{margin:0 auto;max-width:480px}.il-auth__contour{opacity:0.15}}@media(max-width:560px){.il-auth__capabilities{grid-template-columns:1fr}.il-auth__headline{font-size:2.15rem}.il-auth__trust-sep{display:none}.il-auth__trust{flex-direction:column;gap:0.4rem}}.accordion-gallery{--ag-accent: var(--accent);--ag-overlay: var(--brand-deep, #060010);--ag-text: #ffffff;--ag-gap: 10px;--ag-radius: 16px;--ag-media-size: 320px;display:flex;flex-direction:row;gap:var(--ag-gap);width:100%;max-width:100%;perspective:1400px;perspective-origin:50% 50%}.accordion-gallery--vertical{flex-direction:column}.ag-panel{position:relative;flex:1 1 0;min-width:0;min-height:0;overflow:hidden;border-radius:var(--ag-radius);cursor:pointer;display:block;text-decoration:none;outline:none;transform-style:preserve-3d;transform-origin:center center;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);will-change:flex-grow,transform;-webkit-tap-highlight-color:transparent}.ag-panel:focus-visible{box-shadow:0 0 0 2px var(--ag-accent),var(--shadow)}.ag-panel__frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit}.ag-panel__media{--ag-gray: 1;--ag-dim: 0.35;position:absolute;top:50%;left:50%;width:var(--ag-media-size);height:100%;filter:grayscale(var(--ag-gray));will-change:transform,filter}.accordion-gallery--vertical .ag-panel__media{width:100%;height:var(--ag-media-size)}.ag-panel__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.ag-panel__overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--ag-overlay) 78%,transparent) 100%),color-mix(in srgb,var(--ag-overlay) calc(var(--ag-dim, 0.35) * 100%),transparent)}.ag-panel__label{position:absolute;left:1rem;top:1rem;right:1rem;display:flex;align-items:center;gap:0.75rem;pointer-events:none;z-index:2}.ag-panel__bar{flex:0 0 auto;width:3px;height:1.625rem;border-radius:3px;background:var(--ag-accent);opacity:0;box-shadow:0 0 12px color-mix(in srgb,var(--ag-accent) 60%,transparent)}.ag-panel__text{color:var(--ag-text);font-family:inherit;font-weight:600;font-size:clamp(0.875rem,1.4vw,1.25rem);letter-spacing:0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;text-shadow:0 2px 14px rgba(0,0,0,0.55)}@media(max-width:640px){.accordion-gallery{flex-direction:column;perspective:none;height:auto!important}.ag-panel{min-height:5.25rem;transform:none!important}.accordion-gallery .ag-panel__media{width:100%;height:var(--ag-media-size)}}@media(prefers-reduced-motion:reduce){.ag-panel,.ag-panel__media{will-change:auto}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#FFF;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:-moz-fit-content;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);transition:opacity 100ms linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity 800ms linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{--brand-deep: #1A2B4A;--brand-deep-2: #233659;--brand-deep-3: #0F1B33;--accent: #00C9B1;--accent-2: #00A896;--accent-soft: #D9F6F1;--accent-soft-2: #E8FBF8;--terminal-bg: #0D1117;--terminal-bg-2: #161B22;--terminal-text: #E6EDF3;--terminal-muted: #8B949E;--terminal-accent: #58A6FF;--terminal-green: #56D364;--terminal-red: #FF7B72;--terminal-yellow: #E3B341;--success: #2EA043;--success-soft: #DCFCE7;--fail: #CF4B00;--fail-soft: #FFE4D6;--warn: #D29922;--warn-soft: #FFF4D6;--bg: #F6F8FA;--surface: #FFFFFF;--surface-2: #FAFBFC;--border: #D0D7DE;--border-soft: #E4E8EE;--text: #1F2328;--text-2: #424A53;--text-3: #656D76;--text-4: #8C959F;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-18: 18px;--fs-20: 20px;--fs-24: 24px;--fs-28: 28px;--fs-32: 32px;--fs-40: 40px;--d: 1;--sp-1: calc(4px * var(--d));--sp-2: calc(8px * var(--d));--sp-3: calc(12px * var(--d));--sp-4: calc(16px * var(--d));--sp-5: calc(20px * var(--d));--sp-6: calc(24px * var(--d));--sp-8: calc(32px * var(--d));--sp-10: calc(40px * var(--d));--sp-12: calc(48px * var(--d));--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--radius-pill: 999px;--sidebar-w: 268px;--header-h: 56px;--lab-bg: #050B16;--lab-bg-2: #07111F;--lab-surface: rgba(14, 23, 40, 0.92);--lab-surface-elevated: rgba(18, 28, 48, 0.95);--lab-border: rgba(0, 201, 177, 0.18);--lab-border-soft: rgba(88, 166, 255, 0.12);--lab-glow: rgba(0, 229, 208, 0.35);--lab-glow-strong: rgba(0, 229, 208, 0.55);--lab-text-muted: #8B9BB5;--lab-warn-surface: rgba(210, 153, 34, 0.12);--lab-warn-border: rgba(210, 153, 34, 0.45);--shadow-sm: 0 1px 2px rgba(15,27,51,0.04), 0 0 0 1px rgba(15,27,51,0.04);--shadow: 0 4px 12px -2px rgba(15,27,51,0.08), 0 0 0 1px rgba(15,27,51,0.05);--shadow-lg: 0 12px 32px -8px rgba(15,27,51,0.18), 0 0 0 1px rgba(15,27,51,0.06);--tween: 180ms cubic-bezier(0.2, 0.7, 0.2, 1)}[data-density=compact]{--d: 0.75}[data-theme=dark]{--bg: #050B16;--surface: #0C1526;--surface-2: #0A1220;--border: #1C2A42;--border-soft: #152033;--text: #E6EDF3;--text-2: #B7C2D0;--text-3: #8B9BB3;--text-4: #6F7F97;--brand-deep: #07111F;--brand-deep-2: #0E1728;--brand-deep-3: #050B16;--success-soft: #0F2A19;--fail-soft: #2A1208;--warn-soft: #2A1F08;--accent: #14B8A6;--accent-2: #0D9488;--accent-soft: rgba(20, 184, 166, 0.14);--accent-soft-2: rgba(20, 184, 166, 0.08)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}*,::before,::after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / 0.5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / 0.5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.inset-x-0{left:0px;right:0px}.inset-y-0{top:0px;bottom:0px}.bottom-0{bottom:0px}.left-0{left:0px}.left-1\/2{left:50%}.left-2{left:0.5rem}.left-3\.5{left:0.875rem}.right-0{right:0px}.right-3{right:0.75rem}.right-4{right:1rem}.top-0{top:0px}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-3{top:0.75rem}.top-4{top:1rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:0.25rem;margin-bottom:0.25rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-3{margin-bottom:0.75rem}.mb-6{margin-bottom:1.5rem}.ml-auto{margin-left:auto}.mr-\[0\.25em\]{margin-right:0.25em}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:0.5rem}.h-3{height:0.75rem}.h-3\.5{height:0.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.min-h-\[2\.75rem\]{min-height:2.75rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:0.5rem}.w-2\/3{width:66.666667%}.w-24{width:6rem}.w-3\.5{width:0.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-5\/6{width:83.333333%}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-32{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[720px\]{max-width:720px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:0.125rem}.gap-1{gap:0.25rem}.gap-1\.5{gap:0.375rem}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--landing-border\,\#c9d4e0\)\]{border-color:var(--landing-border,#c9d4e0)}.border-border{border-color:var(--border)}.border-border-soft{border-color:var(--border-soft)}.border-input{border-color:var(--border)}.border-transparent{border-color:transparent}.border-white\/10{border-color:rgb(255 255 255 / 0.1)}.border-white\/15{border-color:rgb(255 255 255 / 0.15)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--landing-mist-2\,\#f3f7fb\)\]{background-color:var(--landing-mist-2,#f3f7fb)}.bg-\[var\(--landing-white\,\#fff\)\]{background-color:var(--landing-white,#fff)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-accent{background-color:var(--accent-soft)}.bg-background{background-color:var(--bg)}.bg-black\/70{background-color:rgb(0 0 0 / 0.7)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--surface)}.bg-destructive{background-color:var(--fail)}.bg-foreground{background-color:var(--text)}.bg-popover{background-color:var(--surface)}.bg-primary{background-color:var(--accent)}.bg-secondary{background-color:var(--surface-2)}.bg-surface-2{background-color:var(--surface-2)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:rgb(255 255 255 / 0.05)}.fill-current{fill:currentColor}.p-0{padding:0px}.p-0\.5{padding:0.125rem}.p-1{padding:0.25rem}.p-2{padding:0.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-2\.5{padding-left:0.625rem;padding-right:0.625rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:0.75rem}.pl-8{padding-left:2rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.08em\]{letter-spacing:0.08em}.tracking-tight{letter-spacing:-0.025em}.tracking-wide{letter-spacing:0.025em}.tracking-widest{letter-spacing:0.1em}.text-\[var\(--accent-2\)\]{color:var(--accent-2)}.text-\[var\(--landing-ink\,\#14233d\)\]{color:var(--landing-ink,#14233d)}.text-\[var\(--landing-muted\,\#4a5568\)\]{color:var(--landing-muted,#4a5568)}.text-\[var\(--landing-navy\,\#1a2b4a\)\]{color:var(--landing-navy,#1a2b4a)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-2\)\]{color:var(--text-2)}.text-background{color:var(--bg)}.text-destructive-foreground{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-foreground{color:var(--text)}.text-inherit{color:inherit}.text-muted-foreground{color:var(--text-3)}.text-neutral-800{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.text-primary{color:var(--accent)}.text-primary-foreground{--tw-text-opacity: 1;color:rgb(5 36 32 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:var(--text)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/50{color:rgb(255 255 255 / 0.5)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:0.6}.opacity-70{opacity:0.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-\[box-shadow\,border-color\,transform\]{transition-property:box-shadow,border-color,transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-200{transition-duration:200ms}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.\[all\:vars\]{all:vars}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);font-size:var(--fs-14);font-weight:400;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11" 1,"ss01" 1}button{font-family:inherit;cursor:pointer;color:inherit}input,select,textarea{font-family:inherit}.bg-grid{background-color:var(--brand-deep);background-image:linear-gradient(rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.04) 1px,transparent 1px),radial-gradient(circle at 30% 20%,rgba(0,201,177,0.18) 0%,transparent 45%),radial-gradient(circle at 80% 80%,rgba(0,201,177,0.10) 0%,transparent 50%);background-size:40px 40px,40px 40px,100% 100%,100% 100%}.bg-topo{background-color:var(--bg);background-image:linear-gradient(var(--border-soft) 1px,transparent 1px),linear-gradient(90deg,var(--border-soft) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.mono{font-family:var(--font-mono)}.muted{color:var(--text-3)}.muted-2{color:var(--text-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--radius);border:1px solid transparent;background:var(--surface);color:var(--text);font-size:var(--fs-14);font-weight:500;transition:background var(--tween),border-color var(--tween),color var(--tween),transform var(--tween);white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);color:#052420;border-color:var(--accent-2);box-shadow:0 1px 0 rgba(0,0,0,0.04),inset 0 1px 0 rgba(255,255,255,0.3)}.btn-primary:hover{background:var(--accent-2);color:#fff}.btn-primary:disabled{background:#B4E7DF;color:#486962;cursor:not-allowed;border-color:transparent}.btn-ghost{background:transparent;border-color:var(--border)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--text-3)}.btn-ai-cta{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent);font-weight:600;box-shadow:0 0 0 1px rgba(0,201,177,0.25)}.btn-ai-cta:hover{background:var(--accent);color:#fff;border-color:var(--accent-2)}.btn-danger{background:var(--fail);color:#fff}.btn-danger:hover{background:#B33C00}.btn-sm{height:28px;padding:0 10px;font-size:var(--fs-13)}.btn-lg{height:44px;padding:0 20px;font-size:var(--fs-16)}.input{height:38px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-14);transition:border-color var(--tween),box-shadow var(--tween);width:100%}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,201,177,0.2)}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--radius-pill);font-size:var(--fs-12);font-weight:500;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-soft)}.badge-active{background:var(--accent-soft);color:var(--accent-2);border-color:transparent}.badge-complete{background:var(--success-soft);color:var(--success);border-color:transparent}.badge-locked{background:var(--surface-2);color:var(--text-4)}.badge-warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge-fail{background:var(--fail-soft);color:var(--fail);border-color:transparent}.badge-pass-pill{background:var(--success);color:#fff;border-color:transparent;font-family:var(--font-mono);font-weight:600;letter-spacing:0.5px}.badge-fail-pill{background:var(--fail);color:#fff;border-color:transparent;font-family:var(--font-mono);font-weight:600;letter-spacing:0.5px}.pbar{position:relative;height:6px;background:var(--border-soft);border-radius:999px;overflow:hidden}.pbar>i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit;transition:width 400ms cubic-bezier(0.2,0.7,0.2,1)}.pbar.thick{height:10px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.teal{background:var(--accent);box-shadow:0 0 0 3px rgba(0,201,177,0.18)}.dot.green{background:var(--success);box-shadow:0 0 0 3px rgba(46,160,67,0.18)}.dot.grey{background:var(--text-4)}.dot.amber{background:var(--warn);box-shadow:0 0 0 3px rgba(210,153,34,0.18)}.app{display:flex;min-height:100vh;height:100vh;overflow:hidden}.app-shell-column{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-shell-main{flex:1;min-width:0;min-height:0;display:flex}.skip-link{position:fixed;top:8px;left:8px;z-index:200;padding:9px 14px;border-radius:var(--radius);background:var(--surface);color:var(--text);border:2px solid var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-160%);transition:transform var(--tween)}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-app-bar{display:none}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:radial-gradient(ellipse 100% 50% at 0% 0%,rgba(0,229,208,0.1) 0%,transparent 50%),linear-gradient(180deg,#060D18 0%,#050B16 50%,#040810 100%);color:#E1E7F0;display:flex;flex-direction:column;border-right:1px solid rgba(0,229,208,0.1);box-shadow:4px 0 24px rgba(0,0,0,0.25);position:relative;overflow:hidden;transition:width var(--tween)}.sidebar-collapsed{width:56px}.sidebar::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;opacity:0.55}.sidebar>*{position:relative}.sidebar-brand{padding:16px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,0.06);min-height:74px}.sidebar-collapsed .sidebar-brand{padding:18px 12px;justify-content:center}.sidebar-brand .logo{width:40px;height:40px;flex-shrink:0}.sidebar-brand .brand-name{font-weight:650;font-size:15px;letter-spacing:0.3px;color:#F2F6FC}.sidebar-brand .brand-name small{display:block;font-size:10px;font-weight:600;color:rgba(0,201,177,0.78);letter-spacing:0.14em;text-transform:uppercase;margin-top:2px}.sidebar-nav{padding:14px 12px;flex:1;display:flex;flex-direction:column;gap:4px;overflow-y:auto;min-height:0}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;color:rgba(225,231,240,0.68);border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;border-left:3px solid transparent;background:transparent;width:100%;text-align:left;position:relative;transition:background var(--tween),color var(--tween),box-shadow var(--tween),border-color var(--tween)}.sidebar-collapsed .nav-item{justify-content:center;padding:10px 8px;border-left-width:0}.nav-item:hover{background:rgba(255,255,255,0.04);color:#fff;border-color:rgba(255,255,255,0.06)}.nav-item.active{background:linear-gradient(90deg,rgba(0,229,208,0.2) 0%,rgba(0,229,208,0.06) 100%);color:#F8FFFE;border-color:rgba(0,229,208,0.22);border-left-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(0,229,208,0.12),0 0 24px -6px rgba(0,229,208,0.45);font-weight:650}.sidebar-collapsed .nav-item.active{border-left-width:0;box-shadow:inset 0 0 0 1px rgba(0,229,208,0.25),0 0 16px -4px rgba(0,229,208,0.5)}.nav-item.active .ico,.nav-item.active svg{color:var(--accent);opacity:1}.nav-item .ico{width:18px;height:18px;opacity:0.85;flex-shrink:0}.nav-section{font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(225,231,240,0.38);padding:12px 14px 6px}.nav-group+.nav-group .nav-section{padding-top:16px}.nav-help-section{margin-top:14px}.sidebar-collapse{margin:0 10px 10px;padding:8px 12px;display:flex;align-items:center;gap:10px;border:0;border-radius:8px;background:transparent;color:rgba(225,231,240,0.55);font-size:12px;cursor:pointer;width:calc(100% - 20px);transition:background var(--tween),color var(--tween)}.sidebar-collapse:hover{background:rgba(255,255,255,0.05);color:#fff}.sidebar-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sidebar-collapsed .sidebar-collapse{justify-content:center;padding:8px;width:calc(100% - 16px);margin:0 8px 10px}.sidebar-footer{padding:12px 12px 14px;border-top:1px solid rgba(255,255,255,0.06);display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.18) 100%)}.sidebar-footer.is-collapsed{padding:12px 8px;align-items:center}.sidebar-utility-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sidebar-utility-row.is-icon-only{display:flex;flex-direction:column;width:100%;gap:6px}.sidebar-utility-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 8px;border:1px solid rgba(255,255,255,0.08);border-radius:8px;background:rgba(255,255,255,0.03);color:rgba(225,231,240,0.72);font-size:11px;font-weight:500;cursor:pointer;transition:background var(--tween),color var(--tween),border-color var(--tween)}.sidebar-utility-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-utility-btn:hover{color:#fff;background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.14)}.sidebar-utility-btn.is-active{color:#F5FFFD;border-color:rgba(0,201,177,0.35);background:rgba(0,201,177,0.12)}.sidebar-user-identity{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid rgba(255,255,255,0.08);border-radius:12px;background:rgba(255,255,255,0.04);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);color:inherit;text-align:left;cursor:pointer;transition:background var(--tween),border-color var(--tween)}.sidebar-user-identity:hover{background:rgba(0,201,177,0.08);border-color:rgba(0,201,177,0.22)}.sidebar-footer.is-collapsed .sidebar-user-identity{justify-content:center;padding:6px;width:auto}.sidebar-user-copy{flex:1;min-width:0}.sidebar-user-copy .name,.sidebar-user-copy .meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sidebar-user-actions button{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:34px;min-width:0;padding:6px 10px;border:1px solid rgba(255,255,255,0.08);border-radius:8px;background:rgba(255,255,255,0.03);color:rgba(225,231,240,0.78);font-size:12px;font-weight:550;cursor:pointer;overflow:hidden;transition:background var(--tween),color var(--tween),border-color var(--tween)}.sidebar-user-actions button svg{flex-shrink:0}.sidebar-user-actions button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sidebar-user-actions button:hover{color:#fff;background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.14)}.sidebar-user-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sidebar-user-actions button.is-danger:hover{color:#ffb4a8;border-color:rgba(255,123,114,0.35);background:rgba(255,123,114,0.1)}.sidebar-user-actions.is-icon-only{display:flex;flex-direction:column;width:100%;gap:6px}.sidebar-user-actions.is-icon-only button{justify-content:center;padding:8px}.sidebar-user-actions.is-icon-only button span{display:none}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#1A8A82);color:#052420;font-weight:600;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:0.3px;flex-shrink:0;box-shadow:0 0 0 2px rgba(0,201,177,0.18)}.sidebar-footer .name{font-size:13px;font-weight:600;color:#fff}.sidebar-footer .meta{font-size:11px;color:rgba(225,231,240,0.62);margin-top:2px}.course-picker-label{font-size:12.5px;font-weight:600;color:var(--text-3);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:10px}.course-picker--dropdown .course-picker-label{display:block;margin-bottom:8px}.course-picker-trigger{display:flex;align-items:center;gap:12px;width:min(100%,520px);text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color 0.15s ease,box-shadow 0.15s ease,background 0.15s ease;box-shadow:var(--shadow-sm)}.course-picker-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--surface-2, var(--surface))}.course-picker-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.course-picker-trigger:disabled{opacity:0.6;cursor:not-allowed}.course-picker-trigger[data-state=open]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.course-picker-trigger-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.course-picker-trigger-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.course-picker-trigger-title{font-size:14px;font-weight:650;letter-spacing:-0.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-picker-trigger-desc{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-picker-trigger-chevron{flex-shrink:0;color:var(--text-3);transition:transform 0.15s ease}.course-picker-trigger[data-state=open] .course-picker-trigger-chevron{transform:rotate(180deg);color:var(--accent)}.course-picker-menu{z-index:80!important;min-width:min(520px,calc(100vw - 48px))!important;max-width:min(560px,calc(100vw - 32px));max-height:min(420px,60vh);overflow-y:auto;padding:6px!important;border-radius:12px!important;border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:0 18px 48px rgba(0,0,0,0.45),0 0 0 1px rgba(255,255,255,0.03)!important}.course-picker-option{display:flex!important;align-items:flex-start!important;gap:10px;width:100%;margin:2px 0;padding:10px 12px 10px 8px!important;border-radius:10px!important;border:1px solid transparent;background:transparent!important;color:var(--text)!important;cursor:pointer;outline:none}.course-picker-option:hover,.course-picker-option:focus,.course-picker-option[data-highlighted]{background:color-mix(in srgb,var(--accent) 12%,var(--surface-2, var(--surface)))!important;border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.course-picker-option.is-active{background:color-mix(in srgb,var(--accent) 16%,transparent)!important;border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.course-picker-option-check{width:18px;flex-shrink:0;margin-top:2px;color:var(--accent);display:grid;place-items:center}.course-picker-option-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.course-picker-option-title{font-size:13.5px;font-weight:600;line-height:1.35;color:var(--text)}.course-picker-option-desc{font-size:11.5px;line-height:1.4;color:var(--text-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-picker-option-badge{flex-shrink:0;align-self:center;font-size:10.5px;font-weight:650;letter-spacing:0.02em;text-transform:uppercase;padding:3px 8px;border-radius:999px;color:var(--text-3);background:var(--surface-2, rgba(255, 255, 255, 0.04));border:1px solid var(--border-soft)}.course-picker-option-badge.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.course-picker-option[data-highlighted]{color:var(--text)!important}.course-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.course-picker-card{text-align:left;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--border-soft);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color var(--tween),background var(--tween),box-shadow var(--tween);box-shadow:var(--shadow-sm)}.course-picker-card:hover{border-color:var(--accent);background:var(--surface-2)}.course-picker-card.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:none}.course-picker-card-head{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.course-picker-card-title{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-0.2px;line-height:1.3}.course-picker-card-desc{font-size:13px;color:var(--text-3);line-height:1.45}.course-picker-card.is-active .course-picker-card-desc{color:var(--text-2)}.course-picker-badge{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:600;background:var(--surface-2);color:var(--text-3);border:1px solid var(--border-soft)}.course-picker-badge.is-active{background:rgba(0,201,177,0.18);color:var(--accent);border-color:transparent}.course-picker-badge.is-muted{background:var(--surface-2);color:var(--text-3)}.course-picker-compact-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border-soft);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:border-color var(--tween),background var(--tween)}.course-picker-compact-trigger:hover{border-color:var(--accent);background:var(--surface-2)}.course-picker-compact-trigger:disabled{cursor:default;opacity:0.6}.course-picker-compact-title{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-chapter-head{display:flex;align-items:stretch;gap:4px;border-bottom:1px solid var(--border-soft);background:var(--surface-2)}.catalog-chapter-toggle{flex:1;display:flex;align-items:center;gap:10px;min-width:0;padding:14px 16px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.catalog-chapter-toggle:hover{background:rgba(127,140,160,0.08)}.catalog-chapter-num{font-size:15px;font-weight:700;color:var(--accent-2);min-width:28px}.catalog-chapter-title{font-size:15px;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-chapter-count{margin-left:auto;font-size:12px;color:var(--text-3);flex-shrink:0}.catalog-chapter-open{margin:8px 10px 8px 0;align-self:center;color:var(--text-2)}.catalog-chapter-body .module-row{border-radius:0;border-left:0;border-right:0;border-top:0;box-shadow:none}.catalog-chapter-body .module-row:hover{transform:none}.main{flex:1;display:flex;flex-direction:column;overflow:auto;background:var(--bg)}.topbar{height:var(--header-h);padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-soft);background:var(--surface);flex-shrink:0}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:var(--fs-13);color:var(--text-3)}.breadcrumb a{color:var(--text-3);text-decoration:none;cursor:pointer}.breadcrumb a:hover{color:var(--accent-2)}.breadcrumb .sep{color:var(--text-4);opacity:0.6}.breadcrumb .leaf{color:var(--text);font-weight:500}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-6)}.page-header-copy h1{margin:0;color:var(--text);font-size:24px;font-weight:600;letter-spacing:-0.02em}.page-header-copy p{margin:6px 0 0;color:var(--text-3);line-height:1.5}.page-header-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.page{padding:var(--sp-6);max-width:1280px;width:100%;margin:0 auto}@media(max-width:767px){.desktop-sidebar{display:none}.mobile-app-bar{height:var(--header-h);padding:0 14px;display:flex;align-items:center;gap:12px;flex-shrink:0;border-bottom:1px solid var(--border-soft);background:var(--surface)}.mobile-menu-trigger{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.mobile-menu-trigger:hover{background:var(--surface-2)}.mobile-app-title{font-size:15px;font-weight:600;color:var(--text)}.mobile-sidebar-sheet{width:min(86vw,320px);max-width:none;padding:0;border:0}.mobile-sidebar{width:100%;height:100%}.topbar{padding:0 16px}.breadcrumb{min-width:0;overflow:hidden}.breadcrumb>*{flex-shrink:0}.breadcrumb .leaf{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding:var(--sp-4)}.page-header{flex-direction:column}.page-header-actions{width:100%;flex-wrap:wrap}}.stat-card{padding:var(--sp-5);display:flex;flex-direction:column;gap:6px}.stat-card .label{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3);font-weight:500}.stat-card .value{font-size:28px;font-weight:600;letter-spacing:-0.02em;color:var(--text);font-family:var(--font-mono)}.continue-card{padding:var(--sp-6);background:linear-gradient(135deg,var(--surface) 0%,var(--accent-soft-2) 100%);border:1px solid var(--border-soft);border-radius:var(--radius-lg);position:relative;overflow:hidden}.continue-card::before{content:"CONTINUE";position:absolute;top:14px;right:16px;font-size:10px;letter-spacing:0.18em;color:var(--accent-2);font-weight:600}.domain-card{padding:16px 18px;position:relative;cursor:pointer;transition:transform var(--tween),box-shadow var(--tween),border-color var(--tween);overflow:hidden;min-height:130px}.domain-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.domain-card.active{border-left:3px solid var(--accent)}.domain-card .num{position:absolute;right:14px;top:10px;font-family:var(--font-mono);font-size:44px;color:var(--border);font-weight:600;line-height:1;pointer-events:none}.domain-card.locked{opacity:0.65;cursor:not-allowed}.domain-card.locked .num{color:var(--border-soft)}.chapter-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:16px;padding:14px 20px;transition:background var(--tween)}.chapter-row:not(.locked):hover{background:var(--surface-2)}.chapter-row.locked{opacity:0.65}.chapter-row-num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-2);color:var(--text-3);font-size:12.5px;font-weight:600}.chapter-row-body{min-width:0}.chapter-row-title{font-size:14.5px;font-weight:600;margin-bottom:8px}.chapter-row-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-3);white-space:nowrap}.chapter-row-more{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 20px;background:var(--surface-2);border:none;border-top:1px solid var(--border-soft);color:var(--text-3);font-size:13px;cursor:pointer;transition:background var(--tween),color var(--tween)}.chapter-row-more:hover{background:var(--accent-soft);color:var(--accent-2)}.module-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:16px;padding:16px 20px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);cursor:pointer;transition:border-color var(--tween),background var(--tween),transform var(--tween)}.module-row:hover{border-color:var(--accent);background:var(--surface-2);transform:translateY(-1px)}.module-row.locked{opacity:0.7;cursor:not-allowed}.module-row.locked:hover{border-color:var(--border-soft);background:var(--surface);transform:none}.module-row .icon-wrap{width:36px;height:36px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:16px}.module-row .icon-wrap.complete{background:var(--success-soft);color:var(--success)}.module-row .icon-wrap.active{background:var(--accent-soft);color:var(--accent-2)}.module-row .icon-wrap.locked{background:var(--surface-2);color:var(--text-4)}.module-row .title{font-size:15px;font-weight:600;color:var(--text)}.module-row .meta{font-size:12.5px;color:var(--text-3);margin-top:2px}.term-wrap{background:var(--terminal-bg);display:flex;flex-direction:column;font-family:var(--font-mono);position:relative;overflow:hidden}.lab-terminal{border:1px solid #27313d;border-radius:var(--radius-lg);box-shadow:0 18px 44px rgba(0,0,0,0.22);margin:10px}.term-toolbar{min-height:40px;background:linear-gradient(180deg,#1b222c 0%,var(--terminal-bg-2) 100%);border-bottom:1px solid #29313c;display:flex;align-items:center;padding:0 10px 0 12px;gap:10px;color:var(--terminal-muted);font-size:12px;flex-shrink:0}.term-toolbar .dots{display:flex;gap:6px;margin-right:4px}.term-toolbar .dots i{width:10px;height:10px;border-radius:50%;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.18)}.term-session-title{color:var(--terminal-text);font-family:var(--font-mono);font-size:11.5px;display:inline-flex;align-items:center;gap:7px;padding-right:10px;border-right:1px solid #303946}.term-connection-status{font-family:var(--font-mono);font-size:10.5px;display:inline-flex;align-items:center;gap:5px}.term-connection-status.is-simulated{color:var(--terminal-muted)}.term-status-dot{width:6px;height:6px;border-radius:50%;background:var(--terminal-accent);display:inline-block;box-shadow:0 0 0 3px rgba(88,166,255,0.10)}.tool-btn{background:transparent;border:1px solid transparent;color:var(--terminal-muted);font-size:11px;padding:4px 7px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-mono);display:inline-flex;align-items:center;gap:5px}.tool-btn:hover{background:rgba(255,255,255,0.06);border-color:#303946;color:var(--terminal-text)}.term-body{flex:1;padding:12px 14px 8px;color:var(--terminal-text);font-size:13.5px;line-height:1.55;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#30363D var(--terminal-bg);white-space:pre-wrap;word-break:break-word}.term-body::-webkit-scrollbar{width:8px}.term-body::-webkit-scrollbar-thumb{background:#30363D;border-radius:4px}.term-input-line{display:flex;align-items:baseline;gap:6px}.term-input-line input{flex:1;background:transparent;border:0;outline:none;color:var(--terminal-text);font-family:var(--font-mono);font-size:13.5px;padding:0;caret-color:var(--terminal-text)}.term-prompt{color:var(--terminal-green);white-space:nowrap}.term-prompt .host{color:var(--terminal-accent)}.term-prompt .path{color:var(--terminal-yellow)}.term-out{color:var(--terminal-text)}.term-err{color:var(--terminal-red)}.term-dim{color:var(--terminal-muted)}.term-cursor{display:inline-block;width:8px;height:16px;background:var(--terminal-text);vertical-align:text-bottom;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.xterm-container{flex:1;min-height:0;padding:6px 8px;background:var(--terminal-bg);overflow:hidden}.xterm-container .xterm,.xterm-container .xterm-screen{height:100%!important}.xterm-container .xterm-viewport::-webkit-scrollbar{width:8px}.xterm-container .xterm-viewport::-webkit-scrollbar-thumb{background:#30363D;border-radius:4px}.lab-workspace{background:var(--terminal-bg)}.lab-topbar{flex-shrink:0;position:relative;z-index:2;box-shadow:0 1px 0 rgba(0,0,0,0.12)}.lab-topbar .topbar{background:var(--surface)}.lab-status-badge{min-width:62px;justify-content:center}.lab-timer{font-size:13px;font-weight:600;padding:4px 8px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-2)}.lab-save-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-3)}.lab-environment-bar{height:30px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 24px;background:var(--surface-2);border-bottom:1px solid var(--border-soft);font-size:11.5px;color:var(--text-3);font-family:var(--font-mono)}.lab-restored-status{margin-left:12px;color:var(--accent-2)}.lab-timeout-warning{min-height:34px;flex-shrink:0;padding:7px 24px;display:flex;align-items:center;gap:8px;background:var(--warn-soft);border-bottom:1px solid color-mix(in srgb,var(--warn) 55%,transparent);color:var(--warn);font-size:12px;font-weight:500}.lab-split{flex:1;display:grid;grid-template-columns:var(--lab-columns);min-height:0;background:var(--terminal-bg)}.lab-guide-pane{grid-column:1;min-width:0;flex-direction:column;background:var(--bg);border-right:1px solid var(--border-soft);min-height:0}.lab-workspace-pane{grid-column:2;min-width:0;display:flex;flex-direction:column;min-height:0;background:radial-gradient(circle at 50% 0%,rgba(88,166,255,0.045),transparent 32%),var(--terminal-bg)}.lab-workspace-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.lab-embed-shell{flex:1;min-height:0;margin:10px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #27313d;border-radius:var(--radius-lg);background:var(--terminal-bg-2);box-shadow:0 18px 44px rgba(0,0,0,0.22)}.lab-embed-toolbar{min-height:40px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:linear-gradient(180deg,#1b222c 0%,var(--terminal-bg-2) 100%);border-bottom:1px solid #29313c}.lab-embed-frame{flex:1;width:100%;min-height:0;border:0}.lab-embed-frame-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.lab-health-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--terminal-bg) 82%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lab-health-card{max-width:440px;width:100%;padding:22px 24px;border-radius:10px;border:1px solid color-mix(in srgb,var(--warn) 45%,var(--border-soft));background:var(--surface);box-shadow:0 12px 40px rgba(0,0,0,0.35)}.lab-health-icon{color:var(--warn);margin-bottom:10px}.lab-health-title{margin:0 0 8px;font-size:17px;font-weight:600;letter-spacing:-0.2px}.lab-health-body{margin:0 0 14px;font-size:13px;line-height:1.55;color:var(--text-2)}.lab-health-status{font-size:11.5px;font-family:var(--font-mono);color:var(--text-3);margin-bottom:16px}.lab-health-actions{flex-wrap:wrap}.lab-timeout-critical{background:color-mix(in srgb,var(--fail) 18%,var(--warn-soft));border-bottom-color:color-mix(in srgb,var(--fail) 55%,transparent);color:var(--fail);font-weight:600}.lab-session-ended-body{margin:0 0 18px;font-size:13.5px;line-height:1.55;color:var(--text-2)}.lab-embed-frame.is-jupyter{background:#fff}.lab-embed-frame.is-novnc{background:#000}.lab-task{padding:14px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-soft);margin-bottom:12px;transition:border-color var(--tween),background var(--tween)}.lab-task.current{border-left:3px solid var(--accent);background:linear-gradient(90deg,var(--accent-soft-2) 0%,var(--surface) 80%);box-shadow:0 1px 0 rgba(0,201,177,0.08)}.lab-task.done{opacity:0.75}.lab-task .task-head{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-3);font-weight:600;margin-bottom:6px}.lab-task .task-head .num{font-family:var(--font-mono);color:var(--accent-2)}.lab-task .task-title{font-size:14.5px;font-weight:500;color:var(--text);line-height:1.45;margin-bottom:6px}.lab-task .task-body{font-size:13.5px;color:var(--text-2);line-height:1.55}.inline-code{display:inline-block;background:var(--terminal-bg);color:var(--terminal-text);font-family:var(--font-mono);font-size:12.5px;padding:2px 6px;border-radius:4px;margin:0 1px}.validator-panel{position:relative;z-index:5;margin:0 10px 10px;border:1px solid #27313d;border-radius:var(--radius-lg);background:var(--terminal-bg-2);color:var(--terminal-text);flex-shrink:0;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,0.2)}.validator-panel.is-complete{border-color:color-mix(in srgb,var(--success) 55%,#27313d)}.validator-header{width:100%;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--terminal-muted);font-weight:600;border:0;border-bottom:1px solid #27313d;background:linear-gradient(180deg,#1b222c 0%,var(--terminal-bg-2) 100%);cursor:pointer;font-family:var(--font-ui);text-align:left}.validator-header:hover{color:var(--terminal-text)}.validator-collapse-label{font-size:9.5px;letter-spacing:0.08em}.validator-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.validator-row{display:grid;grid-template-columns:60px 1fr;gap:12px;font-family:var(--font-mono);font-size:13px;align-items:baseline;padding:7px 8px;border-radius:var(--radius);background:rgba(255,255,255,0.025);animation:slidein 280ms cubic-bezier(0.2,0.7,0.2,1) backwards}.validator-row .hint{grid-column:2;color:var(--terminal-muted);font-size:12px;font-family:var(--font-ui);font-style:normal;margin-top:2px}@keyframes slidein{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.validator-summary{margin-top:10px;padding:10px 12px;border-radius:var(--radius);background:rgba(255,255,255,0.04);font-size:13px;color:var(--terminal-muted);border:1px solid #303946}.validator-summary.allpass{background:rgba(46,160,67,0.10);border-color:rgba(86,211,100,0.4);color:var(--terminal-green);font-weight:500}.lab-launch-state{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,56px);background:radial-gradient(circle at 50% 24%,rgba(88,166,255,0.09),transparent 34%),var(--terminal-bg);color:var(--terminal-text)}.lab-launch-card{width:min(500px,100%);padding:28px;background:rgba(22,27,34,0.94);border:1px solid #2b3542;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,0.38)}.lab-launch-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--terminal-muted);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase}.lab-launch-eyebrow.is-error{color:var(--terminal-red)}.lab-launch-eyebrow.is-error .dot{background:var(--terminal-red)}.lab-launch-heading{display:flex;align-items:center;gap:12px}.lab-launch-icon{width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;color:var(--terminal-accent);background:rgba(88,166,255,0.10);border:1px solid rgba(88,166,255,0.22);border-radius:9px}.lab-launch-icon.is-error{color:var(--terminal-red);background:rgba(255,123,114,0.10);border-color:rgba(255,123,114,0.25)}.lab-launch-title{font-size:15px;font-weight:600}.lab-launch-meta{margin-top:4px;color:var(--terminal-muted);font-family:var(--font-mono);font-size:11px}.lab-launch-percent{margin-left:auto;color:var(--terminal-accent);font-family:var(--font-mono);font-size:13px;font-weight:600}.lab-launch-progress{height:5px;margin-top:22px;overflow:hidden;background:#252d38;border-radius:var(--radius-pill)}.lab-launch-progress>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--terminal-accent));border-radius:inherit;transition:width 480ms cubic-bezier(.2,.7,.2,1);box-shadow:0 0 16px rgba(88,166,255,0.35)}.lab-launch-stages{margin-top:20px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.lab-launch-stage{min-width:0;color:#5f6977;font-family:var(--font-mono);font-size:9.5px;line-height:1.35;text-align:center}.lab-launch-stage.is-done{color:var(--terminal-muted)}.lab-launch-stage-icon{width:20px;height:20px;margin:0 auto 6px;display:grid;place-items:center;color:#697482;border:1px solid #303946;border-radius:50%}.lab-launch-stage.is-done .lab-launch-stage-icon{color:var(--terminal-green);border-color:rgba(86,211,100,0.35);background:rgba(86,211,100,0.08)}.lab-stage-spinner{display:block;margin:6px auto 0;width:12px;height:12px}.lab-launch-footnote{margin-top:20px;padding-top:16px;border-top:1px solid #27313d;color:#687383;text-align:center;font-family:var(--font-mono);font-size:10.5px}.lab-launch-error{border-color:rgba(255,123,114,0.28)}.lab-launch-error-message{max-height:160px;margin:20px 0;padding:12px;overflow-y:auto;color:#d1d7df;background:rgba(255,123,114,0.055);border:1px solid rgba(255,123,114,0.18);border-radius:var(--radius);font-family:var(--font-mono);font-size:11.5px;line-height:1.6;word-break:break-word}.lab-launch-actions{justify-content:flex-start}@media(max-width:767px){.lab-topbar .topbar{min-height:var(--header-h);height:auto;padding-top:8px;padding-bottom:8px;gap:8px;flex-wrap:wrap}.lab-topbar .topbar>.row{width:100%;gap:6px;justify-content:flex-end;flex-wrap:wrap}.lab-topbar .breadcrumb{width:100%}.lab-save-status{display:none}.lab-environment-bar{padding:0 14px}.lab-restored-status{margin-left:auto;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-timeout-warning{padding:7px 14px}.lab-split{display:flex;flex-direction:column;overflow-y:auto}.lab-guide-pane{width:100%;min-height:320px;max-height:46vh;border-right:0;border-bottom:1px solid var(--border-soft)}.lab-workspace-pane{width:100%;min-height:440px;flex:1 0 440px}.lab-split.is-fullscreen .lab-workspace-pane{min-height:0;flex-basis:100%}.lab-terminal,.lab-embed-shell{margin:6px}.term-toolbar{overflow-x:auto}.term-toolbar .tool-btn{flex-shrink:0}.lab-launch-state{padding:20px 12px}.lab-launch-card{padding:20px}.lab-launch-stages{grid-template-columns:repeat(5,72px);overflow-x:auto;padding-bottom:6px}.validator-panel{margin:0 6px 6px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,27,51,0.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:80;animation:fadein 180ms ease}.modal{background:var(--surface);border-radius:10px;width:480px;max-width:92vw;padding:24px;box-shadow:0 24px 64px rgba(0,0,0,0.25);animation:modalin 180ms cubic-bezier(0.2,0.7,0.2,1)}.modal.modal-scroll{display:flex;flex-direction:column;max-height:min(90vh,920px);padding:0;overflow:hidden}.modal-scroll-header,.modal-scroll-footer{flex-shrink:0;padding:20px 24px}.modal-scroll-header{border-bottom:1px solid var(--border-soft)}.modal-scroll-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:18px 24px}.modal-scroll-footer{border-top:1px solid var(--border-soft);background:var(--surface)}@keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes modalin{from{opacity:0;transform:translateY(8px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;z-index:90}.toast{background:var(--surface);border-radius:var(--radius);padding:12px 16px;box-shadow:0 10px 24px -8px rgba(15,27,51,0.18);border:1px solid var(--border-soft);display:flex;gap:10px;align-items:flex-start;min-width:280px;max-width:360px;font-size:13.5px;border-left-width:3px}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--fail)}.toast.info{border-left-color:var(--accent)}.toast.warn{border-left-color:var(--warn)}.skeleton-shimmer{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface-2)}.skeleton-shimmer::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.35) 50%,transparent 100%);transform:translateX(-100%);animation:skeleton-shimmer 1.5s ease-in-out infinite}[data-theme=dark] .skeleton-shimmer::after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.08) 50%,transparent 100%)}@keyframes skeleton-shimmer{100%{transform:translateX(100%)}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-soft);background:var(--surface)}.tab{padding:14px 22px;font-size:14.5px;font-weight:500;color:var(--text-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--tween),border-color var(--tween);display:flex;align-items:center;gap:8px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab.locked{color:var(--text-4);cursor:not-allowed}.heat-cell{width:28px;height:28px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;color:rgba(0,0,0,0.5);cursor:pointer;transition:transform var(--tween),outline-color var(--tween);outline:2px solid transparent;outline-offset:1px}.heat-cell:hover{outline-color:var(--accent);transform:scale(1.08)}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th,.tbl td{text-align:left;padding:12px 14px;vertical-align:middle}.tbl thead th{background:var(--surface-2);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-3);font-weight:600;border-bottom:1px solid var(--border-soft)}.tbl tbody tr{border-bottom:1px solid var(--border-soft)}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tbody tr.row-warn{background:linear-gradient(90deg,var(--warn-soft),transparent)}.tbl tbody tr.row-container td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.tbl tbody tr.row-vm td:first-child{box-shadow:inset 3px 0 0 #6F42C1}.kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2)}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin 800ms linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.dim-when-loading>*{transition:opacity 200ms}.pulse-amber{animation:pulseAmber 1.6s ease-in-out infinite}@keyframes pulseAmber{0%,100%{color:var(--warn)}50%{color:var(--fail)}}.pulse-red{animation:pulseRed 1s ease-in-out infinite;color:var(--fail)}@keyframes pulseRed{0%,100%{opacity:1}50%{opacity:0.55}}.main--lab{background:radial-gradient(ellipse 90% 60% at 75% -10%,rgba(0,229,208,0.07),transparent 55%),radial-gradient(ellipse 70% 50% at 10% 100%,rgba(88,166,255,0.06),transparent 50%),linear-gradient(180deg,var(--lab-bg) 0%,var(--lab-bg-2) 100%)}.page--lab{max-width:none;width:100%;padding:0;margin:0;flex:1}.module-chrome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px 0;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,0.04);background:transparent}.module-chrome:not(.module-chrome--lab){background:var(--surface);border-bottom-color:var(--border-soft);padding:12px 24px 0}.module-chrome--lab{padding-top:20px;padding-bottom:4px}.module-section-tabs{height:auto;min-height:44px;padding:0;gap:28px;background:transparent;border:none;box-shadow:none;border-radius:0}.module-section-tabs [role=tab]{position:relative;min-height:44px;padding:8px 4px 14px;border-radius:0;border:none;background:transparent;gap:8px;font-size:14px;font-weight:500;color:var(--lab-text-muted);box-shadow:none;transition:color var(--tween),text-shadow var(--tween)}.module-section-tabs [role=tab]:hover:not([disabled]){color:var(--text)}.module-section-tabs [role=tab][data-state=active]{color:#F5FFFD;background:transparent;border:none;box-shadow:none;font-weight:600;text-shadow:0 0 20px rgba(0,229,208,0.25)}.module-section-tabs [role=tab][data-state=active]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 12px var(--lab-glow-strong),0 0 24px rgba(0,229,208,0.25)}.module-section-tabs [role=tab][data-state=active] svg{color:var(--accent);filter:drop-shadow(0 0 6px rgba(0,229,208,0.45))}.module-tab-trigger--lab[data-state=active]{color:#fff}.lab-progress-ring{display:inline-flex;align-items:center;gap:12px;padding:8px 14px 8px 10px;border-radius:12px;background:var(--lab-surface);border:1px solid var(--lab-border-soft);flex-shrink:0}.lab-progress-ring-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.lab-progress-ring-label{font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--lab-text-muted);font-weight:600}.lab-progress-ring-value{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.lab-progress-ring-chevron{color:var(--lab-text-muted);font-size:18px;line-height:1;margin-left:4px}.concept-layer-tabs{background:transparent;border:none;padding:0;gap:4px;height:auto}.concept-layer-tabs [role=tab]{border-radius:999px;border:1px solid var(--border-soft);background:var(--surface);color:var(--text-3);box-shadow:none}.concept-layer-tabs [role=tab][data-state=active]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2);box-shadow:none}.concept-prose{max-width:72ch;font-family:var(--font-ui);font-size:15px;font-weight:400;line-height:1.7;color:var(--text-2);text-wrap:pretty;-webkit-font-smoothing:antialiased}.concept-prose>h1:first-child{display:none}.concept-prose h1{font-size:22px;font-weight:600;letter-spacing:-0.02em;color:var(--text);margin:0 0 14px}.concept-prose h2{font-size:17px;font-weight:600;margin:28px 0 8px;padding-left:12px;border-left:2px solid var(--accent);color:var(--text);letter-spacing:-0.015em;line-height:1.35}.concept-prose h3{font-size:15px;font-weight:600;margin:20px 0 6px;color:var(--text)}.concept-prose p{margin:0 0 14px;font-weight:400;color:var(--text-2)}.concept-prose ul,.concept-prose ol{margin:0 0 14px;padding-left:22px;font-weight:400}.concept-prose li{margin-bottom:5px;font-weight:400}.concept-prose strong,.concept-prose b{color:var(--text);font-weight:600}.concept-prose hr{border:none;border-top:1px solid var(--border-soft);margin:28px 0}.concept-prose table{width:100%;border-collapse:collapse;margin:16px 0 20px;font-size:14px}.concept-prose th,.concept-prose td{border:1px solid var(--border);padding:10px 12px;text-align:left}.concept-prose th{background:var(--surface-2);color:var(--text);font-weight:600}.concept-prose pre{background:var(--terminal-bg);border:1px solid var(--terminal-bg-2);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:14px 0 18px;font-family:var(--font-mono);font-size:13px;line-height:1.55;color:#c9d1d9}.concept-prose code{font-family:var(--font-mono);font-size:0.92em;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px}.concept-prose pre code{background:none;border:none;padding:0}.markdown-code-block{position:relative;display:block}.markdown-code-block pre{margin:0}.markdown-code-block.is-collapsed pre{max-height:10.5rem;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}.markdown-code-expand{display:block;width:100%;margin-top:-2px;padding:8px 12px;border:1px solid var(--border-soft);border-top:none;border-radius:0 0 8px 8px;background:var(--surface-2);color:var(--text-3);font-size:12px;font-weight:500;cursor:pointer}.markdown-code-expand:hover{color:var(--accent-2);background:var(--accent-soft-2)}.markdown-copy-btn{position:absolute;top:6px;right:6px;z-index:1;font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-3);cursor:pointer;opacity:0.75;transition:opacity var(--tween),border-color var(--tween),color var(--tween)}.markdown-copy-btn:hover{opacity:1;border-color:var(--accent-2);color:var(--accent-2)}.concept-reader{position:relative;padding-bottom:72px}.concept-read-progress{position:sticky;top:0;z-index:20;height:4px;background:var(--border);margin:-8px -8px 12px;border-radius:0 0 2px 2px}.concept-read-progress i{display:block;height:100%;background:var(--accent);transition:width 80ms linear}.concept-reader-grid{display:grid;grid-template-columns:minmax(0,760px) 240px;gap:28px;max-width:1040px;margin:0 auto;justify-content:center}.concept-reader.is-focus .concept-reader-grid{grid-template-columns:minmax(0,760px)}.concept-reader-main{min-width:0;max-width:760px}.concept-reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}.concept-focus-btn{color:var(--text-3)}.concept-reader-title{margin:4px 0 6px;font-size:26px;font-weight:600;letter-spacing:-0.02em;line-height:1.2;color:var(--text)}.concept-reader-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;font-size:13px;color:var(--text-3)}.concept-section-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-soft);font-size:11px;font-weight:500;color:var(--text-3)}.concept-layer-switch{margin-bottom:10px}.concept-layer-hint{margin:0 0 14px;font-size:13px;color:var(--text-3);line-height:1.45}.concept-inline-link{border:none;background:none;padding:0;color:var(--accent-2);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.concept-continue{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0 8px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}.concept-continue-meta{font-size:12px;font-weight:600;color:var(--text-3);margin-right:auto}.concept-feedback-drawer{margin-top:20px;padding-top:8px}.concept-feedback-body{margin-top:8px}.concept-reader-aside{align-self:start;position:sticky;top:16px}.concept-aside-label{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3);font-weight:600;margin-bottom:10px}.concept-toc{display:flex;flex-direction:column;gap:2px;max-height:min(52vh,420px);overflow:auto}.concept-toc-item{display:block;width:100%;text-align:left;border:none;background:transparent;border-left:2px solid transparent;border-radius:0 6px 6px 0;padding:6px 8px;font-size:12.5px;line-height:1.35;color:var(--text-3);cursor:pointer}.concept-toc-item:hover{color:var(--text);background:var(--surface-2)}.concept-toc-item.is-active{color:var(--accent-2);border-left-color:var(--accent);background:var(--accent-soft-2);font-weight:600}.concept-sticky-cta{position:sticky;bottom:0;z-index:15;margin-top:24px;padding:10px 0 4px;background:linear-gradient(to top,var(--bg) 70%,transparent)}.concept-sticky-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1040px;margin:0 auto;padding:12px 16px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.concept-sticky-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.concept-sticky-copy strong{font-size:13px;color:var(--text)}.concept-sticky-copy span{font-size:12px;color:var(--text-3)}.concept-prose h2[id]{scroll-margin-top:72px}html[data-concept-focus=true] .desktop-sidebar,html[data-concept-focus=true] .mobile-app-bar{display:none!important}html[data-concept-focus=true] .app{grid-template-columns:1fr!important}html[data-concept-focus=true] .concept-reader-aside{display:none}@media(max-width:1100px){.concept-reader-grid{grid-template-columns:minmax(0,1fr)}.concept-reader-aside{position:static;order:-1}.concept-toc{max-height:160px}}@media(max-width:640px){.concept-sticky-cta-inner{flex-direction:column;align-items:stretch}.concept-reader-title{font-size:22px}}.concept-prose blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--accent);background:var(--accent-soft-2);border-radius:0 8px 8px 0;color:var(--text-2);font-size:14px}.concept-prose blockquote p{margin:0}@media(max-width:640px){.module-row{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:14px}.module-row>:last-child{grid-column:2;justify-self:start}.concept-prose{font-size:15px;line-height:1.72}.concept-prose table{display:block;overflow-x:auto}}.concept-mermaid-wrap{margin:18px 0 22px;max-width:100%}.concept-mermaid{display:block;padding:16px 12px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px;overflow-x:auto}.concept-mermaid svg{display:block;width:100%;max-width:100%;height:auto}.concept-mermaid .mermaid-error,.mermaid-error{margin:0;padding:12px;font-family:var(--font-mono);font-size:12px;color:var(--danger);background:transparent;border:none}[data-density=compact] .page{padding:14px 18px}[data-density=compact] .module-row{padding:10px 14px}[data-density=compact] .tab{padding:10px 16px}[data-density=compact] .stat-card{padding:12px 14px}[data-density=compact] .stat-card .value{font-size:22px}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.tutor-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,27,51,0.35);display:flex;justify-content:flex-end;z-index:85}.tutor-panel{position:relative;background:var(--surface);width:420px;max-width:94vw;height:100%;display:flex;flex-direction:column;box-shadow:-18px 0 48px rgba(0,0,0,0.18)}.tutor-panel-resize-handle{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:1;background:transparent;transition:background var(--tween)}.tutor-panel-resize-handle:hover{background:var(--border)}.selection-ask-btn{position:fixed;transform:translate(-50%,-100%);z-index:90;font-size:12.5px;padding:6px 12px;box-shadow:0 6px 18px rgba(0,0,0,0.18);animation:fadein 120ms ease}.tutor-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-soft)}.tutor-panel-levels{display:flex;gap:6px;padding:10px 18px;border-bottom:1px solid var(--border-soft)}.tutor-level-btn{flex:1;padding:6px 8px;font-size:12.5px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:999px;cursor:pointer;transition:background var(--tween),color var(--tween),border-color var(--tween)}.tutor-level-btn.active{background:var(--accent-soft-2);border-color:var(--accent-2);color:var(--accent-2)}.tutor-panel-messages{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.tutor-panel-empty{color:var(--text-3);font-size:13.5px;line-height:1.6;padding:8px 2px}.tutor-panel-error{color:var(--fail);background:var(--fail-soft);border-radius:var(--radius);padding:12px 14px;font-size:13px;line-height:1.5}.tutor-panel-input{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--border-soft)}.tutor-panel-input input{flex:1;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--border);font-size:13.5px;font-family:var(--font-ui);background:var(--surface);color:var(--text)}.tutor-panel-input input:disabled{background:var(--surface-2);color:var(--text-4)}.tutor-msg{display:flex;flex-direction:column;gap:6px}.tutor-msg-user{align-items:flex-end}.tutor-msg-assistant{align-items:flex-start}.tutor-msg-bubble{max-width:88%;padding:10px 13px;border-radius:12px;font-size:13.5px;line-height:1.55;white-space:pre-wrap}.tutor-msg-user .tutor-msg-bubble{background:var(--brand-deep);color:#fff;border-bottom-right-radius:3px}.tutor-msg-assistant .tutor-msg-bubble{background:var(--surface-2);color:var(--text);border:1px solid var(--border-soft);border-bottom-left-radius:3px;white-space:normal}.tutor-msg-typing{display:inline-flex;gap:3px;align-items:center;height:12px}.tutor-msg-typing span{width:5px;height:5px;border-radius:50%;background:var(--text-3);animation:tutor-typing-bounce 1.1s ease-in-out infinite}.tutor-msg-typing span:nth-child(2){animation-delay:0.15s}.tutor-msg-typing span:nth-child(3){animation-delay:0.3s}@keyframes tutor-typing-bounce{0%,60%,100%{transform:translateY(0);opacity:0.5}30%{transform:translateY(-3px);opacity:1}}.tutor-markdown p{margin:0 0 8px}.tutor-markdown p:last-child{margin-bottom:0}.tutor-markdown ul,.tutor-markdown ol{margin:0 0 8px;padding-left:20px}.tutor-markdown li{margin-bottom:4px}.tutor-markdown strong{font-weight:600}.tutor-markdown pre{background:var(--terminal-bg);border:1px solid var(--terminal-bg-2);border-radius:8px;padding:10px 12px;overflow-x:auto;margin:8px 0;font-family:var(--font-mono);font-size:12.5px;line-height:1.5;color:#c9d1d9}.tutor-markdown code{font-family:var(--font-mono);font-size:0.9em;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:4px;padding:1px 4px}.tutor-markdown pre code{background:none;border:none;padding:0}.tutor-markdown>*:last-child{margin-bottom:0}.tutor-history-divider{text-align:center;font-size:11px;color:var(--text-4);letter-spacing:0.04em;text-transform:uppercase;margin:4px 0 2px}.lab-state-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-bottom:1px solid var(--warn);background:var(--warn-soft);color:var(--text-2);font-size:13px;line-height:1.5}.lab-state-banner-body{flex:1;min-width:0}.lab-state-banner-label{font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-4);font-weight:600;margin-bottom:2px}.lab-state-banner-item{word-break:break-word}.tutor-msg-citations{display:flex;flex-direction:column;gap:4px;max-width:88%}.tutor-msg-citations-label{font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-4);font-weight:600}.tutor-citation-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 9px;border-radius:999px;border:1px solid var(--accent-soft);background:var(--accent-soft-2);color:var(--accent-2);cursor:pointer;width:-moz-fit-content;width:fit-content}.tutor-citation-chip:hover{border-color:var(--accent-2)}.tutor-knowledge-check{display:flex;align-items:flex-start;gap:8px;max-width:88%;padding:10px 12px;border-radius:10px;background:var(--warn-soft);border:1px solid var(--warn);color:var(--text-2);font-size:13px;line-height:1.5}.lab-improvement-tip{display:flex;align-items:flex-start;gap:8px;max-width:88%;padding:10px 12px;border-radius:10px;background:var(--success-soft);border:1px solid var(--success);color:var(--text-2);font-size:13px;line-height:1.5}.tutor-followups{display:flex;flex-direction:column;gap:6px;max-width:88%}.tutor-followup-chip{text-align:left;font-size:12.5px;padding:7px 10px;border-radius:8px;border:1px dashed var(--border);background:var(--surface);color:var(--text-2);cursor:pointer}.tutor-followup-chip:hover{border-color:var(--accent-2);color:var(--accent-2)}.tutor-followup-module{display:block;margin-top:2px;font-size:11px;color:var(--text-4)}.hint-ladder{border-top:1px solid var(--border-soft);padding:12px 18px 16px;background:var(--surface-2)}.hint-ladder-header{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-2);margin-bottom:8px}.hint-ladder-levels{display:flex;flex-wrap:wrap;gap:6px}.hint-level-btn{flex:1 1 auto;min-width:64px;padding:6px 4px;font-size:11px;font-weight:600;line-height:1.25;font-family:var(--font-mono);color:var(--text-3);background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;cursor:pointer;transition:background var(--tween),color var(--tween),border-color var(--tween)}.hint-level-btn.active{background:var(--accent-soft-2);border-color:var(--accent-2);color:var(--accent-2)}.hint-level-btn-full-solution{border-color:color-mix(in srgb,var(--warn) 45%,var(--border-soft));color:var(--warn)}.hint-level-btn-full-solution.active{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.hint-ladder-confirm{margin-top:8px;padding:10px 12px;border-radius:8px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 55%,transparent)}.hint-ladder-confirm-text{font-size:12.5px;line-height:1.4;color:var(--text);margin-bottom:8px}.hint-ladder-confirm-actions{display:flex;gap:8px}.hint-ladder-confirm-actions .btn{flex:1}.patch-card{max-width:92%;margin-top:6px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface);overflow:hidden}.patch-card-header{display:flex;align-items:center;gap:7px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--border-soft);font-size:12.5px}.patch-card-path{font-family:var(--font-mono);font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patch-status-pill{font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap}.patch-status-proposed,.patch-status-pending_approval{background:var(--accent-soft-2);color:var(--accent-2)}.patch-status-applied,.patch-status-executed{background:var(--success-soft);color:var(--success)}.patch-status-rejected,.patch-status-rolled_back,.patch-status-rejected_by_student{background:var(--surface-2);color:var(--text-4)}.patch-status-conflict{background:var(--warn-soft);color:var(--warn)}.patch-card-explanation{padding:8px 12px 0;font-size:12.5px;color:var(--text-2);line-height:1.5}.patch-diff{margin:8px 12px;padding:8px 0;border:1px solid var(--border-soft);border-radius:6px;background:var(--terminal-bg);font-family:var(--font-mono);font-size:12px;line-height:1.5;overflow-x:auto;max-height:260px;overflow-y:auto}.patch-diff>div{padding:0 10px;white-space:pre}.patch-diff-add{background:rgba(46,160,67,0.15);color:var(--terminal-green)}.patch-diff-remove{background:rgba(207,75,0,0.15);color:var(--terminal-red)}.patch-diff-hunk{color:var(--terminal-accent);opacity:0.8}.patch-diff-file-header{color:var(--terminal-muted);opacity:0.7}.patch-diff-context{color:var(--terminal-text);opacity:0.85}.patch-card-actions{display:flex;gap:8px;padding:10px 12px}.patch-card-note{padding:0 12px 12px;font-size:12px;color:var(--warn);line-height:1.5}.profile-page{max-width:960px}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.profile-hero{overflow:hidden}.profile-hero-top{display:flex;gap:18px;align-items:center;padding:24px 24px 20px;background:radial-gradient(circle at 0% 0%,rgba(0,201,177,0.16),transparent 55%),var(--surface);border-bottom:1px solid var(--border-soft)}.profile-avatar{width:72px;height:72px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;letter-spacing:0.02em;color:#052420;background:linear-gradient(135deg,var(--accent),#1A8A82);box-shadow:0 0 0 3px rgba(0,201,177,0.18)}.profile-hero-copy h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-0.02em;color:var(--text)}.profile-hero-copy p{margin:4px 0 10px;font-size:13.5px;color:var(--text-3);word-break:break-all}.profile-hero-badges{display:flex;flex-wrap:wrap;gap:6px}.profile-badge-accent{background:rgba(0,201,177,0.16)!important;color:var(--accent)!important;border-color:transparent!important}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.profile-field{padding:18px 24px;border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}.profile-field:nth-child(2n){border-right:none}.profile-field:nth-last-child(-n+2){border-bottom:none}.profile-field dt{margin:0;font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3)}.profile-field dd{margin:6px 0 0;font-size:14.5px;font-weight:600;color:var(--text)}.profile-field-hint{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--text-4)}.profile-side-title{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-3)}.profile-side-actions{display:flex;flex-direction:column;gap:8px}.profile-side-link{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.profile-side-link:hover{border-color:var(--accent);background:var(--accent-soft)}.profile-side-link span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.profile-side-link strong{font-size:13px;font-weight:600}.profile-side-link small{font-size:11.5px;color:var(--text-3)}.profile-side-note{margin:14px 0 0;font-size:12px;line-height:1.45;color:var(--text-4)}.profile-courses{margin-top:16px}.profile-course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.profile-course-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-2)}.profile-course-slug,.profile-course-title{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}@media(max-width:860px){.profile-layout{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.profile-field{border-right:none}.profile-field:nth-last-child(-n+2){border-bottom:1px solid var(--border-soft)}.profile-field:last-child{border-bottom:none}}.banner-notice{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:16px;border-radius:8px;font-size:13.5px;line-height:1.45;color:var(--text)}.banner-notice svg{flex-shrink:0}.banner-notice-warn{background:var(--warn-soft);border:1px solid var(--warn);color:var(--text)}.banner-notice-warn svg{color:var(--warn)}.banner-notice-warn b{color:var(--text);font-weight:600}[data-theme=light] .banner-notice-warn{color:#3D2E0A}[data-theme=light] .banner-notice-warn b{color:#2A1F08}.banner-notice-admin{background:color-mix(in srgb,var(--warn) 22%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 70%,transparent);color:var(--text)}.banner-notice-admin svg{color:var(--warn)}.banner-notice-admin b{font-weight:600;color:var(--text)}[data-theme=light] .banner-notice-admin{background:#FFF1DB;border-color:#E0A03A;color:#4A3208}[data-theme=light] .banner-notice-admin b{color:#3A2706}[data-theme=dark] .banner-notice-admin{background:color-mix(in srgb,var(--warn) 18%,#1A1408);border-color:color-mix(in srgb,var(--warn) 55%,#3A2A10)}.lab-workspace{position:relative;width:100%;min-height:calc(100vh - 120px);padding:8px 28px 48px;overflow:hidden}.lab-workspace-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 20%,black 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 20%,black 20%,transparent 75%);opacity:0.45}.lab-shell{position:relative;z-index:1;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.lab-hero-panel{border-radius:18px;padding:1px;background:linear-gradient(135deg,rgba(0,229,208,0.35),rgba(88,166,255,0.15),rgba(124,108,255,0.2));box-shadow:0 0 0 1px rgba(0,229,208,0.08),0 24px 64px rgba(0,0,0,0.35),0 0 80px -20px rgba(0,229,208,0.15)}.lab-hero-panel-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px) minmax(220px,280px);gap:24px 28px;align-items:center;padding:32px 36px;border-radius:17px;background:radial-gradient(ellipse 70% 80% at 100% 0%,rgba(0,229,208,0.08),transparent 55%),radial-gradient(ellipse 50% 60% at 0% 100%,rgba(88,166,255,0.06),transparent 50%),var(--lab-surface-elevated)}.lab-hero-actions{display:flex;flex-direction:column;gap:0;align-self:stretch;justify-content:center;min-width:0}.lab-hero-cta-wrap{width:100%}.lab-hero-cta-wrap .lab-launch-cta{width:100%}.lab-eyebrow--compact{margin-bottom:6px;padding:3px 10px;font-size:10px}.lab-hero-meta-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:10px}.lab-hero-meta-list--inline{flex-direction:row;flex-wrap:wrap;gap:8px 20px;margin:0;flex:1;min-width:0}.lab-hero-meta-item{display:flex;align-items:flex-start;gap:10px;min-width:0}.lab-hero-meta-list--inline .lab-hero-meta-item{align-items:center;flex:0 1 auto}.lab-hero-meta-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:rgba(0,229,208,0.1);border:1px solid rgba(0,229,208,0.22);color:var(--accent);flex-shrink:0}.lab-hero-meta-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.lab-hero-meta-list--inline .lab-hero-meta-copy{flex-direction:row;align-items:baseline;gap:6px}.lab-hero-meta-label{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--lab-text-muted)}.lab-hero-meta-value{font-size:13px;font-weight:600;color:#E2E8F0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-hero-meta-list--inline .lab-hero-meta-value{font-size:12px;font-weight:650}.lab-eyebrow{display:inline-flex;align-items:center;padding:5px 12px;margin-bottom:16px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);background:rgba(0,229,208,0.1);border:1px solid rgba(0,229,208,0.35);box-shadow:0 0 20px -6px rgba(0,229,208,0.4)}.lab-title{margin:0;font-size:clamp(28px,3.2vw,38px);font-weight:700;letter-spacing:-0.035em;line-height:1.12;color:#F8FAFC}.lab-subtitle{margin:14px 0 0;max-width:48ch;font-size:15px;line-height:1.6;color:var(--text-2)}.lab-hero-visual{position:relative;width:100%;min-height:220px}.lab-hero-visual-glow{position:absolute;top:10%;right:10%;bottom:10%;left:10%;background:radial-gradient(circle,var(--lab-glow),transparent 70%);filter:blur(28px);opacity:0.6}.lab-hero-visual-svg{position:relative;z-index:1;width:100%;height:auto;display:block}.lab-objectives-panel{padding:24px 28px;border-radius:16px;background:var(--lab-surface);border:1px solid var(--lab-border-soft);box-shadow:0 12px 40px rgba(0,0,0,0.22)}.lab-objectives-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.lab-objectives-header svg{color:var(--accent)}.lab-objectives-header h2{margin:0;font-size:16px;font-weight:650;color:var(--text)}.lab-objectives-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:28px;align-items:start}.lab-objectives-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.lab-objectives-list li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.55;color:var(--text-2)}.lab-objectives-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;border-radius:50%;background:rgba(0,229,208,0.15);border:1px solid rgba(0,229,208,0.45);color:var(--accent);flex-shrink:0;box-shadow:0 0 14px -2px var(--lab-glow)}.lab-objectives-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;border-radius:12px;border:1px dashed rgba(255,255,255,0.1);background:rgba(0,0,0,0.15);color:var(--lab-text-muted)}.lab-objectives-empty svg{color:var(--accent);opacity:0.7}.lab-objectives-empty p{margin:0;font-size:14px;line-height:1.5;max-width:36ch}.lab-code-preview{position:relative;padding:12px 14px 16px;border-radius:12px;background:rgba(5,11,22,0.85);border:1px solid rgba(88,166,255,0.25);box-shadow:0 0 32px -8px rgba(0,229,208,0.25)}.lab-code-preview-chrome{display:flex;gap:5px;margin-bottom:12px}.lab-code-preview-chrome span{width:8px;height:8px;border-radius:50%;background:#FF7B72}.lab-code-preview-chrome span:nth-child(2){background:#E3B341}.lab-code-preview-chrome span:nth-child(3){background:#56D364}.lab-code-preview-body{font-family:var(--font-mono);font-size:11px;line-height:1.65;color:#8B949E}.lab-code-line.indent{padding-left:12px}.lab-code-line.indent2{padding-left:24px}.lab-code-line .kw{color:#FF7B72}.lab-code-line .fn{color:#D2A8FF}.lab-code-line .str{color:#A5D6FF}.lab-code-preview-badge{position:absolute;right:10px;bottom:10px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#FFE066;background:rgba(255,224,102,0.12);border:1px solid rgba(255,224,102,0.3)}.lab-code-pill{display:inline;font-family:var(--font-mono);font-size:0.9em;color:#7EE8DC;background:rgba(0,229,208,0.12);border:1px solid rgba(0,229,208,0.28);border-radius:5px;padding:1px 7px}.lab-admin-notice{margin:0}.lab-warning-panel{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:12px;background:var(--lab-warn-surface);border:1px solid var(--lab-warn-border);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04)}.lab-warning-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(210,153,34,0.15);color:var(--warn);flex-shrink:0}.lab-warning-panel p{margin:0;font-size:14px;line-height:1.55;color:var(--text-2)}.lab-warning-panel strong{color:#F0C060;font-weight:650}.lab-launch-cta{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:0 24px;border:1px solid rgba(0,229,208,0.5);border-radius:14px;font-size:16px;font-weight:700;letter-spacing:-0.01em;color:#041018;background:linear-gradient(135deg,#00F0D8 0%,#00C9B1 45%,#009688 100%);box-shadow:0 0 0 1px rgba(0,229,208,0.2),0 12px 40px var(--lab-glow),0 0 60px -10px rgba(0,229,208,0.4),inset 0 1px 0 rgba(255,255,255,0.3);cursor:pointer;transition:transform 180ms ease,box-shadow 180ms ease,filter 180ms ease}.lab-launch-cta-main{display:inline-flex;align-items:center;gap:12px}.lab-launch-cta-arrow{display:inline-flex;opacity:0.85}.lab-launch-cta:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(0,229,208,0.35),0 16px 48px rgba(0,229,208,0.45),0 0 80px -10px rgba(0,229,208,0.5),inset 0 1px 0 rgba(255,255,255,0.35)}.lab-launch-cta:active:not(:disabled){transform:translateY(0)}.lab-launch-cta:disabled{opacity:0.75;cursor:not-allowed;transform:none}.lab-launch-cta .spinner{border-color:rgba(4,16,24,0.35);border-right-color:transparent}.lab-launch-cta--compact{width:auto;min-height:44px;padding:0 18px;font-size:14px;flex-shrink:0;white-space:nowrap}.lab-launch-cta--compact .lab-launch-cta-main{gap:8px}.lab-workspace--sticky-visible{padding-bottom:96px}.lab-sticky-launch-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;padding:10px 16px 16px;background:linear-gradient(to top,var(--lab-bg) 78%,transparent);pointer-events:none}.lab-sticky-launch-inner{pointer-events:auto;display:flex;align-items:center;gap:16px 24px;max-width:1120px;margin:0 auto;padding:12px 16px;border-radius:14px;border:1px solid var(--lab-border);background:var(--lab-surface-elevated);box-shadow:0 -8px 32px rgba(0,0,0,0.35),0 0 0 1px rgba(0,229,208,0.06)}.lab-sticky-launch-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex-shrink:0;max-width:220px}.lab-sticky-title{font-size:14px;font-weight:650;color:#F1F5F9;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:901px){.lab-sticky-launch-bar{left:var(--sidebar-w)}}@media(max-width:900px){.lab-workspace{padding:8px 16px 32px}.lab-hero-panel-inner{grid-template-columns:1fr;padding:24px 20px}.lab-hero-copy{order:1}.lab-hero-actions{order:2}.lab-hero-visual{order:3;min-height:180px;max-width:320px;margin:0 auto}.lab-sticky-launch-inner{flex-wrap:wrap;gap:12px 16px}.lab-sticky-launch-title{flex:1 1 100%;max-width:none}.lab-hero-meta-list--inline{flex:1 1 auto}.lab-launch-cta--compact{margin-left:auto}.lab-objectives-layout{grid-template-columns:1fr}.lab-objectives-aside{display:none}.module-chrome{flex-direction:column;align-items:stretch;padding:12px 16px 0}.lab-progress-ring{align-self:flex-end}}@media(max-width:640px){.lab-hero-visual{display:none}.lab-title{font-size:24px}.lab-sticky-launch-inner{flex-direction:column;align-items:stretch}.lab-hero-meta-list--inline{flex-direction:column;align-items:flex-start;gap:8px}.lab-launch-cta--compact{width:100%;margin-left:0}.lab-workspace--sticky-visible{padding-bottom:140px}}[data-theme=light] .main--lab{background:var(--bg)}[data-theme=light] .lab-hero-panel,[data-theme=light] .lab-objectives-panel,[data-theme=light] .lab-sticky-launch-inner{background:var(--surface)}[data-theme=light] .lab-launch-cta{color:#fff}[data-theme=light] .lab-launch-cta .spinner{border-color:rgba(255,255,255,0.45);border-right-color:transparent}[data-theme=light] .module-section-tabs [role=tab]{color:var(--text-2)}[data-theme=light] .module-section-tabs [role=tab][data-state=active]{color:var(--text);text-shadow:none}[data-theme=light] .module-tab-trigger--lab[data-state=active]{color:var(--text)}[data-theme=light] .module-section-tabs [role=tab][data-state=active] svg{filter:none}.course-preview{width:100%}.course-preview-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;padding:0;border:0;background:transparent;color:var(--text-3);font-size:13px;cursor:pointer}.course-preview-back:hover{color:var(--accent)}.course-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.course-preview-hero{display:flex;gap:20px;justify-content:space-between;align-items:stretch;padding:22px;border-radius:16px;background:linear-gradient(145deg,rgba(20,28,45,0.95),rgba(12,18,32,0.98));border:1px solid rgba(148,163,184,0.14)}.course-preview-hero-copy{display:flex;gap:16px;min-width:0;flex:1}.course-preview-hero-icon{width:56px;height:56px;border-radius:14px;flex-shrink:0;display:grid;place-items:center;background:rgba(45,212,191,0.12);color:#2dd4bf;border:1px solid rgba(45,212,191,0.28)}.course-preview-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.course-preview-level{background:rgba(16,185,129,0.15)!important;color:#34d399!important;border-color:transparent!important}.course-preview-tag{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid rgba(148,163,184,0.2);color:var(--text-2)}.course-preview-title{margin:0;font-size:clamp(1.45rem,2vw,1.85rem);font-weight:700;letter-spacing:-0.03em;color:var(--text)}.course-preview-desc{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--text-2);max-width:54ch}.course-preview-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12.5px;color:var(--text-3)}.course-preview-meta span{display:inline-flex;align-items:center;gap:6px}.course-preview-hero-art{display:flex;align-items:center}.course-preview-hero-art-card{width:160px;padding:16px;border-radius:14px;text-align:center;background:rgba(15,23,42,0.7);border:1px solid rgba(45,212,191,0.2);color:#2dd4bf}.course-preview-hero-art-lines{display:grid;gap:5px;margin:12px 0}.course-preview-hero-art-lines span{display:block;height:5px;border-radius:999px;background:rgba(45,212,191,0.25)}.course-preview-hero-art-lines span:nth-child(2){width:70%}.course-preview-hero-art-lines span:nth-child(3){width:45%}.course-preview-hero-art-card p{margin:0;font-size:11px;letter-spacing:0.04em;color:var(--text-2)}.course-preview-try{margin-top:16px;padding:16px 18px;border-radius:14px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:rgba(13,48,48,0.55);border:1px solid rgba(45,212,191,0.35)}.course-preview-try-copy{display:flex;gap:12px;align-items:flex-start;flex:1;min-width:220px}.course-preview-try-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(45,212,191,0.15);color:#2dd4bf;flex-shrink:0}.course-preview-try-copy strong{display:block;font-size:14px;color:var(--text)}.course-preview-try-copy p{margin:3px 0 0;font-size:12.5px;color:var(--text-2)}.course-preview-steps{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--text-3)}.course-preview-steps span{display:inline-flex;align-items:center;gap:6px}.course-preview-steps em{font-style:normal;width:18px;height:18px;border-radius:999px;display:grid;place-items:center;font-size:10px;font-weight:700;background:rgba(45,212,191,0.2);color:#2dd4bf}.course-preview-cta-teal{background:#2dd4bf!important;color:#042f2e!important;border:0!important;font-weight:700!important}.course-preview-cta-teal:hover{filter:brightness(1.05)}.course-preview-cta-purple{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;border:0!important;font-weight:700!important;width:100%}.course-preview-modules-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:22px 0 12px}.course-preview-modules-head h2{margin:0;font-size:1.1rem}.course-preview-free-meter{min-width:160px;text-align:right;font-size:12px;color:var(--text-3)}.course-preview-free-bar{margin-top:6px;height:4px;border-radius:999px;background:rgba(148,163,184,0.18);overflow:hidden}.course-preview-free-bar i{display:block;height:100%;background:#2dd4bf;border-radius:inherit}.course-preview-section{border-radius:14px;margin-bottom:14px;overflow:hidden;border:1px solid rgba(148,163,184,0.16);background:rgba(15,23,42,0.35)}.course-preview-section.is-free{border-color:rgba(45,212,191,0.35)}.course-preview-section-head{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;padding:14px 16px;border:0;background:transparent;color:inherit;cursor:pointer}.course-preview-section-head strong{display:block;font-size:14px;color:var(--text)}.course-preview-section-head small{display:block;margin-top:3px;font-size:12px;color:var(--text-3)}.course-preview-section-head>span:nth-child(2){flex:1}.course-preview-section-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.course-preview-section-icon.is-free{background:rgba(45,212,191,0.15);color:#2dd4bf}.course-preview-section-icon.is-locked{background:rgba(148,163,184,0.12);color:var(--text-3)}.course-preview-module{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid rgba(148,163,184,0.12)}.course-preview-module.is-locked{opacity:0.72;padding-left:52px}.course-preview-module-num{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--text-3);min-width:22px}.course-preview-module-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(45,212,191,0.1);color:#2dd4bf;flex-shrink:0}.course-preview-module-copy{flex:1;min-width:0}.course-preview-module-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.course-preview-module-copy strong{font-size:13.5px;color:var(--text)}.course-preview-module-copy p{margin:3px 0 0;font-size:12px;color:var(--text-3)}.course-preview-free-pill{font-size:10px;font-weight:700;letter-spacing:0.06em;color:#34d399;background:rgba(16,185,129,0.12);padding:2px 7px;border-radius:999px}.course-preview-lock-badge{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:rgba(148,163,184,0.12);color:var(--text-3);flex-shrink:0}.course-preview-unlock-banner{width:calc(100% - 24px);margin:0 12px 12px;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.course-preview-unlock-banner strong{display:block;font-size:13.5px}.course-preview-unlock-banner small{display:block;margin-top:2px;opacity:0.85;font-size:11.5px}.course-preview-unlock-banner>span{flex:1}.course-preview-unlock-done{margin:0 12px 12px;padding:12px 14px;border-radius:12px;display:flex;align-items:center;gap:10px;font-size:13px;background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.35);color:#34d399}.course-preview-error{margin:0 16px 12px;font-size:12.5px;color:var(--fail)}.course-preview-locked-row{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;border:0;border-top:1px solid rgba(148,163,184,0.12);background:transparent;color:inherit;cursor:pointer;text-align:left}.course-preview-locked-copy{flex:1;min-width:0}.course-preview-locked-copy strong{display:block;font-size:13.5px;color:var(--text-2)}.course-preview-locked-copy small{font-size:11.5px;color:var(--text-3)}.course-preview-locked-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-3);white-space:nowrap}.course-preview-aside{display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}.course-preview-aside-card{padding:16px;border-radius:14px;background:rgba(15,23,42,0.45);border:1px solid rgba(148,163,184,0.14)}.course-preview-aside-card h3{margin:0 0 10px;font-size:13px}.course-preview-aside-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.course-preview-aside-card li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--text-2);line-height:1.4}.course-preview-aside-card li svg{color:#2dd4bf;flex-shrink:0;margin-top:2px}.course-preview-aside-cta{padding:16px;border-radius:14px;display:grid;gap:10px;background:rgba(15,23,42,0.55);border:1px solid rgba(99,102,241,0.28)}.course-preview-aside-cta-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(99,102,241,0.18);color:#a5b4fc}.course-preview-aside-cta strong{display:block;font-size:14px}.course-preview-aside-cta p{margin:3px 0 0;font-size:12px;color:var(--text-3)}@media(max-width:980px){.course-preview-grid{grid-template-columns:1fr}.course-preview-aside{position:static}.course-preview-hero-art{display:none}.course-preview-module{flex-wrap:wrap}}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--text-3)}.placeholder\:text-muted-foreground::placeholder{color:var(--text-3)}.hover\:bg-\[var\(--accent-2\)\]:hover{background-color:var(--accent-2)}.hover\:bg-\[var\(--landing-mist-2\,\#f3f7fb\)\]:hover{background-color:var(--landing-mist-2,#f3f7fb)}.hover\:bg-\[var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:bg-accent:hover{background-color:var(--accent-soft)}.hover\:bg-muted:hover{background-color:var(--surface-2)}.hover\:bg-white\/10:hover{background-color:rgb(255 255 255 / 0.1)}.hover\:bg-white\/90:hover{background-color:rgb(255 255 255 / 0.9)}.hover\:text-accent-foreground:hover{color:var(--text)}.hover\:text-foreground:hover{color:var(--text)}.hover\:text-primary:hover{color:var(--accent)}.hover\:text-primary-foreground:hover{--tw-text-opacity: 1;color:rgb(5 36 32 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:0.9}.focus\:bg-accent:focus{background-color:var(--accent-soft)}.focus\:text-accent-foreground:focus{color:var(--text)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--accent\)\]:focus-visible{outline-color:var(--accent)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[var\(--accent\)\]:focus-visible{--tw-ring-color: var(--accent)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-\[var\(--bg\)\]:focus-visible{--tw-ring-offset-color: var(--bg)}.active\:scale-\[0\.98\]:active{--tw-scale-x: 0.98;--tw-scale-y: 0.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:0.4}.disabled\:opacity-50:disabled{opacity:0.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:0.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=active\]\:border-border-soft[data-state=active]{border-color:var(--border-soft)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--bg)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--text)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:0.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(min-width:640px){.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-14{height:3.5rem}.sm\:h-16{height:4rem}.sm\:h-9{height:2.25rem}.sm\:w-12{width:3rem}.sm\:w-14{width:3.5rem}.sm\:w-16{width:4rem}.sm\:w-auto{width:auto}.sm\:max-w-sm{max-width:24rem}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-stretch{align-items:stretch}.sm\:justify-end{justify-content:flex-end}.sm\:gap-3{gap:0.75rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:px-3{padding-left:0.75rem;padding-right:0.75rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-\[10px\]{font-size:10px}.sm\:text-\[11px\]{font-size:11px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:0.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}}@media(min-width:1280px){.xl\:grid-cols-\[minmax\(0\,1fr\)_380px\]{grid-template-columns:minmax(0,1fr) 380px}}[data-theme=dark]{--bg: #0B111D;--surface: #121A2A;--surface-2: #0E1524;--border: #1E2A3F;--border-soft: #172235;--text: #F3F6FB;--text-2: #B8C3D6;--text-3: #8B9BB3;--text-4: #6F7F97;--accent: #14B8A6;--accent-2: #0D9488;--accent-soft: rgba(20, 184, 166, 0.14);--accent-soft-2: rgba(20, 184, 166, 0.08);--brand-deep: #070B14;--brand-deep-2: #0B111D;--brand-deep-3: #05080F;--radius-card: 14px;--shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.04), 0 10px 30px rgba(0, 0, 0, 0.28)}.page-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.page-toolbar-search{display:flex;align-items:center;gap:8px;min-width:min(280px,100%);padding:9px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-3)}.page-toolbar-search input{flex:1;border:0;outline:none;background:transparent;color:var(--text);font-size:13.5px;min-width:0}.page-toolbar-search input::-moz-placeholder{color:var(--text-4)}.page-toolbar-search input::placeholder{color:var(--text-4)}.page-toolbar-actions{display:flex;align-items:center;gap:8px}.page-toolbar-icon,.page-toolbar-avatar{width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);display:grid;place-items:center;cursor:pointer;position:relative;transition:background var(--tween),color var(--tween),border-color var(--tween)}.page-toolbar-icon:hover,.page-toolbar-avatar:hover{color:var(--text);border-color:rgba(20,184,166,0.4);background:var(--accent-soft-2)}.page-toolbar-icon.has-dot::after{content:"";position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 2px var(--surface)}.page-toolbar-avatar{font-size:12px;font-weight:700;color:#f3f6fb;background:linear-gradient(145deg,#1a2740,#0f172a)}.ed-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}.ed-page-header h1{margin:0;font-size:clamp(1.55rem,2vw,1.9rem);font-weight:700;letter-spacing:-0.03em;color:var(--text)}.ed-page-header p{margin:6px 0 0;color:var(--text-3);font-size:14px}.ed-greeting__title{animation:ed-greeting-rise 560ms cubic-bezier(0.2,0.7,0.2,1) both}.ed-greeting__sub{animation:ed-greeting-rise 560ms cubic-bezier(0.2,0.7,0.2,1) 90ms both}@keyframes ed-greeting-rise{from{opacity:0;transform:translateY(10px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.ed-greeting__title,.ed-greeting__sub{animation:none}}.ed-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 14px}.ed-section-title h2{margin:0;font-size:1.05rem;font-weight:650;letter-spacing:-0.02em}.ed-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card, 14px);box-shadow:var(--shadow-card)}.ed-continue-card{position:relative;overflow:hidden;padding:22px 24px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:radial-gradient(circle at 92% 20%,rgba(20,184,166,0.18),transparent 42%),linear-gradient(135deg,#121C2F 0%,#0D1524 55%,#101A2C 100%);border:1px solid rgba(20,184,166,0.28);border-radius:var(--radius-card, 14px)}.ed-continue-kicker{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ed-continue-kicker span.label{font-size:12px;font-weight:650;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-2)}.ed-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;background:rgba(20,184,166,0.16);color:#5eead4;border:1px solid rgba(20,184,166,0.35)}.ed-continue-title{margin:0 0 6px;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:700;letter-spacing:-0.02em;color:#f3f6fb}.ed-continue-meta{color:rgba(243,246,251,0.72);font-size:13.5px;margin-bottom:14px}.ed-continue-card .ed-continue-kicker span.label{color:rgba(243,246,251,0.82)}.ed-continue-card .ed-progress-row .label,.ed-continue-card .ed-progress-pct{color:rgba(243,246,251,0.78)}.ed-progress-row{display:flex;align-items:center;gap:12px;max-width:420px}.ed-progress-row .label{font-size:12px;color:var(--text-3);white-space:nowrap}.ed-progress-track{flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.08);overflow:hidden}.ed-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#0d9488,#2dd4bf)}.ed-progress-pct{font-size:12px;font-weight:650;color:var(--text-2);min-width:2.5rem;text-align:right}.ed-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;border:0;background:linear-gradient(180deg,#2dd4bf,#14b8a6);color:#042f2e;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap;transition:transform var(--tween),filter var(--tween)}.ed-btn-primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.ed-btn-primary:disabled{opacity:0.65;cursor:not-allowed;transform:none;filter:none}.ed-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-2);font-weight:600;font-size:13.5px;cursor:pointer;transition:background var(--tween),color var(--tween),border-color var(--tween)}.ed-btn-ghost:hover{color:var(--text);border-color:rgba(20,184,166,0.45);background:var(--accent-soft-2)}.ed-stats-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.ed-stat-card{padding:16px 16px 14px;min-height:108px;display:flex;flex-direction:column;gap:10px}.ed-stat-card .ed-stat-label{font-size:12px;font-weight:600;color:var(--text-3)}.ed-stat-card .ed-stat-value{font-size:1.45rem;font-weight:700;letter-spacing:-0.03em}.ed-stat-card .ed-stat-sub{font-size:12px;color:var(--text-4)}.ed-stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-left:auto}.ed-ring{--size: 52px;--pct: 0;width:var(--size);height:var(--size);border-radius:999px;background:radial-gradient(closest-side,var(--surface) 72%,transparent 73% 100%),conic-gradient(var(--accent) calc(var(--pct) * 1%),rgba(255,255,255,0.08) 0);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text)}.ed-course-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.ed-course-card{padding:16px;display:flex;flex-direction:column;gap:12px;min-height:168px}.ed-course-card-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.ed-course-card h3{margin:0;font-size:15px;font-weight:650;letter-spacing:-0.01em}.ed-activity-list{display:flex;flex-direction:column}.ed-activity-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px;border-top:1px solid var(--border-soft)}.ed-activity-item:first-child{border-top:0}.ed-activity-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent)}.ed-activity-title{font-size:13.5px;font-weight:600;color:var(--text)}.ed-activity-sub{font-size:12.5px;color:var(--text-3);margin-top:2px}.ed-activity-time{font-size:12px;color:var(--text-4);white-space:nowrap}.ed-tabs{display:flex;gap:18px;border-bottom:1px solid var(--border);margin-bottom:18px}.ed-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:10px 2px;margin-bottom:-1px;color:var(--text-3);font-size:14px;font-weight:600;cursor:pointer}.ed-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.ed-chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ed-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background var(--tween),color var(--tween),border-color var(--tween)}.ed-chip.is-active,.ed-chip:hover{border-color:rgba(20,184,166,0.45);color:#5eead4;background:var(--accent-soft)}.ed-learning-item,.ed-explore-card{padding:16px 18px}.ed-learning-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center}.ed-explore-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.ed-explore-card{display:flex;flex-direction:column;gap:12px;min-height:260px}.ed-tag{display:inline-flex;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-3);font-size:11px;font-weight:600}.ed-level{color:var(--accent);font-size:12px;font-weight:700}.sidebar .nav-item.active{background:rgba(20,184,166,0.16);color:#fff;border-left-color:transparent;box-shadow:inset 0 0 0 1px rgba(20,184,166,0.25)}.sidebar-brand .brand-name small{letter-spacing:0.12em}@media(max-width:1100px){.ed-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ed-continue-card{grid-template-columns:1fr}}@media(max-width:720px){.ed-stats-grid{grid-template-columns:1fr}.ed-learning-item{grid-template-columns:40px minmax(0,1fr)}.ed-learning-item .ed-learning-actions{grid-column:1 / -1}.page-toolbar{width:100%;justify-content:stretch}.page-toolbar-search{flex:1;min-width:0}}:root{--landing-navy: #1a2b4a;--landing-navy-2: #233659;--landing-ink: #14233d;--landing-muted: #4a5568;--landing-mist: #e8f1f8;--landing-mist-2: #f3f7fb;--landing-teal: #0d9b8a;--landing-teal-soft: #d8f3ef;--landing-border: #c9d4e0;--landing-surface: #ffffff;--landing-surface-2: #f8fafc;--landing-band: #ffffff;--landing-band-alt: #f8fafc;--landing-mesh-top: #f5f9fc;--landing-mesh-bottom: #eef4f9;--landing-cta-bg: #1a2b4a;--landing-cta-fg: #ffffff;--landing-cta-hover: #233659;--landing-secondary-bg: #ffffff;--landing-secondary-fg: #1a2b4a;--landing-secondary-border: #1a2b4a;--landing-secondary-hover-bg: #f3f7fb;--landing-pill-bg: rgba(255, 255, 255, 0.75);--landing-card-hover-border: #a8b6c7;--landing-badge-fg: #0a6b5f;--landing-chip-bg: #e8eef6;--landing-footer-bg: #f8fafc;--landing-footer-fg: #14233d;--landing-footer-muted: #4a5568;--landing-footer-border: #c9d4e0;--landing-shadow: rgba(20, 35, 61, 0.08);--landing-shadow-sm: rgba(20, 35, 61, 0.04);--landing-search-placeholder: #64748b;--landing-closing-top: #eaf3f9;--landing-closing-bottom: #dde9f3;--landing-terminal-bg: rgba(255, 255, 255, 0.72);--landing-terminal-border: rgba(26, 43, 74, 0.12);--landing-terminal-chrome: rgba(243, 247, 251, 0.9);--landing-terminal-sidebar: rgba(232, 241, 248, 0.55);--landing-terminal-code: #243447;--landing-terminal-code-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(232, 241, 248, 0.35));--landing-terminal-divider: rgba(26, 43, 74, 0.08);--landing-mesh-glow-teal: rgba(13, 155, 138, 0.1);--landing-mesh-glow-navy: rgba(26, 43, 74, 0.08);--landing-dot-navy: rgba(26, 43, 74, 0.18);--landing-dot-teal: rgba(13, 155, 138, 0.22);--landing-white: var(--landing-surface)}[data-theme=dark]{--landing-navy: #14b8a6;--landing-navy-2: #0d9488;--landing-ink: #e6edf3;--landing-muted: #b7c2d0;--landing-mist: #0a1524;--landing-mist-2: #0c1526;--landing-teal: #14b8a6;--landing-teal-soft: rgba(20, 184, 166, 0.14);--landing-border: #1c2a42;--landing-surface: #0c1526;--landing-surface-2: #0a1220;--landing-band: #0a1524;--landing-band-alt: #07111f;--landing-mesh-top: #07111f;--landing-mesh-bottom: #050b16;--landing-cta-bg: #14b8a6;--landing-cta-fg: #052420;--landing-cta-hover: #0d9488;--landing-secondary-bg: transparent;--landing-secondary-fg: #e6edf3;--landing-secondary-border: #8b949e;--landing-secondary-hover-bg: rgba(255, 255, 255, 0.06);--landing-pill-bg: rgba(255, 255, 255, 0.06);--landing-card-hover-border: #2a3f5f;--landing-badge-fg: #5eead4;--landing-chip-bg: rgba(20, 184, 166, 0.12);--landing-footer-bg: #0c1526;--landing-footer-fg: #e6edf3;--landing-footer-muted: #b7c2d0;--landing-footer-border: #1c2a42;--landing-shadow: rgba(0, 0, 0, 0.35);--landing-shadow-sm: rgba(0, 0, 0, 0.25);--landing-search-placeholder: #8b9bb3;--landing-closing-top: #0a1524;--landing-closing-bottom: #07111f;--landing-terminal-bg: rgba(12, 21, 38, 0.9);--landing-terminal-border: #1c2a42;--landing-terminal-chrome: rgba(10, 18, 32, 0.95);--landing-terminal-sidebar: rgba(7, 17, 31, 0.8);--landing-terminal-code: #c9d4e0;--landing-terminal-code-bg: transparent;--landing-terminal-divider: #1c2a42;--landing-mesh-glow-teal: rgba(0, 201, 177, 0.12);--landing-mesh-glow-navy: rgba(20, 184, 166, 0.04);--landing-dot-navy: rgba(230, 237, 243, 0.12);--landing-dot-teal: rgba(20, 184, 166, 0.2)}@keyframes landing-soft-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(1.5%,-1%)}}.landing-mesh{position:relative;overflow:visible;background:radial-gradient(ellipse 80% 60% at 10% 20%,var(--landing-mesh-glow-teal),transparent 55%),radial-gradient(ellipse 70% 50% at 90% 10%,var(--landing-mesh-glow-navy),transparent 50%),linear-gradient(180deg,var(--landing-mesh-top) 0%,var(--landing-mist) 55%,var(--landing-mesh-bottom) 100%)}.landing-mesh::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0.45;background-image:radial-gradient(circle at 12% 28%,var(--landing-dot-navy) 1.5px,transparent 2px),radial-gradient(circle at 38% 62%,var(--landing-dot-teal) 1.5px,transparent 2px),radial-gradient(circle at 72% 22%,var(--landing-dot-navy) 1.5px,transparent 2px),radial-gradient(circle at 88% 70%,var(--landing-dot-teal) 1.5px,transparent 2px),linear-gradient(115deg,transparent 40%,color-mix(in srgb,var(--landing-ink) 4%,transparent) 40.5%,transparent 41%),linear-gradient(155deg,transparent 55%,color-mix(in srgb,var(--landing-teal) 5%,transparent) 55.5%,transparent 56%);background-size:100% 100%,100% 100%,100% 100%,100% 100%,180px 180px,220px 220px;animation:landing-soft-drift 22s ease-in-out infinite}.landing-btn-primary{background:var(--landing-cta-bg)!important;color:var(--landing-cta-fg)!important;border:1px solid var(--landing-cta-bg)!important;font-weight:600!important;box-shadow:0 1px 2px var(--landing-shadow-sm)}.landing-btn-primary:hover{background:var(--landing-cta-hover)!important;color:var(--landing-cta-fg)!important;border-color:var(--landing-cta-hover)!important;opacity:1!important}.landing-btn-primary:focus-visible{outline:2px solid var(--landing-teal);outline-offset:2px}.landing-btn-secondary{background:var(--landing-secondary-bg)!important;color:var(--landing-secondary-fg)!important;border:1.5px solid var(--landing-secondary-border)!important;font-weight:600!important;box-shadow:none}.landing-btn-secondary:hover{background:var(--landing-secondary-hover-bg)!important;color:var(--landing-secondary-fg)!important;border-color:var(--landing-secondary-border)!important;opacity:1!important}.landing-btn-secondary:focus-visible{outline:2px solid var(--landing-teal);outline-offset:2px}.landing-nav-signin{background:var(--landing-secondary-bg)!important;color:var(--landing-secondary-fg)!important;border:1.5px solid var(--landing-secondary-border)!important;font-weight:600!important}.landing-nav-signin:hover{background:var(--landing-secondary-hover-bg)!important;color:var(--landing-secondary-fg)!important;opacity:1!important}.landing-nav-link{color:var(--landing-muted)!important;font-weight:500;text-shadow:none}.landing-nav-link:hover{color:var(--landing-ink)!important;text-decoration:underline;text-underline-offset:3px}.landing-nav-cta{background:var(--landing-cta-bg)!important;color:var(--landing-cta-fg)!important;border:1px solid var(--landing-cta-bg)!important;font-weight:600!important;height:2.25rem!important;padding-left:0.9rem!important;padding-right:0.9rem!important;border-radius:0.4rem!important;box-shadow:0 1px 2px var(--landing-shadow-sm)}.landing-nav-cta:hover{background:var(--landing-cta-hover)!important;color:var(--landing-cta-fg)!important;border-color:var(--landing-cta-hover)!important;opacity:1!important}.landing-nav-cta:focus-visible{outline:2px solid var(--landing-teal);outline-offset:2px}.landing-nav-logo{display:block;height:4.25rem;width:auto;max-width:min(17rem,52vw)}@media(min-width:640px){.landing-nav-logo{height:5rem;max-width:19rem}}@media(min-width:1024px){.landing-nav-logo{height:5.75rem;max-width:22rem}}.landing-nav-brand{background:#ffffff;border:1px solid rgba(26,43,74,0.1);border-radius:0.85rem;padding:0.2rem 0.55rem 0.15rem;box-shadow:0 1px 3px rgba(15,23,42,0.08);line-height:0;overflow:visible}.landing-hero{position:relative;z-index:0;isolation:isolate;overflow:visible;padding:6.25rem 1.25rem 4.5rem}@media(min-width:640px){.landing-hero{padding:7rem 1.5rem 5rem}}.landing-hero__inner{position:relative;z-index:1;margin:0 auto;display:grid;max-width:68rem;gap:2rem;align-items:center;overflow:hidden}@media(min-width:960px){.landing-hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:2.5rem}}.landing-hero__visual{position:relative;z-index:0;max-width:100%;margin:0 0 1.25rem;overflow:hidden}.landing-hero__copy{text-align:left}.landing-hero-eyebrow{margin-bottom:0.75rem;font-size:0.7rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--landing-teal)}.landing-hero-title{color:var(--landing-ink);font-size:clamp(1.75rem,3.6vw,2.75rem);font-weight:700;line-height:1.15;letter-spacing:-0.02em}.landing-hero-body{margin-top:1rem;max-width:34rem;color:var(--landing-muted);font-size:1rem;line-height:1.65}.landing-hero__actions{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:0.75rem}.landing-hero__pills{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:0.5rem}.landing-hero-pill{display:inline-flex;align-items:center;gap:0.4rem;border:1px solid var(--landing-border);background:var(--landing-pill-bg);color:var(--landing-muted);border-radius:999px;padding:0.35rem 0.75rem;font-size:0.75rem;font-weight:500}.landing-terminal{position:relative;z-index:0;border:1px solid var(--landing-terminal-border);border-radius:14px;background:var(--landing-terminal-bg);box-shadow:0 18px 40px var(--landing-shadow),0 1px 0 color-mix(in srgb,var(--landing-surface) 80%,transparent) inset;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;max-width:100%}.landing-terminal__chrome{display:flex;align-items:center;gap:0.4rem;padding:0.65rem 0.85rem;border-bottom:1px solid var(--landing-terminal-divider);background:var(--landing-terminal-chrome)}.landing-terminal__dot{width:0.55rem;height:0.55rem;border-radius:50%}.landing-terminal__dot--r{background:#ff5f57}.landing-terminal__dot--y{background:#febc2e}.landing-terminal__dot--g{background:#28c840}.landing-terminal__title{margin-left:0.5rem;font-family:var(--font-mono);font-size:0.7rem;color:var(--landing-muted)}.landing-terminal__body{display:grid;grid-template-columns:8.5rem 1fr;min-height:14rem}@media(max-width:520px){.landing-terminal__body{grid-template-columns:1fr}.landing-terminal__sidebar{display:none}}.landing-terminal__sidebar{padding:0.85rem 0.75rem;border-right:1px solid var(--landing-terminal-divider);background:var(--landing-terminal-sidebar);font-size:0.7rem}.landing-terminal__side-label{font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--landing-muted);margin-bottom:0.4rem}.landing-terminal__side-label--spaced{margin-top:1rem}.landing-terminal__status{display:flex;align-items:center;gap:0.35rem;font-weight:600;color:#0a7a3e;margin-bottom:0.35rem}[data-theme=dark] .landing-terminal__status{color:#3dd68c}.landing-terminal__status-dot{width:0.45rem;height:0.45rem;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,0.2)}.landing-terminal__meta{color:var(--landing-muted);margin-bottom:0.2rem}.landing-terminal__file{font-family:var(--font-mono);color:var(--landing-ink);padding:0.15rem 0}.landing-terminal__code{margin:0;padding:0.9rem 1rem;font-family:var(--font-mono);font-size:0.72rem;line-height:1.55;color:var(--landing-terminal-code);white-space:pre-wrap;background:var(--landing-terminal-code-bg)}.landing-filter-pill{background:var(--landing-surface)!important;color:var(--landing-ink)!important;border:1.5px solid var(--landing-border)!important;font-weight:500!important}.landing-filter-pill:hover{background:var(--landing-mist-2)!important;color:var(--landing-ink)!important;border-color:var(--landing-navy)!important;opacity:1!important}.landing-filter-pill--active,.landing-filter-pill[aria-pressed=true]{background:var(--landing-cta-bg)!important;color:var(--landing-cta-fg)!important;border-color:var(--landing-cta-bg)!important;font-weight:600!important}.landing-filter-pill--active:hover,.landing-filter-pill[aria-pressed=true]:hover{background:var(--landing-cta-hover)!important;color:var(--landing-cta-fg)!important}.landing-explore{position:relative;z-index:2;background:var(--landing-band)!important;padding-top:1rem}.landing-explore-title{color:var(--landing-ink)!important}.landing-explore-subtitle{color:var(--landing-muted)!important}.landing-search{width:100%}@media(min-width:640px){.landing-search{width:18rem}}@media(min-width:1024px){.landing-search{width:22rem}}.landing-search-icon{color:var(--landing-muted)!important}.landing-search-input{height:2.75rem!important;border:1.5px solid var(--landing-border)!important;background:var(--landing-surface)!important;color:var(--landing-ink)!important;padding-left:2.75rem!important;padding-right:1rem!important;font-size:0.95rem!important;box-shadow:0 1px 2px var(--landing-shadow-sm)}.landing-search-input::-moz-placeholder{color:var(--landing-search-placeholder)!important}.landing-search-input::placeholder{color:var(--landing-search-placeholder)!important}.landing-search-input:focus-visible{outline:2px solid var(--landing-navy);outline-offset:1px}.landing-course-card{background:var(--landing-surface)!important;border:1px solid var(--landing-border)!important;border-radius:12px!important;box-shadow:0 2px 8px var(--landing-shadow-sm)}.landing-course-card:hover{border-color:var(--landing-card-hover-border)!important;box-shadow:0 10px 28px var(--landing-shadow);transform:translateY(-1px)}.landing-workspace-badge{border:none;background:var(--landing-teal-soft);color:var(--landing-badge-fg);font-weight:600}.landing-module-chip{display:inline-flex;align-items:center;gap:0.3rem;border-radius:999px;background:var(--landing-chip-bg);color:var(--landing-navy);padding:0.2rem 0.55rem;font-size:0.7rem;font-weight:600}.landing-topic-pill{border:1px solid var(--landing-border);background:var(--landing-mist-2);color:var(--landing-muted);font-weight:500}.landing-view-course{color:var(--landing-navy)!important;font-weight:600!important;text-decoration:none!important;border:1.5px solid var(--landing-navy)!important;background:transparent!important;border-radius:0.4rem;padding:0.35rem 0.7rem!important;height:auto!important}.landing-view-course:hover{background:var(--landing-cta-bg)!important;color:var(--landing-cta-fg)!important;border-color:var(--landing-cta-bg)!important;opacity:1!important}.landing-closing-cta{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 80% at 0% 100%,var(--landing-mesh-glow-teal),transparent 50%),radial-gradient(ellipse 60% 70% at 100% 0%,var(--landing-mesh-glow-navy),transparent 45%),linear-gradient(180deg,var(--landing-closing-top),var(--landing-closing-bottom));color:var(--landing-ink);padding:4rem 1.25rem;text-align:center}.landing-closing-cta::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0.35;background-image:radial-gradient(circle at 15% 40%,var(--landing-dot-navy) 1.5px,transparent 2px),radial-gradient(circle at 85% 55%,var(--landing-dot-teal) 1.5px,transparent 2px)}.landing-closing-cta__title{position:relative;color:var(--landing-ink)}.landing-closing-cta__body{position:relative;color:var(--landing-muted)}.landing-closing-cta .landing-btn-primary,.landing-closing-cta .landing-btn-secondary{position:relative}.landing-mentor-band{background:var(--landing-band-alt)}.landing-mentor-band h2{color:var(--landing-ink)!important}.landing-mentor-band p{color:var(--landing-muted)!important}.landing-how-band{position:relative;z-index:2;background:var(--landing-band)!important}.landing-how-band h2{color:var(--landing-ink)!important}.landing-how-band p{color:var(--landing-muted)!important}.landing-footer{background:var(--landing-footer-bg);color:var(--landing-footer-fg);border-top:1px solid var(--landing-footer-border)}.landing-footer-wordmark{color:var(--landing-footer-fg)!important}.landing-footer-mark{flex-shrink:0}.landing-footer-copy{color:var(--landing-footer-muted)!important}@keyframes landing-cta-pulse-once{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--landing-cta-bg) 25%,transparent)}100%{box-shadow:0 0 0 12px transparent}}.landing-cta-pulse-once:not(:focus-visible){animation:landing-cta-pulse-once 0.8s ease-out 1}@media(prefers-reduced-motion:reduce){.landing-mesh::before{animation:none}.landing-cta-pulse-once{animation:none}.landing-course-card:hover{transform:none}}.landing-theme-toggle{box-shadow:0 1px 2px var(--landing-shadow-sm);border-color:var(--landing-border)!important;background:var(--landing-surface)!important;color:var(--landing-ink)!important}.landing-theme-toggle:hover{background:var(--landing-mist-2)!important}
