@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");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: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}:root{color-scheme:dark;--mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg: #0a0e14;--bg-raised: #0e141d;--panel: #111826;--panel-soft: #16202f;--term: #070b11;--border: #1e2a3a;--border-strong: #2b3b52;--text: #d7e2ec;--muted: #7d8fa3;--faint: #5a6b80;--accent: #22d3ee;--accent-strong: #67e8f9;--accent-soft: rgba(34, 211, 238, .12);--accent-line: rgba(34, 211, 238, .32);--accent-ink: #04121a;--accent-2: #e879f9;--accent-2-soft: rgba(232, 121, 249, .12);--ok: #34d399;--warn: #fbbf24;--err: #fb7185;--easy: var(--ok);--medium: var(--warn);--hard: var(--err);--glow: 0 0 0 1px rgba(34, 211, 238, .35), 0 0 18px rgba(34, 211, 238, .18);--glow-soft: 0 0 22px rgba(34, 211, 238, .12);--ring: 0 0 0 2px var(--bg), 0 0 0 3px var(--accent), 0 0 14px rgba(34, 211, 238, .35);--r-sm: 7px;--r: 10px;--r-lg: 14px;--r-pill: 999px;--grid: rgba(120, 170, 200, .05);--wash: rgba(34, 211, 238, .09);--scroll-thumb: #223044;--scroll-thumb-hover: #33475f;--editor-bg: #0b1017;--editor-gutter: #0b1017;--editor-line: rgba(34, 211, 238, .05);--editor-selection: rgba(34, 211, 238, .16);--surface: var(--panel);--surface-raised: var(--bg-raised);--text-strong: var(--text);--cyan: var(--accent)}[data-theme=light]{color-scheme:light;--bg: #eef2f7;--bg-raised: #ffffff;--panel: #ffffff;--panel-soft: #f2f6fb;--term: #e3eaf3;--border: #dbe3ee;--border-strong: #c2d0e0;--text: #0e1a27;--muted: #566577;--faint: #7c889a;--accent: #0891b2;--accent-strong: #0e7490;--accent-soft: rgba(8, 145, 178, .1);--accent-line: rgba(8, 145, 178, .28);--accent-ink: #ffffff;--accent-2: #a21caf;--accent-2-soft: rgba(162, 28, 175, .1);--ok: #047857;--warn: #b45309;--err: #be123c;--glow: 0 0 0 1px rgba(8, 145, 178, .3), 0 0 16px rgba(8, 145, 178, .14);--glow-soft: 0 0 20px rgba(8, 145, 178, .1);--ring: 0 0 0 2px var(--bg), 0 0 0 3px var(--accent), 0 0 12px rgba(8, 145, 178, .28);--grid: rgba(30, 60, 90, .045);--wash: rgba(8, 145, 178, .08);--scroll-thumb: #cbd6e3;--scroll-thumb-hover: #aebccd;--editor-bg: #ffffff;--editor-gutter: #ffffff;--editor-line: rgba(8, 145, 178, .06);--editor-selection: rgba(8, 145, 178, .16)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100%;font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis:none}#root{height:100%}html.fx-on body:before,html.fx-on body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}html.fx-on body:before{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(0,0,0,.14) 3px,transparent 4px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:100% 4px,42px 42px,42px 42px;opacity:.55;mix-blend-mode:soft-light}html.fx-on body:after{background:radial-gradient(120% 90% at 0% -10%,var(--wash),transparent 55%),radial-gradient(90% 70% at 100% -20%,var(--accent-2-soft),transparent 60%)}#root{position:relative;z-index:1}h1,h2,h3,h4{font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--text)}a{color:var(--accent);text-decoration:none}code,kbd,pre,samp{font-family:var(--mono);font-feature-settings:"liga" 0}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;cursor:pointer}button:disabled{cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::selection{background:#22d3ee47;color:#eafcff}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid transparent;background-clip:content-box;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:content-box}.eyebrow,.section-heading>span:first-child{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted)}.section-heading>span:first-child:before{content:"▸ ";color:var(--accent)}.section-heading svg,.section-heading>span:last-child:not(:first-child){color:var(--muted);font-family:var(--mono);font-size:11px}.muted{color:var(--muted)}.loading-state{display:flex;align-items:center;justify-content:center;min-height:240px;padding:40px;font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--muted)}.loading-state:before{content:"$ ";color:var(--accent);margin-right:2px}.app-loading{height:100vh}.error-strip{flex:none;display:flex;align-items:center;gap:8px;padding:10px 18px;font-family:var(--mono);font-size:12.5px;color:var(--err);background:color-mix(in srgb,var(--err) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--err) 40%,var(--border))}.error-strip:before{content:"! ";font-weight:700}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.panel-block{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px}.panel-block>.section-heading{margin-bottom:14px}.ghost-button{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.01em;color:var(--text);background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .14s,color .14s,background .14s}.ghost-button:hover:not(:disabled){border-color:var(--border-strong);color:var(--accent-strong)}.ghost-button:disabled{opacity:.45}.ghost-button svg{color:var(--muted)}.ghost-button:hover:not(:disabled) svg{color:var(--accent)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--muted);background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .14s,color .14s}.icon-button:hover:not(:disabled){border-color:var(--border-strong);color:var(--accent)}.icon-button:disabled{opacity:.45}.primary-action,.test-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);transition:box-shadow .16s,transform .05s,filter .16s}.primary-action:hover:not(:disabled),.test-button:hover:not(:disabled){box-shadow:var(--glow);filter:brightness(1.06)}.primary-action:active:not(:disabled),.test-button:active:not(:disabled){transform:translateY(1px)}.primary-action:disabled,.test-button:disabled{opacity:.5}.primary-action svg,.test-button svg{color:var(--accent-ink)}.inline-action{padding:8px 13px;text-transform:none;letter-spacing:.01em}.status-pill,.difficulty-chip,.difficulty-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}.status-pill.is-passed{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 36%,transparent)}.status-pill.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line);box-shadow:var(--glow-soft)}.status-pill.is-scheduled{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:color-mix(in srgb,var(--warn) 34%,transparent)}.status-pill.is-catalog{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent);border-color:color-mix(in srgb,var(--muted) 28%,transparent)}.status-pill.is-new{color:var(--faint);background:color-mix(in srgb,var(--faint) 12%,transparent);border-color:color-mix(in srgb,var(--faint) 26%,transparent)}.difficulty-chip.is-easy,.difficulty-pill{color:var(--easy);background:color-mix(in srgb,var(--easy) 14%,transparent);border-color:color-mix(in srgb,var(--easy) 34%,transparent)}.difficulty-chip.is-medium{color:var(--medium);background:color-mix(in srgb,var(--medium) 15%,transparent);border-color:color-mix(in srgb,var(--medium) 34%,transparent)}.difficulty-chip.is-hard{color:var(--hard);background:color-mix(in srgb,var(--hard) 15%,transparent);border-color:color-mix(in srgb,var(--hard) 36%,transparent)}.difficulty-chip.is-unknown{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent);border-color:color-mix(in srgb,var(--muted) 26%,transparent)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.status-dot.is-passed{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 70%,transparent)}.status-dot.is-mastered{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 70%,transparent)}.status-dot.is-due{background:var(--warn);box-shadow:0 0 8px color-mix(in srgb,var(--warn) 55%,transparent)}.status-dot.is-assisted{background:var(--medium)}.status-dot.is-progress{background:var(--accent-strong)}.status-dot.is-active{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 70%,transparent)}.status-dot.is-scheduled{background:var(--warn)}.status-dot.is-catalog,.status-dot.is-new{background:var(--faint)}.difficulty-meter{display:inline-flex;gap:3px;align-items:center}.difficulty-meter i{width:4px;height:12px;border-radius:1px;background:var(--border-strong)}.difficulty-meter i.is-active{background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 55%,transparent)}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.tag-row span{padding:3px 9px;font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--muted);background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--r-pill)}input[type=text],input[type=password],input[type=email],input:not([type]),textarea{width:100%;padding:10px 12px;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .14s,box-shadow .14s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,textarea:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,textarea:disabled{opacity:.5}textarea{min-height:120px;resize:vertical;line-height:1.55}label>span{display:block;margin-bottom:6px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.queue-list{display:flex;flex-direction:column;gap:2px}.queue-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;text-align:left;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);transition:background .13s,border-color .13s}.queue-row:hover{background:var(--panel-soft);border-color:var(--border)}.queue-row.is-selected{background:var(--accent-soft);border-color:var(--accent-line)}.queue-row>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.queue-row strong{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-row small{font-family:var(--mono);font-size:11px;color:var(--muted)}.queue-row .status-pill{margin-left:auto}.queue-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--border-strong)}.queue-dot[data-due=true]{background:var(--warn);box-shadow:0 0 8px color-mix(in srgb,var(--warn) 60%,transparent)}.catalog-empty,.catalog-run-note{font-family:var(--mono);font-size:12px}.catalog-run-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;color:var(--muted);background:color-mix(in srgb,var(--warn) 8%,transparent);border:1px solid color-mix(in srgb,var(--warn) 26%,var(--border));border-radius:var(--r-sm)}.catalog-run-note strong{color:var(--warn);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.app-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}html[data-kb-open] .app-shell{height:calc(100dvh - var(--kb-inset, 0px))}html[data-kb-open] .topnav{display:none}html[data-kb-open] .main-surface{padding-bottom:0}.topbar{flex:none;display:flex;align-items:center;gap:22px;height:54px;padding:0 clamp(14px,3vw,26px);background:color-mix(in srgb,var(--bg-raised) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:relative;z-index:5}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--accent-line),transparent 40%)}.brand-link{display:inline-flex;align-items:center;flex:none}.brand{display:inline-flex;align-items:center;font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.02em;white-space:nowrap;color:var(--text)}.brand .brand-af{color:var(--accent);text-shadow:0 0 12px rgba(34,211,238,.35)}.brand .brand-sep{color:var(--muted)}.brand .brand-train{color:var(--text)}.topnav{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.topnav a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);border-radius:var(--r-sm);white-space:nowrap;transition:color .14s,background .14s}.topnav a svg{width:14px;height:14px;opacity:.8}.topnav a:hover{color:var(--text);background:var(--panel-soft)}.topnav a.is-active{color:var(--accent)}.topnav a.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 8px #22d3ee99}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.topbar-stats{display:flex;align-items:center;gap:14px;padding-right:6px}.topbar-stat{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;color:var(--muted);white-space:nowrap}.topbar-stat svg{width:14px;height:14px;color:var(--accent);opacity:.85}.topbar-stat strong{color:var(--text);font-weight:600}.topbar-divider{width:1px;height:22px;background:var(--border)}.top-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);transition:color .14s,border-color .14s,background .14s}.top-toggle:hover{color:var(--accent);border-color:var(--border);background:var(--panel-soft)}.top-toggle.is-off{color:var(--faint)}.main-surface{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.main-surface[data-view=problem]{overflow:hidden}.page-scroll{flex:1;min-height:0;overflow-y:auto;padding:26px clamp(16px,3.5vw,40px) 64px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:1220px;margin:0 auto 22px;padding-bottom:18px;border-bottom:1px solid var(--border)}.page-header-main{min-width:0}.page-header .eyebrow{display:block;margin-bottom:8px}.page-header h1{font-family:var(--mono);font-size:clamp(20px,3vw,26px);font-weight:600;letter-spacing:-.01em}.page-header p{margin-top:6px;color:var(--muted);font-size:13.5px}.page-header-aside{display:flex;align-items:center;gap:10px;flex:none}.page-scroll>.page-stack,.page-scroll>.dashboard-home,.page-scroll>.notes-page-wrap,.page-scroll>.notes-page,.page-scroll>.workspace-layout{max-width:1220px;margin-inline:auto}.breadcrumb-trail{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.breadcrumb-trail a{display:inline-flex;align-items:center;gap:5px;color:var(--muted);transition:color .14s}.breadcrumb-trail a:hover{color:var(--accent)}.breadcrumb-trail svg{color:var(--faint)}.breadcrumb-trail strong{color:var(--text);font-weight:500}.page-stack{display:flex;flex-direction:column;gap:20px}@media(max-width:860px){.topbar-stats{display:none}}@media(max-width:560px){.brand .brand-train,.brand .cursor{display:none}.topbar{gap:10px;-webkit-backdrop-filter:none;backdrop-filter:none}.topbar-right{gap:4px}.topbar-right>.topbar-divider,.topbar-right>.topbar-stat{display:none}.topnav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:0;min-height:66px;padding:5px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:visible;border-top:1px solid var(--border-strong);background:color-mix(in srgb,var(--bg-raised) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topnav a{min-width:0;min-height:54px;flex-direction:column;justify-content:center;gap:5px;padding:6px 4px;font-size:9px;letter-spacing:.04em}.topnav a span{display:block}.topnav a.is-active:after{left:24%;right:24%;bottom:1px}.main-surface{padding-bottom:66px}.app-shell[data-view=problem] .topnav{display:none}.app-shell[data-view=problem] .main-surface{padding-bottom:0}}.code-editor{flex:1;height:100%;min-height:0;overflow:hidden}.code-editor-shell{height:100%;min-height:0;display:flex;flex-direction:column}.code-mobile-accessory{display:none}.code-editor .cm-editor{height:100%;background:var(--editor-bg)!important;font-size:13.5px}.code-editor .cm-editor.cm-focused{outline:none}.code-editor .cm-scroller{font-family:var(--mono);line-height:1.62;overflow:auto}.code-editor .cm-content{padding:10px 0}.code-editor .cm-gutters{background:var(--editor-gutter)!important;border-right:1px solid var(--border);color:var(--faint)}.code-editor .cm-lineNumbers .cm-gutterElement{padding:0 12px 0 14px;min-width:34px}.code-editor .cm-activeLine{background:var(--editor-line)!important}.code-editor .cm-activeLineGutter{background:var(--editor-line)!important;color:var(--accent)}.code-editor .cm-selectionBackground,.code-editor .cm-content ::selection{background:var(--editor-selection)!important}.code-editor .cm-cursor,.code-editor .cm-dropCursor{border-left:2px solid var(--accent)}.code-editor .cm-matchingBracket{background:color-mix(in srgb,var(--accent) 22%,transparent)!important;outline:1px solid var(--accent-line);color:inherit!important}.code-editor .cm-tooltip{background:var(--panel)!important;border:1px solid var(--border-strong)!important;border-radius:var(--r-sm);font-family:var(--mono)}.code-editor .cm-tooltip-autocomplete ul li[aria-selected]{background:var(--accent-soft)!important;color:var(--accent-strong)!important}@media(max-width:860px){.code-editor .cm-editor,.code-editor .cm-content{font-size:16px}.code-mobile-accessory{flex:none;display:flex;flex-direction:row;gap:0;padding:6px 0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;border-top:1px solid var(--border);background:var(--bg-raised)}.code-mobile-accessory:after{content:"›";position:sticky;right:0;z-index:2;flex:0 0 24px;align-self:stretch;display:grid;place-items:center;margin-left:-24px;color:var(--accent);font:600 17px/1 var(--mono);pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg-raised) 55%)}.code-mobile-accessory::-webkit-scrollbar{display:none}.code-mobile-accessory-row{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:0 0 0 7px;overflow:visible}.code-mobile-action-row{order:0}.code-mobile-symbol-row{order:1;padding-right:7px}.code-mobile-key{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);background:var(--panel-soft);touch-action:manipulation;user-select:none;-webkit-user-select:none;scroll-snap-align:start}.code-mobile-symbol-key{min-width:40px;font:600 13px/1 var(--mono)}.code-mobile-key.is-pressed{color:var(--accent-strong);border-color:var(--accent-line);background:var(--accent-soft)}.code-mobile-shift-key{font:700 19px/1 var(--mono)}.code-mobile-shift-key.is-latched{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.code-mobile-dpad{flex:0 0 auto;display:flex;gap:5px}.code-mobile-dpad-up,.code-mobile-dpad-left,.code-mobile-dpad-down,.code-mobile-dpad-right{grid-column:auto;grid-row:auto}.code-mobile-key:focus-visible{outline:none;box-shadow:var(--ring)}.code-mobile-key:disabled{opacity:.38;cursor:not-allowed}@media(hover:hover){.code-mobile-key:not(:disabled):hover{border-color:var(--accent-line);color:var(--accent-strong)}}}.recent-block .recent-list{display:flex;flex-direction:column;gap:2px}.recent-row{display:flex;align-items:center;gap:11px;padding:9px 10px;color:var(--text);border:1px solid transparent;border-radius:var(--r-sm);transition:background .13s,border-color .13s}.recent-row:hover{background:var(--panel-soft);border-color:var(--border)}.recent-row.is-static:hover{background:transparent;border-color:transparent}.event-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-sm)}.recent-row>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.recent-row strong{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-row small{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:capitalize}.activity-block .activity-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:4px;margin-top:14px;overflow-x:auto;padding-bottom:6px}.activity-cell{width:13px;height:13px;border-radius:3px;background:var(--panel-soft);border:1px solid var(--border)}.activity-cell.is-empty{background:transparent;border-color:transparent}.activity-cell.level-0{background:var(--panel-soft)}.activity-cell.level-1{background:color-mix(in srgb,var(--accent) 24%,var(--panel));border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.activity-cell.level-2{background:color-mix(in srgb,var(--accent) 45%,var(--panel));border-color:transparent}.activity-cell.level-3{background:color-mix(in srgb,var(--accent) 68%,var(--panel));border-color:transparent}.activity-cell.level-4{background:var(--accent);border-color:transparent;box-shadow:0 0 6px color-mix(in srgb,var(--accent) 50%,transparent)}.activity-legend{display:flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--muted)}.activity-legend .activity-cell{width:12px;height:12px}.workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.workspace-board{display:flex;flex-direction:column;gap:18px;min-width:0}.workspace-command-row{display:flex;gap:12px;align-items:center}.workspace-search{flex:1;display:flex;align-items:center;gap:9px;padding:0 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .14s,box-shadow .14s}.workspace-search:focus-within{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.workspace-search svg{color:var(--muted);flex:none}.workspace-search input{border:none;background:none;padding:10px 0}.workspace-search input:focus{box-shadow:none}.topic-select{position:relative;flex:none}.topic-select-trigger{display:flex;align-items:center;gap:8px;padding:9px 12px;font-family:var(--mono);font-size:12px;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .14s}.topic-select-trigger:hover{border-color:var(--border-strong)}.topic-select-trigger>svg:first-child{color:var(--accent)}.topic-select-trigger span{text-transform:capitalize}.topic-select-trigger small{font-family:var(--mono);font-size:10.5px;color:var(--muted);background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--r-pill);padding:1px 7px}.topic-select-trigger .is-open{transform:rotate(180deg)}.topic-select-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:min(360px,92vw);padding:8px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r);box-shadow:0 24px 60px #0000008c}.topic-select-menu-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 10px}.topic-select-menu-header strong{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.topic-select-menu-header button{font-family:var(--mono);font-size:11px;color:var(--accent)}.topic-select-all,.topic-select-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px;text-align:left;color:var(--text);border-radius:var(--r-sm);cursor:pointer}.topic-select-all:hover,.topic-select-option:hover{background:var(--panel-soft)}.topic-select-all.is-selected{background:var(--accent-soft)}.topic-select-all svg{color:var(--accent)}.topic-select-all span{flex:1;font-size:13px}.topic-select-all small{font-family:var(--mono);font-size:11px;color:var(--muted)}.topic-select-options{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;margin-top:4px}.topic-select-option{position:relative}.topic-select-option input{position:absolute;opacity:0;width:0;height:0}.topic-select-check{width:16px;height:16px;flex:none;border:1px solid var(--border-strong);border-radius:4px;position:relative}.topic-select-option input:checked+.topic-select-check{background:var(--accent);border-color:var(--accent)}.topic-select-option input:checked+.topic-select-check:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--accent-ink)}.topic-select-option input:focus-visible+.topic-select-check{box-shadow:var(--ring)}.topic-select-option-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.topic-select-option-main>span{display:flex;align-items:center;gap:8px;font-size:13px;text-transform:capitalize}.topic-select-option-main>span svg{color:var(--muted)}.topic-select-option-main small{font-family:var(--mono);font-size:10.5px;color:var(--muted)}.topic-select-option em{font-family:var(--mono);font-size:11px;font-style:normal;color:var(--faint)}.workspace-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-cell{display:flex;flex-direction:column;gap:5px;padding:13px 15px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r)}.summary-cell>span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.summary-cell strong{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--text);line-height:1}.summary-cell small{font-family:var(--mono);font-size:10.5px;color:var(--faint)}.problem-group-stack{display:flex;flex-direction:column;gap:24px}.problem-topic-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.problem-topic-heading>div{display:flex;align-items:center;gap:10px;min-width:0}.topic-heading-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-sm)}.problem-topic-heading h2{font-family:var(--mono);font-size:15px;font-weight:600;text-transform:capitalize}.problem-topic-heading small{font-family:var(--mono);font-size:11px;color:var(--muted)}.problem-topic-heading>a{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--muted);white-space:nowrap}.problem-topic-heading>a:hover{color:var(--accent)}.problem-list{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.problem-list-head,.problem-row{display:grid;grid-template-columns:18px 44px minmax(0,1fr) 78px 104px 96px;align-items:center;gap:12px;padding:11px 16px}.problem-list-head{font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);background:var(--bg-raised);border-bottom:1px solid var(--border)}.problem-row{color:var(--text);border-bottom:1px solid var(--border);transition:background .12s}.problem-row:last-child{border-bottom:none}.problem-row:hover{background:var(--panel-soft)}.problem-row-status{display:flex}.problem-row-order{font-family:var(--mono);font-size:12px;color:var(--muted)}.problem-row-title{display:flex;flex-direction:column;gap:2px;min-width:0}.problem-row-title strong{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-row-title small{font-family:var(--mono);font-size:10.5px;color:var(--faint);text-transform:capitalize}.problem-row-reviews,.problem-row-due{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.problem-row .difficulty-chip,.problem-row .difficulty-meter{justify-self:start}.timeline-rail{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg)}.timeline-rail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--border)}.timeline-rail-header h2{font-family:var(--mono);font-size:13px;font-weight:600;text-transform:capitalize}.timeline-rail-header p{margin-top:4px;font-family:var(--mono);font-size:10.5px;color:var(--muted)}.timeline-rail-header svg{color:var(--accent);flex:none}.timeline-section-stack{display:flex;flex-direction:column;gap:16px}.timeline-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.timeline-section-heading h3{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.timeline-section-heading h3:before{content:"▸ ";color:var(--accent)}.timeline-section.is-now .timeline-section-heading h3{color:var(--accent)}.timeline-section-heading span{font-family:var(--mono);font-size:11px;color:var(--faint)}.timeline-list{display:flex;flex-direction:column;gap:4px}.timeline-problem{display:flex;align-items:center;gap:10px;padding:8px 10px;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .13s,background .13s}.timeline-problem:hover{border-color:var(--border-strong);background:var(--panel-soft)}.timeline-node{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;color:var(--muted);background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--r-sm)}.timeline-problem.is-now .timeline-node{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.timeline-problem.is-next .timeline-node{color:var(--accent);border-color:var(--accent-line)}.timeline-problem-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.timeline-problem-body strong{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-problem-body small{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:capitalize}.timeline-due{font-family:var(--mono);font-size:10.5px;color:var(--faint);white-space:nowrap;flex:none}.timeline-empty{font-family:var(--mono);font-size:11px;color:var(--faint);padding:4px 2px}.timeline-full-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;font-family:var(--mono);font-size:11.5px;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);transition:color .14s,border-color .14s}.timeline-full-link:hover{color:var(--accent);border-color:var(--border-strong)}@media(max-width:1080px){.problem-list-head,.problem-row{grid-template-columns:18px 40px minmax(0,1fr) 92px}.problem-row-reviews,.problem-row-due,.col-reviews,.col-due{display:none}}@media(max-width:960px){.workspace-layout{grid-template-columns:1fr}.timeline-rail{position:static}}@media(max-width:620px){.workspace-summary-grid{grid-template-columns:repeat(2,1fr)}.workspace-command-row{flex-wrap:wrap}}.problem-workspace{flex:1;min-height:0;display:flex}.split-pane{display:flex;flex:1;width:100%;height:100%;min-width:0;min-height:0}.split-pane.is-horizontal{flex-direction:row}.split-pane.is-vertical{flex-direction:column}.split-pane.is-dragging{-webkit-user-select:none;user-select:none}.split-pane-start{flex:0 0 auto;min-width:0;min-height:0;display:flex;overflow:hidden}.split-pane-end{flex:1 1 0;min-width:0;min-height:0;display:flex;overflow:hidden}.split-pane-start>*,.split-pane-end>*{flex:1;min-width:0;min-height:0}.split-divider{flex:none;position:relative;z-index:3;background:var(--border);transition:background .14s}.split-pane.is-horizontal>.split-divider{width:1px;cursor:col-resize}.split-pane.is-vertical>.split-divider{height:1px;cursor:row-resize}.split-divider:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.split-pane.is-horizontal>.split-divider:before{left:-5px;right:-5px}.split-pane.is-vertical>.split-divider:before{top:-5px;bottom:-5px}.split-divider:hover,.split-divider:focus-visible,.split-pane.is-dragging>.split-divider{background:var(--accent-line);box-shadow:none}.split-divider:focus-visible{outline:none}.split-divider-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:999px;background:var(--border-strong);transition:background .14s,box-shadow .14s}.split-pane.is-horizontal>.split-divider .split-divider-grip{width:3px;height:30px}.split-pane.is-vertical>.split-divider .split-divider-grip{width:30px;height:3px}.split-divider:hover .split-divider-grip,.split-pane.is-dragging>.split-divider .split-divider-grip{background:var(--accent);box-shadow:0 0 10px #22d3ee99}.wk-panel{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;background:var(--panel)}.wk-right{background:var(--editor-bg)}.wk-tabbar{flex:none;display:flex;align-items:stretch;gap:2px;padding:0 8px;height:42px;background:var(--bg-raised);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.wk-tabbar::-webkit-scrollbar{display:none}.wk-tab{display:inline-flex;align-items:center;gap:7px;padding:0 12px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .14s,border-color .14s}.wk-tab svg{width:14px;height:14px;opacity:.85}.wk-tab:hover{color:var(--text)}.wk-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.wk-tab .wk-tab-badge{font-size:10px;color:var(--faint)}.wk-scroll{flex:1;min-height:0;overflow-y:auto;padding:20px clamp(16px,2vw,24px) 36px}.wk-desc-title{font-family:var(--mono);font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.25}.wk-desc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 18px}.wk-desc-topic{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.wk-desc-hidden{font-family:var(--mono);font-size:11px;color:var(--faint)}.wk-prompt{font-family:var(--sans);font-size:14.5px;line-height:1.72;color:var(--text)}.external-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.external-links a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-sm);transition:box-shadow .16s}.external-links a:hover{box-shadow:var(--glow-soft)}.external-links a:before{content:"↗";color:var(--accent)}.primer-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:18px;font-family:var(--sans);font-size:13px;color:var(--text);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-sm);transition:box-shadow .16s}.primer-banner:hover{box-shadow:var(--glow-soft)}.primer-banner>svg:first-child{flex:none;color:var(--accent)}.primer-banner span{flex:1}.primer-banner strong{color:var(--accent)}.primer-banner-chev{flex:none;color:var(--faint)}.structure-notes{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.structure-notes-label{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.structure-notes-list{display:flex;flex-direction:column;gap:8px}.structure-note{display:flex;flex-direction:column;gap:5px}.structure-note code{align-self:flex-start;font-family:var(--mono);font-size:12.5px;color:var(--accent-strong);background:var(--term);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 8px}.structure-note span{font-size:13px;line-height:1.55;color:var(--muted)}.example-card{padding:14px 16px;margin-bottom:14px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r)}.example-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.example-card h3{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.example-card h3:before{content:"▸ ";color:var(--accent)}.example-run-button{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 9px;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--accent);border:1px solid var(--accent-line);border-radius:var(--r-sm);background:var(--accent-soft);transition:border-color .14s,color .14s,background .14s}.example-run-button:hover:not(:disabled){color:var(--accent-strong);border-color:var(--accent)}.example-run-button:disabled{color:var(--faint);border-color:var(--border);background:var(--panel-soft)}.example-run-button svg{flex:none}.example-io{display:flex;flex-direction:column;gap:11px}.example-io p{display:flex;flex-direction:column;gap:5px}.example-io strong{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.example-io code,.example-card pre{font-family:var(--mono);font-size:12.5px;color:var(--text);background:var(--term);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 11px;display:block;white-space:pre-wrap;word-break:break-word}.example-card pre{margin-top:8px;overflow-x:auto}.example-io span{font-family:var(--sans);font-size:13.5px;color:var(--muted);line-height:1.6}.example-case-name{font-family:var(--mono);font-size:11px;color:var(--muted)}.example-copy{margin-top:12px}.example-copy-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.example-copy-head strong{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.example-copy-button{flex:none;width:28px;height:28px;display:inline-grid;place-items:center;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-soft);transition:color .14s,border-color .14s,background .14s}.example-copy-button:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.example-copy pre{margin-top:0}.example-run-result{display:flex;flex-direction:column;gap:9px;margin-top:12px;padding:10px 11px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-soft)}.example-run-result.is-pass{border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.example-run-result.is-fail,.example-run-result.is-error{border-color:color-mix(in srgb,var(--err) 42%,var(--border))}.example-run-result.is-running{font-family:var(--mono);font-size:12px;color:var(--muted)}.example-run-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--text)}.example-run-result-head span{display:inline-flex;align-items:center;gap:6px}.example-run-result-head small{color:var(--faint);font-size:10.5px}.example-run-result.is-pass .example-run-result-head span{color:var(--ok)}.example-run-result.is-fail .example-run-result-head span,.example-run-result.is-error .example-run-result-head span{color:var(--err)}.example-run-io{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:start}.example-run-io span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.example-run-io code,.example-run-error{font-family:var(--mono);font-size:12px;color:var(--text);background:var(--term);border:1px solid var(--border);border-radius:var(--r-sm);padding:7px 8px;white-space:pre-wrap;word-break:break-word}.example-run-error{margin-top:2px;color:var(--err);overflow-x:auto}.wk-hints{display:flex;flex-direction:column;gap:10px}.wk-hints-lead{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.hint-item{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.hint-item.is-open{border-color:var(--accent-line)}.hint-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;text-align:left;font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--muted);transition:color .14s}.hint-toggle:hover{color:var(--text)}.hint-index{color:var(--accent);font-weight:600}.hint-state{margin-left:auto;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.hint-toggle .chev{width:15px;height:15px;transition:transform .16s}.hint-item.is-open .hint-toggle{color:var(--text)}.hint-item.is-open .hint-toggle .chev{transform:rotate(90deg);color:var(--accent)}.hint-body{padding:0 14px 14px 40px;font-family:var(--sans);font-size:13.5px;line-height:1.65;color:var(--text)}.solution-tab{display:flex;flex-direction:column;gap:14px}.solution-locked{display:flex;align-items:flex-start;gap:12px;padding:16px;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r)}.solution-locked svg{flex:none;margin-top:2px;color:var(--faint)}.solution-locked div{display:flex;flex-direction:column;gap:3px}.solution-locked strong{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.solution-locked span{font-size:13px;line-height:1.55}.solution-gate{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--bg-raised);border:1px dashed var(--border-strong);border-radius:var(--r)}.solution-gate-copy{font-size:13.5px;line-height:1.6;color:var(--muted)}.solution-gate-copy strong{color:var(--warn)}.reveal-button{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding:9px 14px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-sm);transition:box-shadow .16s,background .14s}.reveal-button:hover:not(:disabled){box-shadow:var(--glow)}.reveal-button:disabled{opacity:.6}.reveal-button.is-danger{color:var(--err);background:color-mix(in srgb,var(--err) 10%,transparent);border-color:color-mix(in srgb,var(--err) 34%,var(--border))}.reveal-button.is-danger:hover:not(:disabled){box-shadow:0 0 14px color-mix(in srgb,var(--err) 30%,transparent)}.solution-block{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r)}.solution-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.solution-block-head>span:first-child{color:var(--text);font-weight:600}.solution-code{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--text);background:var(--term);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;overflow-x:auto;white-space:pre}.wk-notes{display:flex;flex-direction:column;gap:14px}.wk-notes textarea{min-height:260px;font-family:var(--sans);font-size:14px}.note-actions{display:flex;align-items:center;gap:10px}.attempts-panel .section-heading{margin-bottom:12px}.attempt-list{display:flex;flex-direction:column;gap:4px}.attempt-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm)}.attempt-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.attempt-status{display:flex;color:var(--muted)}.attempt-status.is-pass{color:var(--ok)}.attempt-status.is-fail{color:var(--err)}.attempt-row strong{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--text);text-transform:capitalize}.attempt-row small{font-family:var(--mono);font-size:11px;color:var(--muted)}.wk-editor{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--editor-bg)}.wk-actionbar{flex:none;display:flex;align-items:center;gap:10px;min-height:46px;padding:7px 12px;background:var(--bg-raised);border-bottom:1px solid var(--border)}.wk-lang{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.wk-lang:before{content:"▸ ";color:var(--accent)}.wk-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.wk-editor-body{flex:1;min-height:0;overflow:hidden}.wk-mobile-editor-context{display:none}.wk-results{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--term);border-top:1px solid var(--border)}.wk-results-scroll{flex:1;min-height:0;overflow-y:auto}.wk-results.is-console-only .wk-results-scroll,.wk-results.is-console-only .run-console-panel{display:flex;flex-direction:column}.wk-results.is-console-only .run-console-panel{flex:1;min-height:0;padding-bottom:14px}.wk-results.is-console-only .runner-console{flex:1;min-height:0;max-height:none}.testcase-panel{display:flex;flex-direction:column}.runner-tabbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:4px;padding:8px 12px;background:var(--term);border-bottom:1px solid var(--border)}.runner-tabbar button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-radius:var(--r-sm);transition:color .14s,background .14s}.runner-tabbar button svg{width:14px;height:14px}.runner-tabbar button:hover{color:var(--text)}.runner-tabbar button.is-active{color:var(--accent);background:var(--accent-soft)}.run-state{margin-left:auto;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent}.run-state.is-passed{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 34%,transparent)}.run-state.is-failed{color:var(--err);background:color-mix(in srgb,var(--err) 14%,transparent);border-color:color-mix(in srgb,var(--err) 34%,transparent)}.runner-case-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border)}.runner-case-tabs button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .14s,color .14s}.runner-case-tabs button svg{width:14px;height:14px}.runner-case-tabs button.is-active{border-color:var(--accent-line);color:var(--text)}.runner-case-tabs button.is-passed svg{color:var(--ok)}.runner-case-tabs button.is-failed{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,var(--border))}.runner-case-tabs button.is-failed svg{color:var(--err)}.testcase-body{display:flex;flex-direction:column;gap:11px;padding:14px 12px}.testcase-field{display:flex;flex-direction:column;gap:5px}.testcase-field>span{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.testcase-field code{display:block;font-family:var(--mono);font-size:12.5px;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;white-space:pre-wrap;word-break:break-word}.testcase-field.is-expected code{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 26%,var(--border))}.test-result-body{padding:14px 12px}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.result-heading strong{font-family:var(--mono);font-size:13px;color:var(--text)}.testcase-panel.is-passed .result-heading strong{color:var(--ok)}.testcase-panel.is-failed .result-heading strong{color:var(--err)}.result-summary{display:flex;gap:14px}.result-summary span{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.result-summary span:first-child svg{color:var(--ok)}.result-summary span:last-child svg{color:var(--err)}.runner-console{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--text);background:color-mix(in srgb,var(--bg) 60%,var(--term));border:1px solid var(--border);border-radius:var(--r-sm);padding:12px;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto}.lint-panel{padding:14px 12px;border-top:1px solid var(--border)}.lint-panel .section-heading{margin-bottom:10px}.lint-panel.has-issues .section-heading>span:first-child{color:var(--warn)}.lint-panel.is-clean .section-heading>span:first-child{color:var(--ok)}.lint-panel .section-heading>span:last-child{font-family:var(--mono);font-size:11px;color:var(--muted)}.lint-list{display:flex;flex-direction:column;gap:6px}.lint-row{display:flex;gap:10px;align-items:baseline;padding:8px 10px;background:var(--bg-raised);border:1px solid var(--border);border-left:2px solid var(--warn);border-radius:var(--r-sm)}.lint-row strong{font-family:var(--mono);font-size:11px;color:var(--warn);white-space:nowrap}.lint-row span{font-family:var(--mono);font-size:12px;color:var(--text)}.review-panel{display:flex;flex-direction:column;gap:12px;padding:16px 12px;border-top:1px solid var(--border);opacity:.5;transition:opacity .2s}.review-panel.is-enabled{opacity:1}.review-panel.is-failed{border-top-color:color-mix(in srgb,var(--err) 32%,var(--border));background:color-mix(in srgb,var(--err) 6%,transparent)}.review-panel.is-failed strong:before{color:var(--err)}.review-panel.is-failed>div:first-child span{color:var(--err)}.review-panel>div:first-child{display:flex;flex-direction:column;gap:3px}.review-panel strong{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}.review-panel strong:before{content:"▸ ";color:var(--accent)}.review-panel>div:first-child span{font-size:12.5px;color:var(--muted)}.rating-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rating-row button{padding:9px 8px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);transition:background .14s,border-color .14s,box-shadow .14s,color .14s}.review-panel.is-enabled .rating-row button:nth-child(1){color:var(--err);border-color:color-mix(in srgb,var(--err) 32%,var(--border))}.review-panel.is-enabled .rating-row button:nth-child(2){color:var(--warn);border-color:color-mix(in srgb,var(--warn) 32%,var(--border))}.review-panel.is-enabled .rating-row button:nth-child(3){color:var(--accent);border-color:var(--accent-line)}.review-panel.is-enabled .rating-row button:nth-child(4){color:var(--ok);border-color:color-mix(in srgb,var(--ok) 32%,var(--border))}.review-panel.is-enabled .rating-row button:nth-child(1):hover{background:color-mix(in srgb,var(--err) 16%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--err) 30%,transparent)}.review-panel.is-enabled .rating-row button:nth-child(2):hover{background:color-mix(in srgb,var(--warn) 16%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--warn) 30%,transparent)}.review-panel.is-enabled .rating-row button:nth-child(3):hover{background:var(--accent-soft);box-shadow:var(--glow)}.review-panel.is-enabled .rating-row button:nth-child(4):hover{background:color-mix(in srgb,var(--ok) 16%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--ok) 30%,transparent)}.wk-empty{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding:8px 0}.problem-workspace{flex-direction:column;overflow:hidden}.learning-stagebar{flex:none;min-height:48px;display:flex;align-items:stretch;padding:0 10px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--bg-raised);scrollbar-width:none}.learning-stagebar::-webkit-scrollbar{display:none}.learning-stagebar button{position:relative;flex:0 0 auto;min-width:116px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;color:var(--muted);font-family:var(--mono)}.learning-stagebar button>span{width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;font-size:9px}.learning-stagebar button em{font-size:10px;font-style:normal;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.learning-stagebar button.is-active{color:var(--accent)}.learning-stagebar button.is-complete{color:var(--ok)}.learning-stagebar button.is-complete>span{border-color:color-mix(in srgb,var(--ok) 58%,var(--border));background:color-mix(in srgb,var(--ok) 10%,transparent)}.learning-stagebar button:disabled{opacity:.42;cursor:not-allowed}.learning-stagebar button.is-active:after{content:"";position:absolute;inset:auto 12px -1px;height:2px;background:var(--accent)}.learning-stagebar .learning-pause{min-width:auto;margin-left:auto;color:var(--faint)}.learning-stagebar .learning-pause:hover{color:var(--text)}.guided-stage-coach{position:relative;z-index:7;flex:none;min-width:0;display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:18px;padding:12px clamp(16px,2vw,28px);border-block:1px solid color-mix(in srgb,var(--accent-ink) 24%,transparent);background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 16%,transparent)}.guided-coach-marker{min-width:88px;display:grid;gap:5px;padding-right:18px;border-right:1px solid color-mix(in srgb,var(--accent-ink) 24%,transparent);font-family:var(--mono);text-transform:uppercase}.guided-coach-marker span,.guided-coach-location{color:var(--accent-ink);font:600 9px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.guided-coach-marker strong{color:color-mix(in srgb,var(--accent-ink) 72%,transparent);font-size:10px;letter-spacing:.04em}.guided-coach-copy{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:3px 12px}.guided-coach-location{grid-column:1 / -1;color:color-mix(in srgb,var(--accent-ink) 64%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guided-coach-copy>strong{align-self:baseline;color:var(--accent-ink);font:600 13px/1.35 var(--mono);white-space:nowrap}.guided-coach-copy p{min-width:0;margin:0;color:color-mix(in srgb,var(--accent-ink) 78%,transparent);font-size:12px;line-height:1.45}.guided-coach-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.guided-coach-primary,.guided-coach-secondary{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border-radius:var(--r-sm);font:600 10px/1 var(--mono);letter-spacing:.03em;white-space:nowrap}.guided-coach-primary{border:1px solid var(--accent-ink);background:var(--accent-ink);color:var(--accent)}.guided-coach-primary:hover:not(:disabled){filter:brightness(1.08)}.guided-coach-primary:disabled{opacity:.48;cursor:not-allowed}.guided-coach-secondary{border:1px solid color-mix(in srgb,var(--accent-ink) 38%,transparent);color:var(--accent-ink);background:color-mix(in srgb,var(--accent-ink) 9%,transparent)}.guided-coach-secondary:hover{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent-ink) 70%,transparent);background:color-mix(in srgb,var(--accent-ink) 15%,transparent)}.guided-coach-ready{display:inline-flex;align-items:center;gap:7px;color:var(--accent-ink);font:600 10px/1.3 var(--mono);white-space:nowrap}.guided-coach-blocker{color:color-mix(in srgb,var(--accent-ink) 72%,transparent);font:600 9px/1.3 var(--mono);white-space:nowrap}.guided-coach-toggle{display:none}.learning-workspace-body{flex:1;min-width:0;min-height:0;display:flex}.wk-plan-stage{max-width:700px;margin:0 auto;padding:clamp(24px,4vw,48px)}.wk-stage-kicker{color:var(--accent);font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.wk-plan-stage h2{margin:10px 0;color:var(--text);font:600 clamp(20px,3vw,28px)/1.25 var(--mono)}.wk-plan-stage>p{margin:0 0 20px;color:var(--muted);line-height:1.6}.wk-autosave{margin-left:8px;color:var(--faint);font-size:9px;font-style:normal;letter-spacing:.03em;text-transform:none}.wk-autosave.is-saved{color:var(--ok)}.wk-autosave.is-error{color:var(--err)}.wk-plan-dock{flex:none;border-bottom:1px solid var(--accent-line);background:color-mix(in srgb,var(--accent) 7%,var(--bg-raised))}.wk-editor-lock-note{flex:none;min-height:36px;display:flex;align-items:center;gap:7px;padding:7px 12px;border-bottom:1px solid var(--accent-line);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg-raised));font:600 9px/1.3 var(--mono);letter-spacing:.03em}.wk-editor.is-locked .wk-editor-body{opacity:.58}.wk-plan-dock-toggle{width:100%;min-height:36px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 12px;color:var(--muted);text-align:left}.wk-plan-dock-toggle>svg:first-child,.wk-plan-dock-toggle strong{color:var(--accent)}.wk-plan-dock-toggle strong{font:600 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.wk-plan-dock-toggle span{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.wk-plan-dock-toggle>svg:last-child{transition:transform .16s ease}.wk-plan-dock.is-expanded .wk-plan-dock-toggle>svg:last-child{transform:rotate(180deg)}.wk-plan-dock-body{display:flex;align-items:flex-start;gap:12px;padding:2px 12px 10px 34px}.wk-plan-dock-body p{flex:1;margin:0;color:var(--muted);font-size:11px;line-height:1.45;white-space:pre-wrap}.wk-plan-dock-body button{flex:none;display:inline-flex;align-items:center;gap:5px;color:var(--accent);font:600 9px/1.3 var(--mono)}.attempt-learning-summary,.reflection-bridge{margin:12px;padding:14px;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--panel)}.attempt-learning-summary.is-running{display:flex;align-items:flex-start;gap:10px;border-color:var(--accent-line)}.attempt-learning-summary.is-running>svg{flex:none;color:var(--accent)}.attempt-learning-summary.is-passed{border-color:color-mix(in srgb,var(--ok) 48%,var(--border))}.attempt-learning-summary.is-failed{border-color:color-mix(in srgb,var(--err) 48%,var(--border))}.attempt-summary-head,.reflection-bridge-head{display:flex;align-items:flex-start;gap:10px}.attempt-summary-head>svg,.reflection-bridge-head>svg{flex:none;margin-top:2px;color:var(--accent)}.attempt-learning-summary.is-passed .attempt-summary-head>svg{color:var(--ok)}.attempt-learning-summary.is-failed .attempt-summary-head>svg{color:var(--err)}.attempt-summary-head>div,.attempt-learning-summary.is-running>div,.reflection-bridge-head>div{min-width:0;display:grid;gap:3px}.attempt-summary-head span,.attempt-learning-summary.is-running span,.reflection-bridge-head span,.attempt-summary-compare span,.reflection-plan>span,.reflection-explanation>span{color:var(--faint);font:600 9px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase}.attempt-summary-head strong,.attempt-learning-summary.is-running strong,.reflection-bridge-head strong{color:var(--text);font:600 12px/1.35 var(--mono)}.attempt-summary-head p,.attempt-learning-summary.is-running p,.reflection-bridge>p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.attempt-summary-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.attempt-summary-compare>div,.reflection-plan,.reflection-explanation{min-width:0;padding:10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--term)}.attempt-summary-compare>div.is-counterexample{border-color:color-mix(in srgb,var(--err) 36%,var(--border))}.attempt-summary-compare>div.is-next{border-color:color-mix(in srgb,var(--ok) 34%,var(--border))}.attempt-summary-compare p,.reflection-plan p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45;white-space:pre-wrap}.attempt-summary-compare code{color:var(--text)}.reflection-bridge{display:grid;gap:11px;border-color:var(--accent-line);background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.reflection-bridge.is-failed{border-color:color-mix(in srgb,var(--err) 40%,var(--border));background:color-mix(in srgb,var(--err) 4%,var(--panel))}.reflection-explanation .lesson-prose{margin-top:7px;color:var(--muted);font-size:11px}.reflection-prompt{padding-left:10px;border-left:2px solid var(--accent);color:var(--text)!important}.wk-more-actions{position:relative}.wk-more-actions summary{min-width:38px;min-height:34px;display:flex;align-items:center;justify-content:center;gap:2px;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;list-style:none}.wk-more-actions summary::-webkit-details-marker{display:none}.wk-more-actions>div{position:absolute;top:calc(100% + 7px);right:0;z-index:20;width:178px;padding:6px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-raised);box-shadow:0 18px 45px #0000004d}.wk-more-actions>div button{width:100%;min-height:36px;display:flex;align-items:center;gap:9px;padding:7px 9px;color:var(--text);text-align:left;border-radius:6px;font:500 11px/1.2 var(--mono)}.wk-more-actions>div button:hover{background:var(--panel-soft)}.problem-workspace[data-stage=verify] .wk-reflect-content,.problem-workspace[data-stage=reflect] .wk-verify-content{display:none}@media(max-width:860px){.main-surface[data-view=problem]{overflow:hidden}.wk-scroll,.wk-desc,.wk-prompt{min-width:0}.wk-prompt pre,.wk-prompt code,.solution-code,.example-card pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.problem-workspace{height:100%;min-height:0;display:flex}.learning-stagebar{position:sticky;top:0;z-index:8;width:100%;min-height:44px;padding:0 6px;gap:2px}.learning-stagebar button{flex:1 1 0;min-width:0;gap:3px;padding:0 2px;border-radius:6px}.learning-stagebar button svg{display:none}.learning-stagebar button em{display:none}.learning-stagebar button>span{width:20px;height:20px;font-size:9px}.learning-stagebar button.is-active{flex:1.35 1 0;gap:7px;background:color-mix(in srgb,var(--accent) 7%,transparent)}.learning-stagebar button.is-active em{display:inline;font-size:9px;letter-spacing:.05em}.learning-stagebar button.is-active:after{inset-inline:8px}.learning-stagebar .learning-pause{flex:0 0 34px;margin-left:2px;border-left:1px solid var(--border)}.learning-stagebar .learning-pause svg{display:block}.learning-stagebar .learning-pause em{display:none}.guided-stage-coach{grid-template-columns:auto minmax(0,1fr);gap:8px 12px;padding:10px 44px 10px 12px;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 14%,transparent)}.guided-coach-toggle{position:absolute;top:6px;right:6px;width:32px;height:32px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent-ink) 24%,transparent);border-radius:var(--r-sm);color:var(--accent-ink);background:color-mix(in srgb,var(--accent-ink) 8%,transparent)}.guided-stage-coach.is-expanded .guided-coach-toggle svg{transform:rotate(180deg)}.guided-coach-marker{min-width:70px;padding-right:10px;grid-row:1}.guided-coach-copy{grid-row:1;display:block}.guided-coach-location{display:block;margin-bottom:3px;font-size:8px}.guided-coach-copy>strong{display:block;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.guided-coach-copy p{display:-webkit-box;margin-top:3px;overflow:hidden;font-size:10px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.guided-coach-actions{grid-column:1 / -1}.guided-coach-primary,.guided-coach-secondary{min-height:34px;padding:7px 10px}.guided-coach-actions .guided-coach-primary:last-child{flex:1}.guided-stage-coach.is-collapsed{min-height:48px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-block:7px}.guided-stage-coach.is-collapsed .guided-coach-marker,.guided-stage-coach.is-collapsed .guided-coach-location,.guided-stage-coach.is-collapsed .guided-coach-copy p,.guided-stage-coach.is-collapsed .guided-coach-blocker,.guided-stage-coach.is-collapsed .guided-coach-secondary{display:none}.guided-stage-coach.is-collapsed .guided-coach-copy{grid-column:1;grid-row:1}.guided-stage-coach.is-collapsed .guided-coach-copy>strong{font-size:10px}.guided-stage-coach.is-collapsed .guided-coach-actions{grid-column:2;grid-row:1}.guided-stage-coach.is-collapsed .guided-coach-primary{flex:none;min-height:30px;padding:6px 8px;font-size:8px}.guided-stage-coach.is-collapsed .guided-coach-primary svg{display:none}.learning-workspace-body{flex:1;height:auto;min-height:0}.learning-workspace-body>.problem-main-split,.problem-main-split>.split-pane-start,.problem-main-split>.split-pane-end,.problem-code-split,.problem-code-split>.split-pane-start,.problem-code-split>.split-pane-end{height:100%;min-height:0}.learning-workspace-body>.problem-main-split,.wk-right>.problem-code-split{flex-direction:column}.problem-workspace .split-divider{display:none}.problem-workspace[data-stage=understand] .problem-main-split>.split-pane-start,.problem-workspace[data-stage=plan] .problem-main-split>.split-pane-start,.problem-workspace[data-stage=code] .problem-main-split>.split-pane-end,.problem-workspace[data-stage=verify] .problem-main-split>.split-pane-end,.problem-workspace[data-stage=reflect] .problem-main-split>.split-pane-end,.problem-workspace[data-stage=code] .problem-code-split>.split-pane-start,.problem-workspace[data-stage=verify] .problem-code-split>.split-pane-end,.problem-workspace[data-stage=reflect] .problem-code-split>.split-pane-end{display:flex;flex:1 1 auto!important}.problem-workspace[data-stage=understand] .problem-main-split>.split-pane-end,.problem-workspace[data-stage=plan] .problem-main-split>.split-pane-end,.problem-workspace[data-stage=code] .problem-main-split>.split-pane-start,.problem-workspace[data-stage=verify] .problem-main-split>.split-pane-start,.problem-workspace[data-stage=reflect] .problem-main-split>.split-pane-start,.problem-workspace[data-stage=code] .problem-code-split>.split-pane-end,.problem-workspace[data-stage=verify] .problem-code-split>.split-pane-start,.problem-workspace[data-stage=reflect] .problem-code-split>.split-pane-start{display:none}.wk-panel,.wk-editor,.wk-results{height:100%;min-height:0}.wk-scroll,.wk-results-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.wk-editor{flex-direction:column}.wk-mobile-editor-context{order:0;flex:none;min-width:0;height:32px;display:flex;align-items:center;gap:6px;padding:0 10px;overflow:hidden;border-bottom:1px solid var(--border);color:var(--faint);background:var(--editor-bg);font:600 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.wk-mobile-editor-context strong{min-width:0;overflow:hidden;color:var(--text);font:inherit;text-overflow:ellipsis;white-space:nowrap}.wk-mobile-editor-context em{flex:none;color:var(--accent);font:inherit}.wk-plan-dock{order:0}.wk-editor-body{order:1;flex:1;height:auto;min-height:0}.wk-actionbar{order:2;z-index:6;min-height:50px;padding:6px 8px;border-top:1px solid var(--border-strong);border-bottom:0}html[data-kb-open] .wk-actionbar{display:none}.wk-lang{font-size:0}.wk-lang:before{display:none}.wk-autosave{margin:0;font-size:8px}.wk-actions{flex-wrap:nowrap;gap:5px}.wk-actions>button{min-height:36px;padding-inline:10px;font-size:10px}.wk-more-actions>div{top:auto;right:0;bottom:calc(100% + 7px)}.wk-plan-stage{padding:24px 18px 90px}.wk-tabbar{padding-inline:2px}.wk-tab{padding-inline:9px;font-size:9px}.wk-results-scroll{padding-bottom:80px}.attempt-summary-compare{grid-template-columns:1fr}.attempt-learning-summary,.reflection-bridge{margin:10px;padding:12px}}@media(max-width:390px){.wk-actions>button{padding-inline:7px}.wk-primary-run svg,.test-button svg{display:none}}.wk-code-mode-toggle{order:0;flex:none;display:flex;align-items:center;gap:3px;min-height:42px;padding:4px 7px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--bg-raised);scrollbar-width:none}.wk-code-mode-toggle::-webkit-scrollbar{display:none}.wk-code-mode-toggle button{flex:1 0 auto;min-width:78px;min-height:34px;padding:7px 10px;border:1px solid transparent;border-radius:var(--r-sm);color:var(--muted);font:600 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;transition:color .14s,border-color .14s,background .14s}.wk-code-mode-toggle button:hover,.wk-code-mode-toggle button:focus-visible{color:var(--text);border-color:var(--border-strong)}.wk-code-mode-toggle button.is-active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.wk-code-mode-toggle button:focus-visible,.exercise-board button:focus-visible,.exercise-board-state button:focus-visible{outline:none;box-shadow:var(--ring)}.exercise-board,.exercise-board-state{width:100%;height:100%;min-height:0;color:var(--text);background:var(--editor-bg)}.exercise-board{display:flex;flex-direction:column}.exercise-board-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px}.exercise-board-state{display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;color:var(--muted);font:500 12px/1.5 var(--mono);text-align:center}.exercise-board-state.is-error{flex-direction:column;color:var(--err)}.exercise-board-state p{max-width:36rem;margin:0}.exercise-board-state button{min-width:88px;min-height:44px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);background:var(--panel-soft);font:600 11px/1 var(--mono)}.exercise-spinner{flex:none;animation:exercise-spin .8s linear infinite}@keyframes exercise-spin{to{transform:rotate(360deg)}}.parsons-preamble{margin:0 0 10px;padding:11px 12px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);background:var(--panel);font:400 12.5px/1.55 var(--mono);white-space:pre;-webkit-user-select:none;user-select:none;pointer-events:none}.parsons-instructions{margin:0 2px 10px;color:var(--faint);font:500 10px/1.5 var(--mono)}.parsons-list{display:flex;flex-direction:column;gap:6px;min-width:0}.parsons-list.is-reordering{-webkit-user-select:none;user-select:none}.parsons-row{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:stretch;overflow:hidden;border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--r-sm);color:var(--text);background:var(--panel);transition:border-color .14s,background .14s}.parsons-row.is-selected,.parsons-row.is-indenting{border-color:var(--accent);background:var(--accent-soft)}.parsons-row.is-prefix-correct{border-left-color:var(--ok)}.parsons-row.is-drag-ghost{z-index:40;border-color:var(--accent);background:var(--panel-soft);box-shadow:var(--glow-soft)}.parsons-drop-placeholder{min-height:52px;display:block;border:1px dashed var(--accent);border-radius:var(--r-sm);background:var(--accent-soft)}.parsons-drag-handle{width:44px;min-height:44px;display:grid;place-items:center;align-self:stretch;border-right:1px solid var(--border);color:var(--faint);cursor:grab;touch-action:none}.parsons-drag-handle:active{color:var(--accent);cursor:grabbing}.parsons-row-body{position:relative;min-width:0;min-height:50px;display:flex;align-items:center;overflow:hidden;cursor:ew-resize;touch-action:pan-y}.parsons-row-body code{position:relative;z-index:1;min-width:0;display:block;overflow:hidden;padding-right:8px;color:inherit;font:400 12.5px/1.5 var(--mono);text-overflow:ellipsis;white-space:nowrap;transition:padding-left .12s}.parsons-indent-guides{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.parsons-indent-guides i{position:absolute;top:7px;bottom:7px;width:1px;background:var(--border-strong)}.parsons-indent-controls{display:flex;align-items:stretch;border-left:1px solid var(--border)}.parsons-indent-controls button{width:44px;min-height:44px;display:grid;place-items:center;color:var(--accent);background:var(--panel-soft)}.parsons-indent-controls button+button{border-left:1px solid var(--border)}.parsons-indent-controls button:disabled{color:var(--faint);opacity:.42}.exercise-board-footer{flex:none;display:grid;gap:8px;padding:10px 12px;border-top:1px solid var(--border-strong);background:var(--bg-raised)}.exercise-feedback{min-height:28px;display:flex;align-items:center;gap:7px;margin:0;padding:6px 9px;border-left:2px solid var(--warn);border-radius:var(--r-sm);color:var(--muted);background:color-mix(in srgb,var(--warn) 7%,var(--panel));font:500 10.5px/1.45 var(--mono)}.exercise-feedback.is-success{border-left-color:var(--ok);color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--panel))}.exercise-feedback.is-error{border-left-color:var(--err);color:var(--err);background:color-mix(in srgb,var(--err) 7%,var(--panel))}.exercise-board-actions{display:flex;gap:8px}.exercise-check-button,.exercise-load-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border:1px solid var(--accent);border-radius:var(--r-sm);font:600 11px/1 var(--mono)}.exercise-check-button{flex:1 1 auto;color:var(--accent);background:var(--accent-soft)}.exercise-load-button{flex:1 1 auto;color:var(--accent-ink);background:var(--accent)}.exercise-check-button:disabled,.exercise-load-button:disabled{cursor:not-allowed;opacity:.45}.blanks-template{min-width:max-content;padding:14px;border:1px solid var(--border);border-radius:var(--r);color:var(--text);background:var(--panel);font:400 12.5px/2.2 var(--mono);white-space:pre-wrap;-moz-tab-size:4;tab-size:4}.blanks-chip{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin:1px 2px;padding:5px 9px;vertical-align:middle;border:1px dashed var(--border-strong);border-radius:var(--r-sm);color:var(--faint);background:var(--bg-raised);font:600 12.5px/1 var(--mono)}.blanks-chip.is-filled{border-style:solid;color:var(--text);background:var(--panel-soft)}.blanks-chip.is-selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--glow)}.blanks-chip.is-correct{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb,var(--ok) 9%,var(--panel));box-shadow:none}.blanks-chip.is-incorrect{border-color:var(--err);color:var(--err);background:color-mix(in srgb,var(--err) 8%,var(--panel));box-shadow:none}.blanks-bank{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-raised)}.blanks-bank-label{color:var(--muted);font:600 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.blanks-bank>div{display:flex;flex-wrap:wrap;gap:7px}.blanks-bank button{min-width:44px;min-height:44px;padding:7px 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);background:var(--panel-soft);font:600 12px/1 var(--mono)}.blanks-bank button:not(:disabled):hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.blanks-bank button.is-used{color:var(--faint);background:var(--panel);opacity:.38}.auth-surface{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth-panel{position:relative;width:min(420px,100%);display:flex;flex-direction:column;gap:16px;padding:30px 28px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--glow-soft),0 30px 70px #00000073;overflow:hidden}.auth-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2) 90%)}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:2px}.auth-brand .brand{font-size:20px}.auth-tagline{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.auth-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm)}.auth-toggle button{padding:9px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-radius:6px;transition:background .14s,color .14s}.auth-toggle button:hover:not(.is-active){color:var(--text)}.auth-toggle button.is-active{color:var(--accent-ink);background:var(--accent)}.auth-panel label{display:block}.auth-panel .primary-action{width:100%;margin-top:6px}.notes-page{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.note-selector{display:flex;flex-direction:column}.note-selector .queue-list{max-height:calc(100vh - 260px);overflow-y:auto;margin:0 -6px;padding:0 6px}.note-editor{display:flex;flex-direction:column;gap:14px}.note-editor>.muted{font-size:13.5px;line-height:1.65}.note-editor textarea{min-height:320px}.note-editor .note-actions{display:flex;align-items:center;gap:10px}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-cell{display:flex;flex-direction:column;gap:8px;padding:17px 19px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg)}.stat-cell>span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.stat-cell strong{font-family:var(--mono);font-size:clamp(26px,4vw,32px);font-weight:700;line-height:1;color:var(--text)}.queue-block .queue-list{margin:0 -6px}@media(max-width:820px){.notes-page{grid-template-columns:1fr}.note-selector .queue-list{max-height:320px}}@media(max-width:620px){.stats-strip{grid-template-columns:repeat(2,1fr)}}.progress-tabs,.learn-subnav{display:flex;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:4px;overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-raised);scrollbar-width:none}.progress-tabs::-webkit-scrollbar,.learn-subnav::-webkit-scrollbar{display:none}.progress-tabs a,.learn-subnav a{flex:0 0 auto;min-height:35px;display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:7px;color:var(--muted);font:600 10px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase}.progress-tabs a:hover,.learn-subnav a:hover{color:var(--text)}.progress-tabs a.is-active,.learn-subnav a.is-active{color:var(--accent);background:var(--accent-soft)}.notes-page-wrap{width:100%;display:grid;gap:20px}@media(max-width:560px){.progress-tabs,.learn-subnav{width:100%}.progress-tabs a,.learn-subnav a{flex:1 0 auto;justify-content:center}}.practice-home{display:flex;flex-direction:column;gap:20px}.page-scroll>.practice-home,.page-scroll>.session-complete{max-width:1220px;margin-inline:auto}.practice-head .eyebrow{display:block;margin-bottom:8px}.practice-head h1.practice-title{font-family:var(--mono);font-size:clamp(22px,3.5vw,30px);font-weight:600;letter-spacing:-.01em;display:inline-flex;align-items:baseline}.practice-head p{margin-top:6px;color:var(--muted);font-size:13.5px}.path-nudge{display:flex;align-items:center;gap:10px;padding:10px 14px;font-family:var(--sans);font-size:13px;color:var(--text);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-sm)}.path-nudge>svg:first-child{flex:none;color:var(--accent)}.path-nudge span{flex:1;line-height:1.5}.path-nudge a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.path-nudge-dismiss{flex:none;display:inline-flex;padding:4px;color:var(--muted);border-radius:var(--r-sm);transition:color .14s,background .14s}.path-nudge-dismiss:hover{color:var(--text);background:var(--panel-soft)}.practice-readout{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.q-stat{display:flex;flex-direction:column;gap:10px;padding:15px 16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg)}.q-stat-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.q-stat-label svg{width:13px;height:13px;color:var(--faint)}.q-stat-value{font-family:var(--mono);font-size:clamp(24px,3.4vw,30px);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--text)}.q-stat.is-warn{border-color:color-mix(in srgb,var(--warn) 28%,var(--border))}.q-stat.is-warn .q-stat-value{color:var(--warn)}.q-stat.is-accent{border-color:var(--accent-line)}.q-stat.is-accent .q-stat-value{color:var(--accent);text-shadow:0 0 16px rgba(34,211,238,.35)}.q-stat.is-flame .q-stat-value{color:var(--warn)}.q-stat.is-flame .q-stat-label svg{color:var(--warn)}.practice-launch{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,340px);gap:16px;align-items:stretch}.practice-launch-cta{position:relative;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg)}.practice-launch-cta:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 60%)}.start-session{display:inline-flex;align-items:center;justify-content:center;gap:12px;align-self:stretch;padding:17px 22px;font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r);box-shadow:var(--glow);transition:box-shadow .18s,filter .18s,transform .05s}.start-session:hover{filter:brightness(1.07);box-shadow:0 0 0 1px #22d3ee80,0 0 28px #22d3ee52}.start-session:active{transform:translateY(1px)}.start-session svg{color:var(--accent-ink)}.start-bracket{color:var(--accent-ink);opacity:.5}.start-session.is-clear{flex-direction:column;gap:6px;color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 34%,transparent);box-shadow:none;cursor:default;letter-spacing:.16em}.start-session.is-clear svg{color:var(--ok)}.start-session.is-clear small{font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--muted)}.practice-launch-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.practice-launch-est{color:var(--accent)}.practice-endlink{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);text-decoration:underline dotted;text-underline-offset:3px;transition:color .14s}.practice-endlink:hover{color:var(--err)}.forecast-strip{display:flex;flex-direction:column;gap:12px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg)}.forecast-title{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.forecast-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;flex:1}.forecast-col{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.forecast-count{height:13px;font-family:var(--mono);font-size:10px;color:var(--muted)}.forecast-bar-track{width:100%;height:68px;display:flex;align-items:flex-end;justify-content:center}.forecast-bar{width:62%;max-width:22px;min-height:2px;border-radius:3px 3px 0 0;background:color-mix(in srgb,var(--accent) 52%,var(--panel));transition:height .3s ease}.forecast-bar.is-today{background:var(--accent);box-shadow:0 0 10px #22d3ee73}.forecast-bar.is-zero{background:var(--border-strong)}.forecast-day{font-family:var(--mono);font-size:9px;letter-spacing:.03em;text-transform:uppercase;color:var(--faint)}.forecast-day.is-today{color:var(--accent)}.practice-cols{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:start}.nextup-list{display:flex;flex-direction:column;gap:2px}.nextup-row{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text);border:1px solid transparent;border-radius:var(--r-sm);transition:background .13s,border-color .13s}.nextup-row.is-action{width:100%;background:none;font:inherit;text-align:left;cursor:pointer}.nextup-row:hover{background:var(--panel-soft);border-color:var(--border)}.nextup-dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:var(--r-sm)}.nextup-dot.is-due{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent);border:1px solid color-mix(in srgb,var(--warn) 32%,transparent)}.nextup-dot.is-new{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line)}.nextup-dot.is-resume{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent)}.nextup-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.nextup-main strong{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nextup-main small{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:capitalize}.nextup-row .difficulty-chip{flex:none}.nextup-chev{color:var(--faint);flex:none}.session-banner{flex:none;position:relative;z-index:4;display:flex;align-items:center;gap:14px;height:44px;padding:0 clamp(12px,2vw,20px);background:linear-gradient(90deg,var(--accent-soft),transparent 55%),var(--bg-raised);border-bottom:1px solid var(--accent-line)}.session-banner-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-pill);flex:none}.session-banner-count{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text);flex:none}.session-banner-count em{color:var(--faint);font-style:normal;margin:0 2px}.session-banner-track{position:relative;flex:0 1 180px;height:4px;background:var(--border);border-radius:var(--r-pill);overflow:hidden}.session-banner-fill{position:absolute;left:0;top:0;bottom:0;z-index:1;background:var(--accent);border-radius:var(--r-pill);transition:width .25s ease}.session-banner-fill.is-live{z-index:0;opacity:.32}.session-banner-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.session-banner-meta strong{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-banner-meta small{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:capitalize}.session-banner-dots{display:flex;align-items:center;gap:4px;flex:none}.session-dot{width:7px;height:7px;border-radius:50%;background:var(--border-strong)}.session-dot.is-current{background:transparent;box-shadow:0 0 0 1.5px var(--accent)}.session-dot.is-again{background:var(--err)}.session-dot.is-hard{background:var(--warn)}.session-dot.is-good{background:var(--accent)}.session-dot.is-easy{background:var(--ok)}.session-banner-exit{display:inline-flex;align-items:center;gap:6px;flex:none;padding:6px 10px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);transition:color .14s,border-color .14s}.session-banner-exit:hover{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,var(--border))}.session-wrapup{position:absolute;inset:calc(100% + 8px) 12px auto auto;z-index:24;display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:9px;color:var(--text);background:var(--panel);box-shadow:0 14px 36px #00000047;font:500 10px/1.3 var(--mono)}.session-wrapup>svg{color:var(--accent)}.session-wrapup button{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:6px;color:var(--accent);background:var(--accent-soft);white-space:nowrap}@media(max-width:720px){.session-wrapup{position:static;flex:none;margin-left:auto;padding:0;border:0;background:transparent;box-shadow:none}.session-wrapup>svg,.session-wrapup>span{display:none}.session-wrapup button{min-height:28px}}@media(max-width:560px){.session-wrapup button{width:30px;padding:0;justify-content:center}.session-wrapup button span{display:none}}.session-complete{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 0}.session-complete-card{position:relative;width:min(520px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;padding:34px 30px;overflow:hidden;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--glow-soft),0 30px 70px #00000073}.session-complete-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2) 90%)}.session-complete-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r)}.session-complete-card .eyebrow{margin-top:2px}.session-complete-card h1{font-family:var(--mono);font-size:clamp(20px,3vw,25px);font-weight:600}.session-complete-card>p{color:var(--muted);font-size:13.5px;max-width:40ch}.session-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;margin-top:6px}.session-breakdown-cell{display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 8px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm)}.session-breakdown-cell strong{font-family:var(--mono);font-size:22px;font-weight:700;line-height:1}.session-breakdown-cell span{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.session-breakdown-cell.is-again strong{color:var(--err)}.session-breakdown-cell.is-hard strong{color:var(--warn)}.session-breakdown-cell.is-good strong{color:var(--accent)}.session-breakdown-cell.is-easy strong{color:var(--ok)}.session-role-breakdown{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.session-role-breakdown span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm)}.session-role-breakdown strong{color:var(--text)}.session-complete-streak{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.session-complete-streak svg{color:var(--warn)}.session-complete-streak strong{color:var(--text)}.session-complete-card .primary-action{margin-top:6px}.session-outcomes{width:100%;display:grid;gap:7px;padding:12px 14px;border-block:1px solid var(--border)}.session-outcomes span{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font:500 11px/1.4 var(--mono)}.session-outcomes svg{color:var(--accent)}.session-outcomes strong{color:var(--text)}.session-complete-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px}.session-complete-actions>*{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;margin:0!important}@media(max-width:480px){.session-complete-actions{grid-template-columns:1fr}}.check-panel{display:flex;flex-direction:column;gap:12px;padding:14px 12px}.run-console-panel{display:flex;flex-direction:column;gap:10px;padding:14px 12px 0}.check-banner{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:6px 12px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-raised);color:var(--muted)}.check-banner.is-accepted{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 34%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--ok) 24%,transparent)}.check-banner.is-rejected{color:var(--err);background:color-mix(in srgb,var(--err) 14%,transparent);border-color:color-mix(in srgb,var(--err) 34%,transparent)}.check-banner.is-running{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.check-tally{margin-left:6px;font-weight:500;letter-spacing:.04em;color:var(--muted)}.check-spark{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #22d3ee99;animation:check-pulse .9s ease-in-out infinite}@keyframes check-pulse{0%,to{opacity:.3}50%{opacity:1}}.check-hint{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--muted)}.check-hint strong{color:var(--accent)}.check-chips{display:flex;flex-wrap:wrap;gap:6px}.check-chip{display:inline-flex;align-items:center;gap:6px;max-width:180px;padding:5px 10px;font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .14s,color .14s,background .14s}.check-chip:disabled{opacity:1;cursor:default}.check-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-chip.is-fail{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,var(--border))}.check-chip.is-error{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.check-chip.is-hidden{color:var(--faint)}.check-chip.is-pass svg{color:var(--ok)}.check-chip.is-fail svg{color:var(--err)}.check-chip.is-error svg{color:var(--warn)}.check-chip.is-active{color:var(--text);background:var(--accent-soft);border-color:var(--accent-line)}.check-detail{display:flex;flex-direction:column;gap:10px;padding:12px;background:color-mix(in srgb,var(--bg) 55%,var(--term));border:1px solid var(--border);border-left:2px solid var(--border-strong);border-radius:var(--r-sm)}.check-detail.is-pass{border-left-color:var(--ok)}.check-detail.is-fail{border-left-color:var(--err)}.check-detail.is-error{border-left-color:var(--warn)}.check-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.check-detail-name{font-family:var(--mono);font-size:12px;color:var(--text)}.check-detail-status{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:2px 8px;border-radius:var(--r-pill);border:1px solid transparent}.check-detail-status.is-pass{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 32%,transparent)}.check-detail-status.is-fail{color:var(--err);background:color-mix(in srgb,var(--err) 14%,transparent);border-color:color-mix(in srgb,var(--err) 32%,transparent)}.check-detail-status.is-error{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:color-mix(in srgb,var(--warn) 32%,transparent)}.check-io{display:flex;flex-direction:column;gap:5px}.check-io-label{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.check-args{display:flex;flex-direction:column;gap:4px}.check-args code,.check-expected,.check-actual{display:block;font-family:var(--mono);font-size:12.5px;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);padding:7px 9px;white-space:pre-wrap;word-break:break-word}.check-args code em{color:var(--accent);font-style:normal}.check-expected,.check-actual.is-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 24%,var(--border))}.check-actual.is-bad{color:var(--err);border-color:color-mix(in srgb,var(--err) 26%,var(--border))}.check-error{font-family:var(--mono);font-size:11.5px;line-height:1.55;color:var(--err);background:color-mix(in srgb,var(--err) 8%,var(--term));border:1px solid color-mix(in srgb,var(--err) 26%,var(--border));border-radius:var(--r-sm);padding:10px;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.complexity-form{display:flex;flex-direction:column;gap:12px;padding:16px 12px;border-top:1px solid var(--border);animation:complexity-slide .28s ease both}@keyframes complexity-slide{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.complexity-head{display:flex;flex-direction:column;gap:3px}.complexity-head strong{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}.complexity-head strong svg{color:var(--accent)}.complexity-head span{font-size:12.5px;color:var(--muted)}.complexity-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.complexity-field{display:flex;flex-direction:column;gap:6px}.complexity-field>span{margin-bottom:0}.complexity-field input{font-family:var(--mono)}.complexity-verdict{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;min-height:15px}.complexity-verdict.is-empty{color:var(--faint)}.complexity-verdict.is-ok{color:var(--accent)}.complexity-verdict.is-bad{color:var(--err)}.complexity-verdict em{font-style:normal;color:var(--muted)}.complexity-actions{display:flex;align-items:center;gap:14px}.complexity-skip{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);text-decoration:underline dotted;text-underline-offset:3px;transition:color .14s}.complexity-skip:hover:not(:disabled){color:var(--text)}.rating-cap-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--warn)}.rating-row button.is-capped{opacity:.28}@media(max-width:1000px){.practice-readout{grid-template-columns:repeat(3,1fr)}.practice-launch,.practice-cols{grid-template-columns:1fr}}@media(max-width:720px){.session-banner{height:38px;gap:8px;padding-inline:10px}.session-banner-badge{padding:2px 7px;font-size:8.5px}.session-banner-count{font-size:11px}.session-banner-track{flex-basis:64px}.session-banner-exit{padding:5px 7px;font-size:9px}.session-banner-meta,.session-banner-dots{display:none}}@media(max-width:560px){.practice-readout{grid-template-columns:repeat(2,1fr)}.complexity-fields{grid-template-columns:1fr}.session-breakdown{grid-template-columns:repeat(2,1fr)}}.today-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:24px 0 70px}.today-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px}.today-head h1{margin:0;color:var(--text-strong);font:600 clamp(30px,4vw,46px)/1.05 var(--mono);letter-spacing:-.045em}.today-head p{max-width:700px;margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.today-path-link,.today-path-nudge{display:flex;align-items:center;gap:8px;color:var(--cyan);font:500 12px/1 var(--mono)}.today-path-link{padding:10px 0;white-space:nowrap}.today-path-nudge{min-height:54px;margin-bottom:10px;padding:9px 14px;border:1px solid color-mix(in srgb,var(--cyan) 32%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--cyan) 6%,var(--surface))}.today-path-nudge span{flex:1}.today-path-nudge strong,.today-path-nudge small{display:block}.today-path-nudge strong{margin-bottom:5px;color:var(--text-strong);font:600 13px/1.2 var(--sans)}.today-path-nudge small{color:var(--muted);font:400 12px/1.35 var(--sans)}.today-signal-strip{display:grid;grid-template-columns:.7fr 2fr .9fr .8fr .9fr;margin-bottom:12px;border-block:1px solid var(--border)}.today-signal-strip>div{min-width:0;padding:10px 18px;border-right:1px solid var(--border)}.today-signal-strip>div:first-child{padding-left:0}.today-signal-strip>div:last-child{border-right:0}.today-signal-strip span,.today-signal-strip small{display:flex;align-items:center;gap:5px;color:var(--muted);font:500 10px/1.25 var(--mono);letter-spacing:.07em;text-transform:uppercase}.today-signal-strip strong{display:block;margin-top:5px;overflow:hidden;color:var(--text-strong);font:600 19px/1.15 var(--mono);text-overflow:ellipsis;white-space:nowrap}.today-signal-strip strong small{display:inline;font-size:9px}.today-signal-strip .is-focus strong{font-size:15px}.today-signal-strip .is-focus small{margin-top:4px;font-size:9px}.session-coach{display:grid;grid-template-columns:minmax(0,1fr) 290px;overflow:hidden;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);box-shadow:0 22px 58px #00000029}.session-coach-main{padding:clamp(20px,2.5vw,26px)}.session-coach-title{display:flex;justify-content:space-between;gap:20px;color:var(--cyan)}.session-coach-title span{color:var(--muted);font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.session-coach-title h2{margin:8px 0 0;color:var(--text-strong);font:600 clamp(19px,2.5vw,27px)/1.2 var(--mono);letter-spacing:-.025em}.session-coach-title small{display:block;margin-top:6px;color:var(--muted);font:500 10px/1.3 var(--mono)}.today-duration{display:inline-grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:5px;margin:16px 0 12px;padding:4px;border:1px solid var(--border);border-radius:11px;background:var(--bg)}.today-duration button{display:flex;align-items:baseline;justify-content:center;gap:5px;min-height:38px;padding:8px 13px;border:0;border-radius:7px;color:var(--muted);background:transparent}.today-duration button.is-selected{color:var(--bg);background:var(--cyan);box-shadow:0 5px 18px color-mix(in srgb,var(--cyan) 18%,transparent)}.today-duration strong{font:700 16px/1 var(--mono)}.today-duration span{font:600 9px/1 var(--mono);text-transform:uppercase}.session-plan-list{display:grid;margin:3px 0 14px;border-top:1px solid var(--border)}.session-plan-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:6px 2px;border-bottom:1px solid var(--border);color:var(--text)}a.session-plan-row:hover strong{color:var(--cyan)}.session-plan-status{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;color:var(--cyan);font:600 10px/1 var(--mono)}.session-plan-row>span:nth-child(2){min-width:0}.session-plan-row strong,.session-plan-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-plan-row strong{color:var(--text-strong);font:600 13px/1.25 var(--sans)}.session-plan-row small{margin-top:5px;color:var(--muted);font:500 10px/1.2 var(--mono);text-transform:uppercase}.session-plan-row em{color:var(--muted);font:500 10px/1 var(--mono)}.session-plan-row.is-done{opacity:.56}.session-plan-row.is-done strong{text-decoration:line-through}.session-empty{display:flex;align-items:center;gap:12px;min-height:80px;color:var(--success)}.session-empty strong,.session-empty small{display:block}.session-empty strong{color:var(--text-strong)}.session-empty small{margin-top:4px;color:var(--muted)}.session-coach .start-session{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;color:var(--bg);background:var(--cyan);font:700 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.session-coach .start-session:hover{transform:translateY(-1px);box-shadow:0 10px 30px color-mix(in srgb,var(--cyan) 20%,transparent)}.session-coach .start-session.is-link{text-decoration:none}.session-coach-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.session-coach-aside{padding:26px 24px;border-left:1px solid var(--border);color:var(--cyan);background:color-mix(in srgb,var(--surface-raised) 82%,var(--bg))}.session-coach-aside h3{margin:16px 0 10px;color:var(--text-strong);font:600 15px/1.25 var(--mono)}.session-coach-aside p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.session-composition{display:grid;gap:8px;margin:22px 0}.session-composition span{display:flex;align-items:baseline;gap:6px;color:var(--muted);font:500 10px/1 var(--mono);text-transform:uppercase}.session-composition strong{color:var(--text-strong);font-size:15px}.session-coach-aside .session-soft-timer{display:flex;gap:8px;padding-top:18px;border-top:1px solid var(--border);font-size:11px}.session-soft-timer svg{flex:0 0 auto;margin-top:2px;color:var(--cyan)}.today-details{margin-top:18px;border-bottom:1px solid var(--border)}.today-details summary{display:flex;align-items:center;gap:8px;padding:15px 0;color:var(--muted);cursor:pointer;list-style:none;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.today-details summary::-webkit-details-marker{display:none}.today-details[open] summary svg{transform:rotate(90deg)}.today-details-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px;padding-bottom:18px}@media(max-width:900px){.today-signal-strip{grid-template-columns:1fr 2fr 1fr 1fr}.today-signal-strip>div:nth-child(5){display:none}.session-coach{grid-template-columns:1fr}.session-coach-aside{border-top:1px solid var(--border);border-left:0}}@media(max-width:620px){.today-page{width:min(100% - 28px,1180px);padding:24px 0 100px}.today-head{align-items:flex-start}.today-head h1{font-size:30px}.today-path-link{display:none}.today-signal-strip{grid-template-columns:1fr 1fr}.today-signal-strip>div{padding:13px 10px;border-bottom:1px solid var(--border)}.today-signal-strip>div:nth-child(2n){border-right:0}.today-signal-strip>div:first-child{padding-left:10px}.today-signal-strip .is-focus{grid-column:1 / -1;grid-row:1;border-right:0}.session-coach{border-radius:13px}.session-coach-main{padding:20px 16px}.today-duration{width:100%;grid-template-columns:repeat(3,1fr)}.today-duration button{padding-inline:4px}.session-plan-row{grid-template-columns:27px minmax(0,1fr) auto}.session-coach-aside{padding:22px 18px}.today-details-grid{grid-template-columns:1fr}}.area-head{max-width:1180px;margin:0 auto 26px}.area-head .eyebrow{display:block;margin-bottom:9px}.area-head h1{font-family:var(--mono);font-size:clamp(21px,3vw,28px);font-weight:600;letter-spacing:-.01em}.area-head>p{margin-top:7px;max-width:62ch;color:var(--muted);font-size:14px}.area-inline-error{max-width:1180px;margin:0 auto 18px;padding:10px 14px;font-family:var(--mono);font-size:12.5px;color:var(--err);background:color-mix(in srgb,var(--err) 10%,transparent);border:1px solid color-mix(in srgb,var(--err) 34%,var(--border));border-radius:var(--r-sm)}.paths-page,.sysdesign-page,.path-detail,.lesson-page{max-width:1180px;margin-inline:auto}.paths-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;max-width:1180px;margin-inline:auto}.path-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:border-color .16s,transform .16s,box-shadow .16s}.path-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.path-card.is-active{border-color:var(--accent-line);box-shadow:var(--glow-soft)}.path-card.is-active:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 75%)}.path-card-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.path-card-top,.path-card-desc,.path-card-meta{position:relative;z-index:0;pointer-events:none}.path-card-actions{position:relative;z-index:2}.path-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.path-card-headings{display:flex;flex-direction:column;gap:8px;min-width:0}.path-card-title{font-family:var(--mono);font-size:17px;font-weight:600;letter-spacing:-.01em}.path-active-badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:3px 9px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-pill)}.path-card-desc .md{font-size:13px;color:var(--muted);line-height:1.6}.path-card-desc .md p{margin:0}.path-card-meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:auto;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.path-card-meta span{display:inline-flex;align-items:center;gap:6px}.path-card-meta svg{color:var(--accent);opacity:.85}.path-card-actions{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.path-open{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);transition:color .14s,gap .14s}.path-open:hover{color:var(--accent);gap:8px}.path-activate{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text);background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .14s,color .14s,background .14s,box-shadow .16s}.path-activate:hover:not(:disabled){border-color:var(--accent-line);color:var(--accent-strong)}.path-activate.is-active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);box-shadow:var(--glow)}.path-activate.is-active svg{color:var(--accent-ink)}.path-activate:disabled{opacity:.55}.progress-ring{flex:none}.progress-ring-track{stroke:var(--border)}.progress-ring-value{stroke:var(--accent);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 55%,transparent));transition:stroke-dashoffset .5s ease}.progress-ring.is-complete .progress-ring-value{stroke:var(--ok);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--ok) 55%,transparent))}.progress-ring-label{fill:var(--text);font-family:var(--mono);font-size:12px;font-weight:700}.path-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.path-detail-head-main{min-width:0;flex:1 1 380px}.path-detail-desc .md{margin-top:8px;font-size:13.5px;color:var(--muted)}.path-detail-desc .md p{margin:0}.path-detail-head-aside{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex:none}.path-detail-progress{display:flex;flex-direction:column;gap:6px;width:240px;max-width:100%}.path-detail-progress-bar{height:8px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-pill);overflow:hidden}.path-detail-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-strong));box-shadow:0 0 10px color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--r-pill);transition:width .5s ease}.path-detail-progress-label{font-family:var(--mono);font-size:11.5px;color:var(--muted);text-align:right}.path-detail-progress-label strong{color:var(--text)}.nextup-strip{display:flex;align-items:center;gap:14px;margin:22px 0;padding:14px 16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);overflow-x:auto}.nextup-strip-label{display:inline-flex;align-items:center;gap:6px;flex:none;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.nextup-strip-items{display:flex;gap:10px}.nextup-pill{display:inline-flex;align-items:center;gap:9px;flex:none;padding:8px 12px;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-pill);transition:border-color .14s,box-shadow .14s}.nextup-pill:hover{border-color:var(--accent-line);box-shadow:var(--glow-soft)}.nextup-pill-title{font-size:13px;white-space:nowrap}.roadmap{margin:4px 0 26px;padding:18px;background:radial-gradient(120% 100% at 50% 0%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),var(--panel);border:1px solid var(--border);border-radius:var(--r-lg)}.roadmap-legend{display:flex;gap:16px;margin-bottom:12px;padding-left:2px}.roadmap-legend-item{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.roadmap-legend-item:before{content:"";width:9px;height:9px;border-radius:3px;border:1px solid}.roadmap-legend-item.is-complete:before{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 30%,transparent)}.roadmap-legend-item.is-frontier:before{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 7px color-mix(in srgb,var(--accent) 50%,transparent)}.roadmap-legend-item.is-locked:before{border-color:var(--border-strong);background:transparent}.roadmap-scroll{overflow-x:auto;padding-bottom:4px}.roadmap-svg{display:block;height:auto;margin-inline:auto;overflow:visible}.roadmap-edge{fill:none;stroke:var(--border-strong);stroke-width:1.5;opacity:.6}.roadmap-edge.is-live{stroke:var(--accent-line);opacity:.9}.roadmap-node{display:flex;flex-direction:column;gap:7px;width:100%;height:100%;padding:11px 13px;text-align:left;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r);transition:border-color .15s,box-shadow .15s,transform .1s,background .15s}.roadmap-node:hover{transform:translateY(-1px)}.roadmap-node.is-frontier{border-color:var(--accent-line);box-shadow:var(--glow-soft)}.roadmap-node.is-frontier:hover{box-shadow:var(--glow)}.roadmap-node.is-complete{border-color:color-mix(in srgb,var(--ok) 42%,var(--border));background:color-mix(in srgb,var(--ok) 8%,var(--bg-raised))}.roadmap-node.is-locked{opacity:.55;border-style:dashed}.roadmap-node.is-active{box-shadow:var(--ring)}.roadmap-node-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.roadmap-node-title{font-family:var(--mono);font-size:12.5px;font-weight:600;line-height:1.2;color:var(--text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.roadmap-node-glyph{flex:none;color:var(--muted)}.roadmap-node.is-complete .roadmap-node-glyph{color:var(--ok)}.roadmap-node.is-frontier .roadmap-node-glyph{color:var(--accent)}.roadmap-node-count{font-family:var(--mono);font-size:10.5px;color:var(--muted)}.roadmap-node-count strong{color:var(--text);font-weight:600}.roadmap-node-count em{font-style:normal}.roadmap-node-track{height:4px;margin-top:auto;background:color-mix(in srgb,var(--muted) 22%,transparent);border-radius:var(--r-pill);overflow:hidden}.roadmap-node-fill{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.roadmap-node.is-complete .roadmap-node-fill{background:var(--ok)}.roadmap-node.is-locked .roadmap-node-fill{background:var(--border-strong)}.unit-list{display:flex;flex-direction:column;gap:10px}.unit-block{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;scroll-margin-top:16px}.unit-block.is-frontier{border-color:var(--accent-line)}.unit-block.is-complete{border-color:color-mix(in srgb,var(--ok) 34%,var(--border))}.unit-block.is-focused{border-color:var(--accent)}.unit-block-head{display:flex;align-items:center;gap:13px;width:100%;padding:14px 16px;text-align:left;transition:background .13s}.unit-block-head:hover{background:var(--panel-soft)}.unit-block-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm)}.unit-block.is-frontier .unit-block-icon{color:var(--accent);border-color:var(--accent-line)}.unit-block.is-complete .unit-block-icon{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.unit-block-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.unit-block-heading strong{font-size:14.5px;font-weight:600}.unit-block-heading small{font-family:var(--mono);font-size:11px;color:var(--muted)}.unit-block-count{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted)}.unit-cleared-chip{flex:none}.unit-block-track{width:90px;height:6px;flex:none;background:var(--bg-raised);border-radius:var(--r-pill);overflow:hidden}.unit-block-track span{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.unit-block.is-complete .unit-block-track span{background:var(--ok)}.unit-block-chev{flex:none;color:var(--faint);transition:transform .16s}.unit-block.is-open .unit-block-chev{transform:rotate(90deg)}.unit-focus-row{display:flex;justify-content:flex-end;padding:0 16px 12px;border-top:1px solid transparent}.unit-focus-action,.unit-focus-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-sm)}.unit-focus-action{padding:6px 9px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid var(--accent-line);transition:background .13s,border-color .13s}.unit-focus-action:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,transparent)}.unit-focus-action:disabled{opacity:.55}.unit-focus-badge{padding:6px 9px;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent)}.unit-challenge-row{display:flex;align-items:center;gap:10px;margin:0 16px 12px;padding:9px 10px;color:var(--text);background:var(--panel-soft);border:1px solid var(--accent-line);border-radius:var(--r-sm);transition:background .12s,border-color .12s}.unit-challenge-row:hover{background:var(--accent-soft);border-color:var(--accent)}.unit-challenge-main{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.unit-challenge-main strong{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.unit-challenge-main small{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-challenge-chev{flex:none;color:var(--faint)}.unit-primer-row{display:flex;align-items:center;gap:12px;padding:11px 16px;color:var(--text);border-top:1px solid var(--border);background:var(--panel-soft);transition:background .12s}.unit-primer-row:hover{background:var(--accent-soft)}.unit-primer-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;color:var(--accent);background:var(--bg-raised);border:1px solid var(--accent-line);border-radius:var(--r-sm)}.unit-primer-main{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.unit-primer-main strong{font-size:13px;font-weight:600}.unit-primer-main small{font-family:var(--mono);font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-primer-chev{flex:none;color:var(--faint)}.chip-read{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--muted)}.chip-read.is-read{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 34%,var(--border))}.chip-read.is-unread{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.unit-problems{padding:6px 12px 12px;border-top:1px solid var(--border)}.unit-problem-row{display:flex;align-items:center;gap:12px;padding:9px 8px;color:var(--text);border-radius:var(--r-sm);border:1px solid transparent;transition:background .12s,border-color .12s}.unit-problem-row:hover{background:var(--panel-soft);border-color:var(--border)}.unit-problem-title{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-problem-reviews{font-family:var(--mono);font-size:10.5px;color:var(--faint)}.unit-problem-chev{color:var(--faint)}@media(max-width:720px){.path-detail-head-aside{align-items:stretch;width:100%}.path-detail-progress{width:100%}}.md{color:var(--text);font-size:14px;line-height:1.68}.md>*:first-child{margin-top:0}.md p{margin:0 0 12px}.md h2,.md h3,.md h4{font-family:var(--mono);letter-spacing:-.01em;margin:20px 0 10px}.md h2{font-size:16.5px;color:var(--text)}.md h2:before{content:"▸ ";color:var(--accent)}.md h3{font-size:14.5px;color:var(--accent-strong)}.md h4{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.md ul,.md ol{margin:0 0 12px;padding-left:22px}.md li{margin:4px 0}.md li::marker{color:var(--accent)}.md strong{color:var(--text);font-weight:600}.md em{font-style:italic;color:var(--text)}.md a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:2px}.md code{font-family:var(--mono);font-size:.86em;padding:1px 5px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 10%,var(--panel-soft));border:1px solid var(--border);border-radius:5px}.md-pre{margin:0 0 12px;padding:12px 14px;overflow-x:auto;background:var(--term);border:1px solid var(--border);border-radius:var(--r-sm)}.md-pre code{padding:0;border:none;background:none;color:var(--text);font-size:12.5px;line-height:1.6}.md-table-wrap{margin:0 0 12px;overflow-x:auto}.md-table{border-collapse:collapse;font-size:13px;line-height:1.5}.md-table th,.md-table td{padding:6px 12px;border:1px solid var(--border);text-align:left;white-space:nowrap}.md-table th{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--panel-soft)}.md-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--panel-soft) 55%,transparent)}.md-hr{margin:16px 0;border:none;border-top:1px solid var(--border)}.lesson-section{max-width:1180px;margin:0 auto 30px}.lesson-section>.section-heading{margin-bottom:14px}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}.lesson-card{display:flex;flex-direction:column;gap:10px;padding:18px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .16s,transform .16s,box-shadow .16s}.lesson-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--glow-soft)}.lesson-card.is-complete{border-color:color-mix(in srgb,var(--ok) 34%,var(--border))}.lesson-card-top{display:flex;align-items:center;justify-content:space-between}.lesson-card-kind{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.lesson-card.is-walkthrough .lesson-card-kind{color:var(--accent-2)}.lesson-card.is-concept .lesson-card-kind{color:var(--accent)}.lesson-card-pct{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.lesson-card-done{color:var(--ok);display:inline-flex}.lesson-card-title{font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:-.01em}.lesson-card-topic{font-family:var(--mono);font-size:11px;color:var(--faint)}.lesson-card-stats{display:flex;gap:15px;margin-top:2px;font-family:var(--mono);font-size:11px;color:var(--muted)}.lesson-card-stats span{display:inline-flex;align-items:center;gap:5px}.lesson-card-stats svg{color:var(--accent);opacity:.8}.lesson-card-bar{height:5px;margin-top:4px;background:var(--bg-raised);border-radius:var(--r-pill);overflow:hidden}.lesson-card-bar span{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.lesson-card.is-complete .lesson-card-bar span{background:var(--ok)}.lesson-card-stages{display:flex;gap:6px;margin-top:4px}.stage-dot{width:100%;height:5px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-pill)}.stage-dot.is-done{background:var(--accent-2);border-color:var(--accent-2);box-shadow:0 0 6px color-mix(in srgb,var(--accent-2) 55%,transparent)}.lesson-card-cta{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);transition:gap .14s}.lesson-card:hover .lesson-card-cta{gap:9px}.lesson-page{max-width:860px}.lesson-head{max-width:none}.lesson-head p{font-family:var(--mono);font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}.lesson-head-progress{display:flex;align-items:center;gap:14px;margin-top:16px}.lesson-head-bar{flex:1;height:8px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-pill);overflow:hidden}.lesson-head-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-strong));box-shadow:0 0 10px color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--r-pill);transition:width .4s ease}.lesson-head-pct{flex:none;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.stage-stepper{display:flex;flex-wrap:wrap;gap:4px;margin:0 auto 22px;padding:10px 12px;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:var(--r)}.stage-step{display:flex;align-items:center;gap:4px}.stage-step-link{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-sm);color:var(--muted);transition:background .14s,color .14s}.stage-step-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:50%}.stage-step-label{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.stage-step-arrow{width:14px;height:1px;background:var(--border-strong)}.stage-step.is-current .stage-step-link{color:var(--accent)}.stage-step.is-current .stage-step-num{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 50%,transparent)}.stage-step.is-done .stage-step-link{color:var(--ok)}.stage-step.is-done .stage-step-num{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--border))}.stage-step.is-locked .stage-step-link{color:var(--faint);pointer-events:none}.stage-step.is-locked .stage-step-num{opacity:.5}.lesson-stages{display:flex;flex-direction:column;gap:26px}.lesson-stage{scroll-margin-top:16px}.lesson-stage-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.lesson-stage-name{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.lesson-stage-name:before{content:"// ";color:var(--faint)}.lesson-stage.is-locked .lesson-stage-name{color:var(--faint)}.lesson-stage-lock{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--faint)}.lesson-blocks{display:flex;flex-direction:column;gap:14px}.lesson-block{padding:18px 20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r)}.lesson-block.is-checkpoint,.lesson-block.is-quiz{border-color:var(--border-strong);background:var(--bg-raised)}.lesson-block.is-complete{border-left:2px solid var(--ok)}.lesson-block-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lesson-block-ord{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--faint)}.lesson-block-kind{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.lesson-block.is-checkpoint .lesson-block-kind{color:var(--accent)}.lesson-block.is-quiz .lesson-block-kind{color:var(--warn)}.lesson-block-done{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}.lesson-prompt{font-size:14.5px}.lesson-prompt p:last-child{margin-bottom:0}.lesson-attempt{display:block;margin:14px 0}.lesson-attempt textarea{min-height:96px;font-family:var(--mono);font-size:13px}.lesson-gate{display:flex;flex-direction:column;gap:10px}.lesson-gate-lead{font-size:13.5px;color:var(--muted)}.lesson-gate textarea{min-height:90px;font-family:var(--mono);font-size:13px}.lesson-reveal{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:9px 15px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-sm);transition:box-shadow .15s,background .15s}.lesson-reveal:hover:not(:disabled){box-shadow:var(--glow-soft);background:color-mix(in srgb,var(--accent) 18%,transparent)}.lesson-reveal:disabled{color:var(--muted);background:var(--panel-soft);border-color:var(--border)}.lesson-answer{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border-strong);animation:reveal-fade .25s ease}@keyframes reveal-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.lesson-elaboration{margin-top:12px;padding:12px 14px;background:color-mix(in srgb,var(--accent) 5%,var(--panel-soft));border:1px solid var(--border);border-radius:var(--r-sm)}.lesson-elaboration .md{font-size:13px;color:var(--muted)}.lesson-elaboration-tag,.concept-answer-tag{display:block;margin-bottom:8px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.lesson-block-foot{margin-top:14px}.lesson-complete-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);transition:box-shadow .15s,filter .15s}.lesson-complete-btn:hover:not(:disabled){box-shadow:var(--glow);filter:brightness(1.05)}.lesson-complete-btn svg{color:var(--accent-ink)}.lesson-complete-btn:disabled{opacity:.6}.lesson-foot-done{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ok)}.quiz-choices{display:flex;flex-direction:column;gap:8px;margin:14px 0}.quiz-choice{display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;text-align:left;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .13s,background .13s}.quiz-choice:hover:not(:disabled){border-color:var(--accent-line)}.quiz-choice:disabled{cursor:default}.quiz-choice-marker{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm)}.quiz-choice-text{flex:1;font-size:13.5px;line-height:1.5}.quiz-choice-flag{color:var(--ok);flex:none}.quiz-choice.is-correct{border-color:color-mix(in srgb,var(--ok) 50%,transparent);background:color-mix(in srgb,var(--ok) 12%,transparent)}.quiz-choice.is-correct .quiz-choice-marker{color:var(--ok);border-color:var(--ok)}.quiz-choice.is-wrong{border-color:color-mix(in srgb,var(--err) 45%,transparent);background:color-mix(in srgb,var(--err) 10%,transparent)}.quiz-choice.is-wrong .quiz-choice-marker{color:var(--err);border-color:var(--err)}.quiz-verdict{padding:13px 15px;background:var(--panel);border:1px solid var(--border);border-left-width:2px;border-radius:var(--r-sm);animation:reveal-fade .25s ease}.quiz-verdict.is-correct{border-left-color:var(--ok)}.quiz-verdict.is-wrong{border-left-color:var(--err)}.quiz-verdict>strong{display:block;margin-bottom:8px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.quiz-verdict.is-correct>strong{color:var(--ok)}.quiz-verdict.is-wrong>strong{color:var(--err)}.quiz-verdict .md{font-size:13px;color:var(--muted)}.lesson-handoff{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:24px;padding:18px;border:1px solid var(--accent-line);border-radius:var(--r-lg);background:linear-gradient(110deg,var(--accent-soft),transparent 68%),var(--panel);box-shadow:var(--glow-soft)}.lesson-handoff-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--accent-line);border-radius:50%;color:var(--accent);background:var(--accent-soft)}.lesson-handoff>div{min-width:0;display:grid;gap:4px}.lesson-handoff strong{color:var(--text);font:600 15px/1.35 var(--mono)}.lesson-handoff p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.lesson-handoff .primary-action{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.lesson-complete{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-top:26px;padding:26px;background:var(--panel);border:1px solid var(--accent-line);border-radius:var(--r-lg);box-shadow:var(--glow-soft)}.lesson-complete-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r)}.lesson-complete strong{font-family:var(--mono);font-size:16px}.lesson-complete span:last-child{max-width:46ch;color:var(--muted);font-size:13px}.main-surface[data-view=card]{overflow:hidden}.concept-card-surface{flex:1;min-height:0;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start;padding:32px clamp(16px,4vw,40px) 64px}.concept-card{width:min(680px,100%);display:flex;flex-direction:column;gap:18px}.concept-card-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.concept-card-eyebrow svg{color:var(--accent)}.concept-card-lesson{color:var(--accent);text-transform:none;letter-spacing:.02em}.concept-card-lesson:hover{text-decoration:underline}.concept-term{padding:24px;background:var(--term);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--glow-soft)}.concept-term .md{font-size:15.5px}.concept-reveal{display:inline-flex;align-items:center;justify-content:center;gap:9px;align-self:center;padding:12px 24px;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);transition:box-shadow .16s,filter .16s}.concept-reveal:hover:not(:disabled){box-shadow:var(--glow);filter:brightness(1.05)}.concept-reveal svg{color:var(--accent-ink)}.concept-reveal:disabled{opacity:.55}.concept-answer{padding:20px 22px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);animation:reveal-fade .25s ease}.concept-rating{border-top:none;padding:0;opacity:1}.concept-rating>div:first-child{margin-bottom:4px}.pattern-drill-card{width:min(720px,100%)}.pattern-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pattern-option{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--mono);font-size:12px;font-weight:650;letter-spacing:.02em;text-align:left;transition:background .14s,border-color .14s,box-shadow .14s,color .14s}.pattern-option:hover:not(:disabled){border-color:var(--accent-line);background:var(--accent-soft);box-shadow:var(--glow-soft)}.pattern-option.is-selected.is-correct{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 42%,var(--border));background:color-mix(in srgb,var(--ok) 10%,transparent)}.pattern-option.is-selected.is-wrong{color:var(--err);border-color:color-mix(in srgb,var(--err) 42%,var(--border));background:color-mix(in srgb,var(--err) 10%,transparent)}.pattern-option:disabled:not(.is-selected){opacity:.58}.pattern-result{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pattern-result.is-correct{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 38%,var(--border));background:color-mix(in srgb,var(--ok) 10%,transparent)}.pattern-result.is-wrong{color:var(--err);border-color:color-mix(in srgb,var(--err) 38%,var(--border));background:color-mix(in srgb,var(--err) 10%,transparent)}.difficulty-chip.is-concept{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.nextup-dot.is-concept{color:var(--accent);background:var(--accent-soft);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 45%,transparent)}@media(max-width:560px){.pattern-option-grid{grid-template-columns:1fr}.stage-stepper{gap:2px}.stage-step-label{display:none}.stage-step-arrow{width:8px}}.lesson-chunk-label{width:fit-content;margin-top:12px;color:var(--accent);font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.lesson-chunk-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:860px;margin:0 auto 16px}.lesson-chunk-nav button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;color:var(--muted);background:var(--panel);font:600 10px/1 var(--mono);text-transform:uppercase}.lesson-chunk-nav button span{width:20px;height:20px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%}.lesson-chunk-nav button.is-active{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.lesson-blocks.is-focused{max-width:860px;margin-inline:auto}.lesson-blocks.is-focused .lesson-block{content-visibility:auto}@media(max-width:560px){.lesson-handoff{grid-template-columns:auto minmax(0,1fr);margin:18px 0;padding:14px}.lesson-handoff .primary-action{grid-column:1 / -1;justify-content:center}.lesson-chunk-nav{position:sticky;top:0;z-index:4;gap:4px;padding:6px 0;background:var(--bg)}.lesson-chunk-nav button{min-height:40px;padding:6px 4px;font-size:8px}}.onboarding-shell{min-height:100dvh;display:grid;place-items:start center;padding:clamp(28px,6vw,72px) 18px;background:radial-gradient(circle at 50% -20%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 42%),var(--bg)}.onboarding-brand{position:absolute;top:22px;left:clamp(18px,4vw,48px);font:700 14px/1 var(--mono);letter-spacing:.08em;color:var(--text)}.onboarding-brand span{color:var(--accent)}.onboarding-card{width:min(680px,100%);padding:clamp(28px,5vw,52px);margin-top:24px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 28px 80px #00000038}.onboarding-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:24px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:14px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.onboarding-card h1{margin:0;max-width:600px;color:var(--text);font:600 clamp(28px,5vw,42px)/1.1 var(--mono);letter-spacing:-.04em}.onboarding-lead{max-width:600px;margin:14px 0 30px;color:var(--muted);font-size:15px;line-height:1.7}.onboarding-fieldset{border:0;padding:0;margin:0 0 26px}.onboarding-fieldset legend{display:flex;align-items:center;gap:7px;margin-bottom:11px;color:var(--text);font:600 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.onboarding-option-list{display:grid;gap:8px}.onboarding-option,.recommendation-paths>button,.diagnostic-options>button{width:100%;display:flex;align-items:flex-start;gap:12px;padding:15px;text-align:left;color:var(--text);border:1px solid var(--border);border-radius:11px;background:var(--bg-raised);transition:border-color .15s ease,background .15s ease,transform .15s ease}.onboarding-option:hover,.recommendation-paths>button:hover,.diagnostic-options>button:hover{transform:translateY(-1px);border-color:var(--border-strong)}.onboarding-option.is-selected,.recommendation-paths>button.is-selected,.diagnostic-options>button.is-selected{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--bg-raised))}.onboarding-option-check,.recommendation-mark,.diagnostic-options>button>span:first-child{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;color:var(--bg);background:var(--panel)}.is-selected>.onboarding-option-check,.is-selected>.recommendation-mark,.diagnostic-options>button.is-selected>span:first-child{border-color:var(--accent);background:var(--accent)}.onboarding-option strong,.recommendation-paths strong{display:block;margin:1px 0 5px;font:600 14px/1.25 var(--sans)}.onboarding-option small,.recommendation-paths small{display:block;color:var(--muted);font-size:13px;line-height:1.45}.duration-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.duration-picker button{display:flex;align-items:baseline;justify-content:center;gap:5px;min-height:58px;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:var(--bg-raised)}.duration-picker button.is-selected{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--panel))}.duration-picker strong{font:600 22px/1 var(--mono)}.duration-picker span{font:500 11px/1 var(--mono);text-transform:uppercase}.onboarding-primary{width:100%;min-height:52px;justify-content:center;gap:10px;margin-top:6px}.onboarding-progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:var(--muted);font:500 12px/1 var(--mono)}.onboarding-back{display:inline-flex;align-items:center;gap:6px;padding:7px 0;border:0;color:var(--muted);background:transparent;font:500 12px/1 var(--mono)}.onboarding-back:hover{color:var(--accent)}.onboarding-back.is-centered{display:flex;margin:12px auto 0}.onboarding-progress{height:3px;margin-bottom:36px;overflow:hidden;border-radius:3px;background:var(--border)}.onboarding-progress span{display:block;height:100%;background:var(--accent);transition:width .18s ease}.diagnostic-topic{display:block;margin-bottom:12px;color:var(--accent);font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.onboarding-card .diagnostic-question{font-size:clamp(23px,4vw,32px);line-height:1.25}.diagnostic-options{display:grid;gap:9px;margin:26px 0 18px}.diagnostic-options>button{align-items:center;min-height:56px;font:500 14px/1.4 var(--sans)}.onboarding-count{margin:12px 0 0;text-align:center;color:var(--muted);font:500 11px/1 var(--mono)}.recommendation-paths{display:grid;gap:10px;margin:28px 0 18px}.recommendation-paths>button{position:relative;padding-right:128px}.recommendation-paths em{position:absolute;right:14px;top:14px;display:flex;gap:5px;color:var(--accent);font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}@media(max-width:560px){.onboarding-shell{padding:70px 12px 24px;place-items:start center}.onboarding-card{margin:0;padding:25px 18px;border-radius:14px}.onboarding-card h1{font-size:27px}.recommendation-paths>button{padding-right:15px}.recommendation-paths em{position:static;margin-left:auto;align-self:center}}
