@font-face{font-family:Inter;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/ca157063339ac4ad-BOeWTOD4.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/71d5ee93cc1e9f1d-DqGufNeO.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/6e9e020a25f9b56d-DlzME5K_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/1be3448e292fbf05-CkhJZR-_.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/5c66f9e07e90c6d4-CBcvBZtf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/34b9c504cab7a73e-DO1Apj_S.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/3100e775e8616cd2-Dx4kXJAl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300 800;font-display:swap;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");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/d274604c40757f98-D73BlboJ.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/ee863198077f3093-Bw9x6K1M.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/2288795da89dd97e-Bt-aOZkq.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/79bfdab9ba467e26-DBQx-q_a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/18be452724bfdc23-B9CIFXIH.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/28e0850de1cae95b-D7nrgzLr.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/33ff412e573782b8-Cirz0Guu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/78bc3aa78faec288-Dku2WoCh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/6b986471df6084ba-CJDn6rn8.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/0b1fcab42c18b69b-by3JarPu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/7d93459d86585bfc-cpxAROuN.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/f018c9ad67dc6c2c-BIdkeU1p.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/af5fda16a19169e0-CK-6C4Hw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/cd36de204aca2d5f-C8OXljZJ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/58dba357cb1e89bf-STEjXBNN.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/bb1f2d582e7fba58-CAhIAdZj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/f4e80d9dfd374d02-zEkxB9Mr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/de10eb6f1f452594-O-jipLrW.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/ccfd87f69ef00d81-cby-RkWa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/9338e65fc077355c-Qrb0O0WB.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/6c6bb57f25ccf0ee-ACzlZF75.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/a72eccfa6cfa9c26-CDgOlX-1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/60bf0aba6526436f-Bd8-pIP1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.language-icon{width:1em;height:1em;-webkit-mask:var(--language-icon) center / contain no-repeat;-webkit-mask:var(--language-icon) center / contain no-repeat;mask:var(--language-icon) center / contain no-repeat;background-color:currentColor;flex-shrink:0;display:inline-block}.devicon-javascript-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23F0DB4F'%20d='M2%201v125h125V1H2zm66.119%20106.513c-1.845%203.749-5.367%206.212-9.448%207.401-6.271%201.44-12.269.619-16.731-2.059-2.986-1.832-5.318-4.652-6.901-7.901l9.52-5.83c.083.035.333.487.667%201.071%201.214%202.034%202.261%203.474%204.319%204.485%202.022.69%206.461%201.131%208.175-2.427%201.047-1.81.714-7.628.714-14.065C58.433%2078.073%2058.48%2068%2058.48%2058h11.709c0%2011%20.06%2021.418%200%2032.152.025%206.58.596%2012.446-2.07%2017.361zm48.574-3.308c-4.07%2013.922-26.762%2014.374-35.83%205.176-1.916-2.165-3.117-3.296-4.26-5.795%204.819-2.772%204.819-2.772%209.508-5.485%202.547%203.915%204.902%206.068%209.139%206.949%205.748.702%2011.531-1.273%2010.234-7.378-1.333-4.986-11.77-6.199-18.873-11.531-7.211-4.843-8.901-16.611-2.975-23.335%201.975-2.487%205.343-4.343%208.877-5.235l3.688-.477c7.081-.143%2011.507%201.727%2014.756%205.355.904.916%201.642%201.904%203.022%204.045-3.772%202.404-3.76%202.381-9.163%205.879-1.154-2.486-3.069-4.046-5.093-4.724-3.142-.952-7.104.083-7.926%203.403-.285%201.023-.226%201.975.227%203.665%201.273%202.903%205.545%204.165%209.377%205.926%2011.031%204.474%2014.756%209.271%2015.672%2014.981.882%204.916-.213%208.105-.38%208.581z'/%3e%3c/svg%3e")}.devicon-typescript-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23007acc'%20d='M2%2063.91v62.5h125v-125H2zm100.73-5a15.56%2015.56%200%20017.82%204.5%2020.58%2020.58%200%20013%204c0%20.16-5.4%203.81-8.69%205.85-.12.08-.6-.44-1.13-1.23a7.09%207.09%200%2000-5.87-3.53c-3.79-.26-6.23%201.73-6.21%205a4.58%204.58%200%2000.54%202.34c.83%201.73%202.38%202.76%207.24%204.86%208.95%203.85%2012.78%206.39%2015.16%2010%202.66%204%203.25%2010.46%201.45%2015.24-2%205.2-6.9%208.73-13.83%209.9a38.32%2038.32%200%2001-9.52-.1A23%2023%200%200180%20109.19c-1.15-1.27-3.39-4.58-3.25-4.82a9.34%209.34%200%20011.15-.73l4.6-2.64%203.59-2.08.75%201.11a16.78%2016.78%200%20004.74%204.54c4%202.1%209.46%201.81%2012.16-.62a5.43%205.43%200%2000.69-6.92c-1-1.39-3-2.56-8.59-5-6.45-2.78-9.23-4.5-11.77-7.24a16.48%2016.48%200%2001-3.43-6.25%2025%2025%200%2001-.22-8c1.33-6.23%206-10.58%2012.82-11.87a31.66%2031.66%200%20019.49.26zm-29.34%205.24v5.12H57.16v46.23H45.65V69.26H29.38v-5a49.19%2049.19%200%2001.14-5.16c.06-.08%2010-.12%2022-.1h21.81z'/%3e%3c/svg%3e")}.devicon-python-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23FFD845'%20d='M49.33%2062h29.159C86.606%2062%2093%2055.132%2093%2046.981V19.183c0-7.912-6.632-13.856-14.555-15.176-5.014-.835-10.195-1.215-15.187-1.191-4.99.023-9.612.448-13.805%201.191C37.098%206.188%2035%2010.758%2035%2019.183V30h29v4H23.776c-8.484%200-15.914%205.108-18.237%2014.811-2.681%2011.12-2.8%2017.919%200%2029.53C7.614%2086.983%2012.569%2093%2021.054%2093H31V79.952C31%2070.315%2039.428%2062%2049.33%2062zm-1.838-39.11c-3.026%200-5.478-2.479-5.478-5.545%200-3.079%202.451-5.581%205.478-5.581%203.015%200%205.479%202.502%205.479%205.581-.001%203.066-2.465%205.545-5.479%205.545zm74.789%2025.921C120.183%2040.363%20116.178%2034%20107.682%2034H97v12.981C97%2057.031%2088.206%2065%2078.489%2065H49.33C41.342%2065%2035%2072.326%2035%2080.326v27.8c0%207.91%206.745%2012.564%2014.462%2014.834%209.242%202.717%2017.994%203.208%2029.051%200C85.862%20120.831%2093%20116.549%2093%20108.126V97H64v-4h43.682c8.484%200%2011.647-5.776%2014.599-14.66%203.047-9.145%202.916-17.799%200-29.529zm-41.955%2055.606c3.027%200%205.479%202.479%205.479%205.547%200%203.076-2.451%205.579-5.479%205.579-3.015%200-5.478-2.502-5.478-5.579%200-3.068%202.463-5.547%205.478-5.547z'/%3e%3c/svg%3e")}.devicon-cplusplus-plain{--language-icon:url("data:image/svg+xml,%3csvg%20viewBox='0%200%20128%20128'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill='%23004482'%20d='M63.443%200c-1.782%200-3.564.39-4.916%201.172L11.594%2028.27C8.89%2029.828%206.68%2033.66%206.68%2036.78v54.197c0%201.562.55%203.298%201.441%204.841l-.002.002c.89%201.543%202.123%202.89%203.475%203.672l46.931%2027.094c2.703%201.562%207.13%201.562%209.832%200h.002l46.934-27.094c1.352-.78%202.582-2.129%203.473-3.672.89-1.543%201.441-3.28%201.441-4.843V36.779c0-1.557-.55-3.295-1.441-4.838v-.002c-.891-1.545-2.121-2.893-3.473-3.67L68.359%201.173C67.008.39%2065.226%200%2063.443%200zm.002%2026.033c13.465%200%2026.02%207.246%2032.77%2018.91l-16.38%209.479c-3.372-5.836-9.66-9.467-16.39-9.467-10.432%200-18.922%208.49-18.922%2018.924S53.013%2082.8%2063.445%2082.8c6.735%200%2013.015-3.625%2016.395-9.465l16.375%209.477c-6.746%2011.662-19.305%2018.91-32.77%2018.91-20.867%200-37.843-16.977-37.843-37.844s16.976-37.844%2037.843-37.844v-.002zM92.881%2057.57h4.201v4.207h4.203v4.203h-4.203v4.207h-4.201V65.98h-4.207v-4.203h4.207V57.57zm15.765%200h4.208v4.207h4.203v4.203h-4.203v4.207h-4.208V65.98h-4.205v-4.203h4.205V57.57z'/%3e%3c/svg%3e")}.devicon-c-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23a9bacd'%20d='M125%2050c-4-32-24-50-62-50C29%200%203%2024%203%2064c0%2039%2024%2064%2064%2064%2032%200%2055-19%2058-50H87c-2%2011-8%2020-20%2020-21%200-24-16-24-33%200-23%208-35%2022-35%2013%200%2020%207%2022%2020z'%20/%3e%3c/svg%3e")}.devicon-java-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23EA2D2E'%20d='M47.617%2098.12c-19.192%205.362%2011.677%2016.439%2036.115%205.969-4.003-1.556-6.874-3.351-6.874-3.351-10.897%202.06-15.952%202.222-25.844%201.092-8.164-.935-3.397-3.71-3.397-3.71zm33.189-10.46c-14.444%202.779-22.787%202.69-33.354%201.6-8.171-.845-2.822-4.805-2.822-4.805-21.137%207.016%2011.767%2014.977%2041.309%206.336-3.14-1.106-5.133-3.131-5.133-3.131zm11.319-60.575c.001%200-42.731%2010.669-22.323%2034.187%206.024%206.935-1.58%2013.17-1.58%2013.17s15.289-7.891%208.269-17.777c-6.559-9.215-11.587-13.793%2015.634-29.58zm9.998%2081.144s3.529%202.91-3.888%205.159c-14.102%204.272-58.706%205.56-71.095.171-4.45-1.938%203.899-4.625%206.526-5.192%202.739-.593%204.303-.485%204.303-.485-4.952-3.487-32.013%206.85-13.742%209.815%2049.821%208.076%2090.817-3.637%2077.896-9.468zM85%2077.896c2.395-1.634%205.703-3.053%205.703-3.053s-9.424%201.685-18.813%202.474c-11.494.964-23.823%201.154-30.012.326-14.652-1.959%208.033-7.348%208.033-7.348s-8.812-.596-19.644%204.644C17.455%2081.134%2061.958%2083.958%2085%2077.896zm5.609%2015.145c-.108.29-.468.616-.468.616%2031.273-8.221%2019.775-28.979%204.822-23.725-1.312.464-2%201.543-2%201.543s.829-.334%202.678-.72c7.559-1.575%2018.389%2010.119-5.032%2022.286zM64.181%2070.069c-4.614-10.429-20.26-19.553.007-35.559C89.459%2014.563%2076.492%201.587%2076.492%201.587c5.23%2020.608-18.451%2026.833-26.999%2039.667-5.821%208.745%202.857%2018.142%2014.688%2028.815zm27.274%2051.748c-19.187%203.612-42.854%203.191-56.887.874%200%200%202.874%202.38%2017.646%203.331%2022.476%201.437%2057-.8%2057.816-11.436.001%200-1.57%204.032-18.575%207.231z'/%3e%3c/svg%3e")}.devicon-go-original-wordmark{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cg%20fill='%2300acd7'%20fill-rule='evenodd'%3e%3cpath%20d='M11.156%2054.829c-.243%200-.303-.122-.182-.303l1.273-1.637c.12-.182.424-.303.666-.303H34.55c.243%200%20.303.182.182.364l-1.03%201.576c-.121.181-.424.363-.606.363zM2.004%2060.404c-.242%200-.303-.12-.182-.303l1.273-1.636c.121-.182.424-.303.667-.303h27.636c.242%200%20.364.182.303.364l-.485%201.454c-.06.243-.303.364-.545.364zM16.67%2065.98c-.242%200-.302-.182-.181-.364l.848-1.515c.122-.182.364-.363.607-.363h12.12c.243%200%20.364.181.364.424l-.12%201.454c0%20.243-.243.425-.425.425zM79.58%2053.738c-3.819.97-6.425%201.697-10.182%202.666-.91.243-.97.303-1.758-.606-.909-1.03-1.576-1.697-2.848-2.303-3.819-1.878-7.516-1.333-10.97.91-4.121%202.666-6.242%206.605-6.182%2011.514.06%204.849%203.394%208.849%208.182%209.516%204.121.545%207.576-.91%2010.303-4%20.545-.667%201.03-1.394%201.636-2.243H56.064c-1.272%200-1.575-.788-1.151-1.818.788-1.879%202.242-5.03%203.09-6.606.183-.364.607-.97%201.516-.97h22.06c-.12%201.637-.12%203.273-.363%204.91-.667%204.363-2.303%208.363-4.97%2011.878-4.364%205.758-10.06%209.333-17.273%2010.303-5.939.788-11.454-.364-16.302-4-4.485-3.394-7.03-7.879-7.697-13.454-.788-6.606%201.151-12.546%205.151-17.758%204.303-5.636%2010-9.212%2016.97-10.485%205.697-1.03%2011.151-.363%2016.06%202.97%203.212%202.121%205.515%205.03%207.03%208.545.364.546.122.849-.606%201.03z'/%3e%3cpath%20d='M99.64%2087.253c-5.515-.122-10.546-1.697-14.788-5.334-3.576-3.09-5.818-7.03-6.545-11.697-1.091-6.848.787-12.909%204.909-18.302%204.424-5.819%209.757-8.849%2016.97-10.122%206.181-1.09%2012-.484%2017.272%203.091%204.788%203.273%207.757%207.697%208.545%2013.515%201.03%208.182-1.333%2014.849-6.97%2020.546-4%204.06-8.909%206.606-14.545%207.757-1.636.303-3.273.364-4.848.546zm14.424-24.485c-.06-.788-.06-1.394-.182-2-1.09-6-6.606-9.394-12.363-8.06-5.637%201.272-9.273%204.848-10.606%2010.545-1.091%204.727%201.212%209.515%205.575%2011.454%203.334%201.455%206.667%201.273%209.879-.363%204.788-2.485%207.394-6.364%207.697-11.576z'%20fill-rule='nonzero'/%3e%3c/g%3e%3c/svg%3e")}.devicon-rust-plain{--language-icon:url(/assets/rust-MUxGu8Uq.svg)}.devicon-csharp-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20d='M117.5%2033.5l.3-.2c-.6-1.1-1.5-2.1-2.4-2.6L67.1%202.9c-.8-.5-1.9-.7-3.1-.7-1.2%200-2.3.3-3.1.7l-48%2027.9c-1.7%201-2.9%203.5-2.9%205.4v55.7c0%201.1.2%202.3.9%203.4l-.2.1c.5.8%201.2%201.5%201.9%201.9l48.2%2027.9c.8.5%201.9.7%203.1.7%201.2%200%202.3-.3%203.1-.7l48-27.9c1.7-1%202.9-3.5%202.9-5.4V36.1c.1-.8%200-1.7-.4-2.6zm-53.5%2070c-21.8%200-39.5-17.7-39.5-39.5S42.2%2024.5%2064%2024.5c14.7%200%2027.5%208.1%2034.3%2020l-13%207.5C81.1%2044.5%2073.1%2039.5%2064%2039.5c-13.5%200-24.5%2011-24.5%2024.5s11%2024.5%2024.5%2024.5c9.1%200%2017.1-5%2021.3-12.4l12.9%207.6c-6.8%2011.8-19.6%2019.8-34.2%2019.8zM115%2062h-3.2l-.9%204h4.1v5h-5l-1.2%206h-4.9l1.2-6h-3.8l-1.2%206h-4.8l1.2-6H94v-5h3.5l.9-4H94v-5h5.3l1.2-6h4.9l-1.2%206h3.8l1.2-6h4.8l-1.2%206h2.2v5zm-12.7%204h3.8l.9-4h-3.8z'%20fill='%2368217A'/%3e%3c/svg%3e")}.devicon-kotlin-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23c711e1'%20d='M112.484%20112.484H15.516V15.516h96.968L64%2064Zm0%200'/%3e%3c/svg%3e")}.devicon-ruby-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23d91404'%20d='m35.971%20111.33%2081.958%2011.188c-9.374-15.606-18.507-30.813-27.713-46.144Zm89.71-86.383L93.513%2073.339c-.462.696-1.061%201.248-.41%202.321%208.016%2013.237%2015.969%2026.513%2023.942%2039.777%201.258%202.095%202.53%204.182%204.157%206.192l4.834-96.58zM16.252%2066.22c.375.355%201.311.562%201.747.347%207.689-3.779%2015.427-7.474%2022.948-11.564%202.453-1.333%204.339-3.723%206.452-5.661%206.997-6.417%2013.983-12.847%2020.966-19.278.427-.395.933-.777%201.188-1.275%202.508-4.902%204.973-9.829%207.525-14.898-3.043-1.144-5.928-2.263-8.849-3.281-.396-.138-1.02.136-1.449.375-6.761%203.777-13.649%207.353-20.195%2011.472-3.275%202.061-5.943%205.098-8.843%207.743-4.674%204.266-9.342%208.542-13.948%2012.882a24.011%2024.011%200%200%200-3.288%203.854c-3.15%204.587-6.206%209.24-9.402%2014.025%201.786%201.847%203.41%203.613%205.148%205.259zm28.102-6.271-11.556%2048.823%2054.3-34.987zm76.631-34.846-46.15%207.71%2015.662%2038.096zM44.996%2056.644l41.892%2013.6c-5.25-12.79-10.32-25.133-15.495-37.737ZM16.831%2075.643%202.169%20110.691l27.925-.825Zm13.593%2026.096.346-.076c3.353-13.941%206.754-27.786%2010.177-42.272L18.544%2071.035c3.819%209.926%207.891%2020.397%2011.88%2030.704zm84.927-78.897c-4.459-1.181-8.918-2.366-13.379-3.539-6.412-1.686-12.829-3.351-19.237-5.052-.801-.213-1.38-.352-1.851.613-2.265%204.64-4.6%209.245-6.901%2013.868-.071.143-.056.328-.111.687l41.47-6.285zM89.482%2012.288l36.343%2010.054-6.005-17.11-30.285%206.715ZM33.505%20114.007c-4.501-.519-9.122-.042-13.687.037-3.75.063-7.5.206-11.25.323-.386.012-.771.09-1.156.506%2031.003%202.866%2062.005%205.732%2093.007%208.6l.063-.414-29.815-4.07c-12.384-1.691-24.747-3.551-37.162-4.982ZM2.782%2099.994c3.995-9.27%207.973-18.546%2011.984-27.809.401-.929.37-1.56-.415-2.308-1.678-1.597-3.237-3.318-5.071-5.226-2.479%2012.24-4.897%2024.177-7.317%2036.113l.271.127c.185-.297.411-.578.548-.897zm78.74-90.153c6.737-1.738%2013.572-3.097%2020.367-4.613.44-.099.87-.244%201.303-.368l-.067-.332-29.194%203.928c2.741%201.197%204.853%202.091%207.591%201.385z'/%3e%3c/svg%3e")}.devicon-php-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20d='M64%2030.332C28.654%2030.332%200%2045.407%200%2064s28.654%2033.668%2064%2033.668c35.345%200%2064-15.075%2064-33.668S99.346%2030.332%2064%2030.332zm-5.982%209.81h7.293v.003l-1.745%208.968h6.496c4.087%200%206.908.714%208.458%202.139%201.553%201.427%202.017%203.737%201.398%206.93l-3.053%2015.7h-7.408l2.902-14.929c.33-1.698.208-2.855-.365-3.473-.573-.617-1.793-.925-3.658-.925h-5.828L58.752%2073.88h-7.291l6.557-33.738zM26.73%2049.114h14.133c4.252%200%207.355%201.116%209.305%203.348%201.95%202.232%202.536%205.346%201.758%209.346-.32%201.649-.863%203.154-1.625%204.52-.763%201.364-1.76%202.613-2.99%203.745-1.468%201.373-3.098%202.353-4.891%202.936-1.794.585-4.08.875-6.858.875h-6.294l-1.745%208.97h-7.35l6.557-33.74zm57.366%200h14.13c4.252%200%207.353%201.116%209.303%203.348h.002c1.95%202.232%202.538%205.346%201.76%209.346-.32%201.649-.861%203.154-1.623%204.52-.763%201.364-1.76%202.613-2.992%203.745-1.467%201.373-3.098%202.353-4.893%202.936-1.794.585-4.077.875-6.855.875h-6.295l-1.744%208.97h-7.35l6.557-33.74zm-51.051%205.325-2.742%2014.12h4.468c2.963%200%205.172-.556%206.622-1.673%201.45-1.116%202.428-2.981%202.937-5.592.485-2.507.264-4.279-.666-5.309-.93-1.032-2.79-1.547-5.584-1.547h-5.035zm57.363%200-2.744%2014.12h4.47c2.965%200%205.17-.556%206.622-1.673%201.449-1.116%202.427-2.981%202.935-5.592.487-2.507.266-4.279-.664-5.309-.93-1.032-2.792-1.547-5.584-1.547h-5.035z'/%3e%3c/svg%3e")}.devicon-swift-plain{--language-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20d='M125.54%2026.23a28.78%2028.78%200%2000-2.65-7.58%2028.84%2028.84%200%2000-4.76-6.32%2023.42%2023.42%200%2000-6.62-4.55%2027.27%2027.27%200%2000-7.68-2.53c-2.65-.51-5.56-.51-8.21-.76H30.25a45.46%2045.46%200%2000-6.09.51%2021.81%2021.81%200%2000-5.82%201.52c-.53.25-1.32.51-1.85.76a33.82%2033.82%200%2000-5%203.28c-.53.51-1.06.76-1.59%201.26a22.41%2022.41%200%2000-4.76%206.32%2023.61%2023.61%200%2000-2.65%207.58%2078.47%2078.47%200%2000-.79%207.83v60.39a39.32%2039.32%200%2000.79%207.83%2028.78%2028.78%200%20002.65%207.58%2028.84%2028.84%200%20004.76%206.32%2023.42%2023.42%200%20006.62%204.55%2027.27%2027.27%200%20007.68%202.53c2.65.51%205.56.51%208.21.76h63.22a45.08%2045.08%200%20008.21-.76%2027.27%2027.27%200%20007.68-2.53%2030.13%2030.13%200%20006.62-4.55%2022.41%2022.41%200%20004.76-6.32%2023.61%2023.61%200%20002.65-7.58%2078.47%2078.47%200%2000.79-7.83V34.06a39.32%2039.32%200%2000-.8-7.83zm-18.79%2075.54C101%2091%2090.37%2094.33%2085%2096.5c-11.11%206.13-26.38%206.76-41.75.47A64.53%2064.53%200%200113.84%2073a50%2050%200%200010.85%206.32c15.87%207.1%2031.73%206.61%2042.9%200-15.9-11.66-29.4-26.82-39.46-39.2a43.47%2043.47%200%2001-5.29-6.82c12.16%2010.61%2031.5%2024%2038.38%2027.79a271.77%20271.77%200%2001-27-32.34%20266.8%20266.8%200%200044.47%2034.87c.71.38%201.26.7%201.7%201a32.71%2032.71%200%20001.21-3.51c3.71-12.89-.53-27.54-9.79-39.67C93.25%2033.81%20106%2057.05%20100.66%2076.51c-.14.53-.29%201-.45%201.55l.19.22c10.6%2012.63%207.67%2026.02%206.35%2023.49z'/%3e%3c/svg%3e")}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:45 33% 97%;--foreground:248 24% 18%;--card:0 0% 100%;--card-foreground:248 24% 18%;--popover:0 0% 100%;--popover-foreground:248 24% 18%;--primary:253 70% 55%;--primary-foreground:0 0% 100%;--primary-depth:253 67% 38%;--secondary:252 36% 94%;--secondary-foreground:253 42% 34%;--muted:45 17% 93%;--muted-foreground:248 10% 44%;--accent:252 55% 94%;--accent-foreground:253 70% 42%;--destructive:0 72% 49%;--destructive-foreground:0 0% 100%;--success:153 64% 29%;--reward:79 78% 65%;--reward-foreground:92 55% 15%;--reward-depth:84 45% 42%;--reward-ink:90 65% 24%;--border:248 16% 88%;--input:248 16% 84%;--ring:253 70% 55%;--radius:1rem;--sidebar-background:var(--card);--sidebar-foreground:var(--foreground);--sidebar-primary:var(--primary);--sidebar-primary-foreground:var(--primary-foreground);--sidebar-accent:var(--accent);--sidebar-accent-foreground:var(--accent-foreground);--sidebar-border:var(--border);--sidebar-ring:var(--ring);--glass-bg:hsl(var(--card));--glass-border:hsl(var(--border));--glass-shadow:hsl(var(--foreground) / .06);--animation-duration-fast:.15s;--animation-duration-normal:.25s;--animation-duration-slow:.4s;--animation-easing:cubic-bezier(.4, 0, .2, 1);--animation-easing-bounce:cubic-bezier(.34, 1.56, .64, 1)}.dark{--background:248 22% 10%;--foreground:45 20% 95%;--card:248 20% 14%;--card-foreground:45 20% 95%;--popover:248 20% 14%;--popover-foreground:45 20% 95%;--primary:253 86% 73%;--primary-foreground:253 45% 15%;--primary-depth:253 45% 42%;--secondary:248 24% 22%;--secondary-foreground:252 80% 86%;--muted:248 15% 20%;--muted-foreground:248 14% 70%;--accent:248 30% 25%;--accent-foreground:252 90% 88%;--destructive:0 80% 67%;--destructive-foreground:0 0% 10%;--success:153 60% 65%;--reward-ink:79 78% 70%;--border:248 16% 27%;--input:248 16% 32%;--ring:253 86% 73%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;font-feature-settings:"cv02", "cv03", "cv04", "cv11";font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;font-family:Poppins,Inter,sans-serif;font-weight:600;line-height:1.2}h1{font-size:2.25rem;line-height:2.5rem}@media (width>=768px){h1{font-size:3rem;line-height:1}}@media (width>=1024px){h1{font-size:3.75rem;line-height:1}}h1{letter-spacing:-.02em}h2{font-size:1.875rem;line-height:2.25rem}@media (width>=768px){h2{font-size:2.25rem;line-height:2.5rem}}@media (width>=1024px){h2{font-size:3rem;line-height:1}}h2{letter-spacing:-.015em}h3{font-size:1.5rem;line-height:2rem}@media (width>=768px){h3{font-size:1.875rem;line-height:2.25rem}}@media (width>=1024px){h3{font-size:2.25rem;line-height:2.5rem}}h4{font-size:1.25rem;line-height:1.75rem}@media (width>=768px){h4{font-size:1.5rem;line-height:2rem}}@media (width>=1024px){h4{font-size:1.875rem;line-height:2.25rem}}p{line-height:1.625}pre{border-radius:var(--radius);background-color:hsl(var(--secondary));border:1px solid hsl(var(--border));padding:1rem;font-family:JetBrains Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;overflow:auto}code{background-color:hsl(var(--secondary));border-radius:.25rem;padding:.125rem .375rem;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.25rem}html{scroll-behavior:smooth}::selection{background-color:hsl(var(--primary) / .2);color:hsl(var(--foreground))}.\!container{width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width>=1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}.code-editor{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 3px 0 hsl(var(--border) / .65);border-radius:var(--radius);padding:1rem;font-family:JetBrains Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s}@media (width<=768px){.code-editor [role=tablist]{min-height:48px}.code-editor [role=tab]{min-height:44px;padding:12px 8px}}.code-editor{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-3{grid-column:span 3/span 3}.col-span-8{grid-column:span 8/span 8}.float-right{float:right}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-20{width:5rem;height:5rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[90dvh\]{height:90dvh}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-32{max-height:8rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[90dvh\]{max-height:90dvh}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-\[160px\]{min-height:160px}.min-h-\[2\.5rem\]{min-height:2.5rem}.min-h-\[3\.15rem\]{min-height:3.15rem}.min-h-\[50vh\]{min-height:50vh}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.6667%}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-32{width:8rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[30\%\]{width:30%}.w-\[95vw\]{width:95vw}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[2ch\]{min-width:2ch}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-56{max-width:14rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[1600px\]{max-width:1600px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{animation:2s linear infinite shimmer}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)_180px_40px\]{grid-template-columns:minmax(0,1fr) 180px 40px}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#3e3e42\]{--tw-border-opacity:1;border-color:rgb(62 62 66/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-border{border-color:hsl(var(--border))}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/15{border-color:hsl(var(--primary) / .15)}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-reward\/30{border-color:hsl(var(--reward) / .3)}.border-success{--tw-border-opacity:1;border-color:hsl(var(--success) / var(--tw-border-opacity,1))}.border-success\/20{border-color:hsl(var(--success) / .2)}.border-transparent{border-color:#0000}.border-white\/30{border-color:#ffffff4d}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-t-white{--tw-border-opacity:1;border-top-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-\[\#1e1e1e\]{--tw-bg-opacity:1;background-color:rgb(30 30 30/var(--tw-bg-opacity,1))}.bg-\[\#252526\]{--tw-bg-opacity:1;background-color:rgb(37 37 38/var(--tw-bg-opacity,1))}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/70{background-color:hsl(var(--background) / .7)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black\/20{background-color:#0003}.bg-black\/80{background-color:#000c}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-reward{--tw-bg-opacity:1;background-color:hsl(var(--reward) / var(--tw-bg-opacity,1))}.bg-reward\/20{background-color:hsl(var(--reward) / .2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-transparent{background-color:#0000}.bg-white\/50{background-color:#ffffff80}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:#fbbf2400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-background{--tw-gradient-from:hsl(var(--background)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:#60a5fa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-400{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:#34d39900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-500{--tw-gradient-from:#6b7280 var(--tw-gradient-from-position);--tw-gradient-to:#6b728000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-muted{--tw-gradient-from:hsl(var(--muted)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--muted) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:#fb923c00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from:#f472b6 var(--tw-gradient-from-position);--tw-gradient-to:#f472b600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from:hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/10{--tw-gradient-from:hsl(var(--primary) / .1) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:#9333ea00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-600{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:#dc262600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-400{--tw-gradient-from:#38bdf8 var(--tw-gradient-from-position);--tw-gradient-to:#38bdf800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:#facc1500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:#eab30800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-background{--tw-gradient-to:hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), hsl(var(--background)) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-400{--tw-gradient-to:#22d3ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #22d3ee var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-muted\/50{--tw-gradient-to:hsl(var(--muted) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), hsl(var(--muted) / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-orange-400{--tw-gradient-to:#fb923c00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #fb923c var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-rose-400{--tw-gradient-to:#fb718500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #fb7185 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-teal-400{--tw-gradient-to:#2dd4bf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #2dd4bf var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.to-fuchsia-500{--tw-gradient-to:#d946ef var(--tw-gradient-to-position)}.to-gray-700{--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.to-green-500{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.to-muted{--tw-gradient-to:hsl(var(--muted)) var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to:#fb923c var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-primary\/5{--tw-gradient-to:hsl(var(--primary) / .05) var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.to-purple-800{--tw-gradient-to:#6b21a8 var(--tw-gradient-to-position)}.to-red-400{--tw-gradient-to:#f87171 var(--tw-gradient-to-position)}.to-secondary\/20{--tw-gradient-to:hsl(var(--secondary) / .2) var(--tw-gradient-to-position)}.to-yellow-500{--tw-gradient-to:#eab308 var(--tw-gradient-to-position)}.to-yellow-700{--tw-gradient-to:#a16207 var(--tw-gradient-to-position)}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.bg-cover{background-size:cover}.bg-center{background-position:50%}.fill-blue-100{fill:#dbeafe}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-28{padding-bottom:7rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:JetBrains Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-sm\/relaxed{font-size:.875rem;line-height:1.625}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-reward-foreground{--tw-text-opacity:1;color:hsl(var(--reward-foreground) / var(--tw-text-opacity,1))}.text-reward-ink{--tw-text-opacity:1;color:hsl(var(--reward-ink) / var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-success{--tw-text-opacity:1;color:hsl(var(--success) / var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_2px_0_hsl\(var\(--border\)\)\]{--tw-shadow:0 2px 0 hsl(var(--border));--tw-shadow-colored:0 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_3px_0_hsl\(var\(--border\)\/0\.65\)\]{--tw-shadow:0 3px 0 hsl(var(--border)/.65);--tw-shadow-colored:0 3px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_3px_0_hsl\(var\(--primary-depth\)\)\]{--tw-shadow:0 3px 0 hsl(var(--primary-depth));--tw-shadow-colored:0 3px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_3px_0_hsl\(var\(--reward-depth\)\)\]{--tw-shadow:0 3px 0 hsl(var(--reward-depth));--tw-shadow-colored:0 3px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-primary\/10{--tw-shadow-color:hsl(var(--primary) / .1);--tw-shadow:var(--tw-shadow-colored)}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary) / .2);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-md{--tw-blur:blur(12px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px #0000000d);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in,.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-fade-in-up,.animate-fade-in-down,.animate-fade-in-left,.animate-fade-in-right,.animate-scale-in,.animate-bounce-in{opacity:1;animation:none;transform:none}.animate-blob,.animate-float,.animate-text,.animate-bounce,.code-rain-line,.code-rain-character,.typing-code,.typing-cursor{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px)}.backdrop-blur-lg{-webkit-backdrop-filter:blur(12px)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}[data-journey]{--journey-tone:var(--primary)}[data-journey=beginner]{--journey-tone:var(--success)}[data-journey=expert]{--journey-tone:var(--reward-ink)}.learning-hero{border:1px solid hsl(var(--primary) / .18);background:radial-gradient(ellipse at 90% 20%, hsl(var(--reward) / .2), transparent 45%), hsl(var(--accent) / .55);border-radius:1.75rem;grid-template-columns:1fr 300px;align-items:center;gap:2rem;margin-bottom:3rem;padding:clamp(1.5rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.learning-hero h1{letter-spacing:-.045em;font-size:clamp(2.4rem,4.5vw,4.25rem);font-weight:850;line-height:1.06}.learning-hero h1 span{color:hsl(var(--primary))}.learning-hero-copy{max-width:34rem;color:hsl(var(--muted-foreground));margin:1.25rem 0;line-height:1.7}.learning-hero-art{place-items:center;height:260px;display:grid;position:relative}.learning-hero-art .swift-buddy{z-index:1;transform:scale(1.5)}.learning-orbit{border:2px dashed hsl(var(--primary) / .18);border-radius:50%;width:230px;max-width:100%;height:230px;position:absolute;transform:rotate(-25deg)}.learning-orbit-two{width:290px;height:180px;transform:rotate(30deg)}.learning-art-caption{z-index:2;background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 4px 0 hsl(var(--border));border-radius:.8rem;padding:.55rem 1rem;font-size:.8rem;font-weight:800;position:absolute;bottom:0;transform:rotate(-5deg)}.learning-choice{border-top:4px solid hsl(var(--journey-tone));flex-direction:column;transition:transform .2s;display:flex;position:relative;overflow:hidden}.learning-choice:hover{transform:translateY(-4px)}.learning-choice[data-active=true]{outline:2px solid hsl(var(--journey-tone));outline-offset:3px}.learning-choice-icon{width:3.75rem;height:3.75rem;color:hsl(var(--journey-tone));background:hsl(var(--journey-tone) / .1);border-bottom:4px solid hsl(var(--journey-tone) / .2);border-radius:1.2rem;place-items:center;display:grid;transform:rotate(-6deg)}.learning-choice-icon svg{width:1.8rem;height:1.8rem}.learning-mini-trail{background:hsl(var(--journey-tone) / .045);border-radius:1rem;justify-content:center;align-items:center;padding:1.5rem .5rem;display:flex}.learning-mini-trail span{border:2px solid hsl(var(--journey-tone) / .2);width:2.6rem;height:2.6rem;color:hsl(var(--journey-tone));background:hsl(var(--card));border-bottom-width:5px;border-radius:50%;place-items:center;display:grid}.learning-mini-trail span:nth-of-type(2){background:hsl(var(--journey-tone) / .1);transform:translateY(-.6rem)}.learning-mini-trail svg{width:1.15rem;height:1.15rem}.learning-mini-trail i{border-top:3px dotted hsl(var(--journey-tone) / .25);width:2rem}.learning-active{border:1px solid hsl(var(--primary) / .2);background:hsl(var(--accent) / .45);border-radius:1rem;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.learning-active>svg{color:hsl(var(--primary));flex-shrink:0}.learning-path-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.learning-path-progress{border:1px solid hsl(var(--journey-tone) / .2);background:hsl(var(--journey-tone) / .045);border-radius:1rem;flex-direction:column;gap:.7rem;margin:2rem 0;padding:1.5rem;display:flex}.learning-path-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:3rem;max-width:1100px;margin:0 auto;display:grid}.learning-chapter{border:1px solid hsl(var(--border));background:radial-gradient(hsl(var(--journey-tone) / .07) 1px, transparent 1px), hsl(var(--card));background-size:20px 20px;border-radius:1.25rem;margin-bottom:2rem;overflow:hidden}.learning-chapter-heading{border-bottom:1px solid hsl(var(--border));background:hsl(var(--journey-tone) / .06);align-items:center;gap:1rem;padding:1.2rem 1.5rem;display:flex}.learning-chapter-heading>span{color:hsl(var(--journey-tone));opacity:.8;font-size:1.8rem;font-weight:850}.learning-chapter-heading .eyebrow{margin-bottom:.15rem;font-size:.6rem}.learning-trail{--trail-bend:75px;max-width:420px;margin:0 auto;padding:3rem 0 .5rem;list-style:none}.learning-step{width:200px;height:196px;margin:0 auto;scroll-margin-top:7rem;position:relative}.learning-step[data-position="1"]{transform:translateX(var(--trail-bend))}.learning-step[data-position="3"]{transform:translateX(calc(-1 * var(--trail-bend)))}.learning-step-content{flex-direction:column;align-items:center;gap:.5rem;display:flex;position:relative}.learning-node{z-index:1;border:2px solid hsl(var(--journey-tone) / .25);width:72px;height:68px;color:hsl(var(--journey-tone));background:hsl(var(--card));border-bottom-width:7px;border-radius:50%;place-items:center;transition:transform .15s,box-shadow .15s;display:grid;position:relative}.learning-node svg{stroke-width:3px;width:27px;height:27px}a.learning-node:hover{box-shadow:0 4px 0 hsl(var(--journey-tone) / .1);transform:translateY(-3px)}a.learning-node:active{transform:translateY(3px)}a.learning-node:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:6px}.learning-node[data-state=complete]{color:hsl(var(--reward-foreground));background:hsl(var(--reward));border-color:hsl(var(--reward-depth))}.learning-node[data-state=current]{color:hsl(var(--primary-foreground));background:hsl(var(--primary));border-color:hsl(var(--primary-depth));outline:6px solid hsl(var(--primary) / .13);outline-offset:5px}.learning-node[data-state=locked]{color:hsl(var(--muted-foreground));border-color:hsl(var(--border));background:hsl(var(--muted))}.learning-start-label{z-index:2;color:hsl(var(--primary));background:hsl(var(--card));border:1px solid hsl(var(--primary) / .2);letter-spacing:.08em;white-space:nowrap;border-radius:.5rem;padding:.2rem .6rem;font-size:.6rem;font-weight:850;position:absolute;top:-2rem}.learning-step-title{z-index:1;background:hsl(var(--card));text-align:center;overflow-wrap:anywhere;border-radius:.35rem;max-width:155px;padding:.15rem .4rem;font-size:.8rem;font-weight:750;line-height:1.35;position:relative}.learning-step-meta{z-index:1;background:hsl(var(--card));color:hsl(var(--muted-foreground));text-transform:capitalize;padding:0 .3rem;font-size:.65rem;position:relative}.learning-step-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.learning-connector{fill:none;pointer-events:none;width:200px;height:196px;position:absolute;top:30px;left:0}.learning-connector path{stroke:hsl(var(--journey-tone) / .18);stroke-width:5px;stroke-dasharray:3 10;stroke-linecap:round}.learning-checkpoint{border:1px dashed hsl(var(--border));background:hsl(var(--card));border-radius:.8rem;justify-content:center;align-items:center;gap:.8rem;margin:0 1rem 1rem;padding:1rem;display:flex}.learning-checkpoint>svg{width:2rem;height:2rem;color:hsl(var(--muted-foreground))}.learning-checkpoint strong{font-size:.85rem}.learning-checkpoint p{color:hsl(var(--muted-foreground));font-size:.7rem}.learning-checkpoint[data-earned=true]{border-color:hsl(var(--reward-depth));background:hsl(var(--reward) / .12)}.learning-checkpoint[data-earned=true]>svg{color:hsl(var(--reward-ink))}.learning-companion{position:sticky;top:6rem}.learning-companion-buddy{place-items:center;padding:1.5rem 0;display:grid}.learning-stat-pair{border-block:1px solid hsl(var(--border));grid-template-columns:1fr 1fr;padding:1rem 0;display:grid}.learning-stat-pair>div{flex-direction:column;align-items:center;gap:.2rem;display:flex}.learning-stat-pair>div+div{border-left:1px solid hsl(var(--border))}.learning-stat-pair strong{color:hsl(var(--journey-tone));font-size:1.8rem}.learning-stat-pair span{color:hsl(var(--muted-foreground));font-size:.7rem}.learning-finish{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.learning-finish>svg{width:3rem;height:3rem;color:hsl(var(--journey-tone))}[data-journey],.challenge-quest-card,.dashboard-playground,.onboarding-playground,.profile-playground,.game-page,.pro-dialog{--quest-debug:12 88% 73%;--quest-debug-ink:12 65% 20%;--quest-debug-depth:12 55% 48%;--quest-trace:193 80% 73%;--quest-trace-ink:200 70% 20%;--quest-trace-depth:194 45% 45%;--quest-build:43 100% 70%;--quest-build-ink:35 75% 20%;--quest-build-depth:38 65% 46%}.learning-node[data-kind]{--node-face:var(--primary);--node-ink:var(--primary-foreground);--node-depth:var(--primary-depth)}.learning-node[data-kind=complete]{--node-face:var(--reward);--node-ink:var(--reward-foreground);--node-depth:var(--reward-depth)}.learning-node[data-kind=debug]{--node-face:var(--quest-debug);--node-ink:var(--quest-debug-ink);--node-depth:var(--quest-debug-depth)}.learning-node[data-kind=trace]{--node-face:var(--quest-trace);--node-ink:var(--quest-trace-ink);--node-depth:var(--quest-trace-depth)}.learning-node[data-kind=build]{--node-face:var(--quest-build);--node-ink:var(--quest-build-ink);--node-depth:var(--quest-build-depth)}.learning-node[data-state=ready]{color:hsl(var(--node-ink));background:hsl(var(--node-face));border-color:hsl(var(--node-depth))}.learning-node{box-shadow:inset 0 3px 0 hsl(var(--card) / .4), 0 4px 0 hsl(var(--foreground) / .06)}.learning-node:before{content:"";opacity:.13;border-radius:inherit;pointer-events:none;border:2px solid;position:absolute;inset:5px 7px 9px}.learning-node .quest-icon{place-items:center;display:grid;transform:rotate(-8deg)}.learning-node .quest-icon svg{stroke-width:2.4px;fill:currentColor;fill-opacity:.15;width:32px;height:32px}.learning-node[data-kind=trace] .quest-icon{transform:rotate(12deg)}.learning-node[data-kind=build] .quest-icon svg{fill-opacity:.25}.learning-node[data-state=locked] .quest-icon{transform:none}.quest-state-badge{border:3px solid hsl(var(--card));width:25px;height:25px;color:hsl(var(--primary));background:hsl(var(--card));box-shadow:0 2px 0 hsl(var(--border));border-radius:50%;place-items:center;display:grid;position:absolute;top:-7px;right:-6px}.learning-node .quest-state-badge svg{stroke-width:3.5px;width:13px;height:13px}.learning-node[data-state=complete] .quest-state-badge{background:hsl(var(--success));color:hsl(var(--card))}.quest-sparkles{pointer-events:none;position:absolute;inset:0}.learning-node .quest-sparkles svg{width:13px;height:13px;color:hsl(var(--primary));fill:currentColor;stroke-width:1px;position:absolute}.quest-sparkles svg:first-child{top:10px;left:-23px}.quest-sparkles svg:last-child{width:10px;height:10px;bottom:4px;right:-23px}.learning-step-meta{text-align:center;line-height:1.5}.learning-start-label{box-shadow:0 3px 0 hsl(var(--primary) / .12)}.learning-start-label:after{content:"";background:hsl(var(--card));border-right:1px solid hsl(var(--primary) / .2);border-bottom:1px solid hsl(var(--primary) / .2);width:8px;height:8px;position:absolute;bottom:-5px;left:calc(50% - 4px);transform:rotate(45deg)}.learning-checkpoint{background:linear-gradient(110deg, hsl(var(--quest-build) / .12), hsl(var(--card)));border-style:solid;gap:1.25rem;min-height:110px}.quest-chest{--chest-gold:var(--quest-build);--chest-ink:var(--quest-build-ink);--chest-depth:var(--quest-build-depth);flex-shrink:0;width:72px;height:78px;position:relative}.quest-chest-base{border:3px solid hsl(var(--chest-depth));background:hsl(var(--chest-ink));width:56px;height:35px;box-shadow:inset 7px 0 hsl(var(--chest-gold)), inset -7px 0 hsl(var(--chest-gold)), 0 5px 0 hsl(var(--foreground) / .08);border-bottom-width:6px;border-radius:4px 4px 9px 9px;position:absolute;bottom:7px;left:8px}.quest-chest-lid{z-index:1;border:3px solid hsl(var(--chest-depth));background:hsl(var(--chest-gold));width:62px;height:24px;box-shadow:inset 0 4px 0 hsl(var(--card) / .4);transform-origin:12% 100%;border-radius:10px 10px 3px 3px;position:absolute;bottom:35px;left:5px}.quest-chest-clasp{z-index:2;border:2px solid hsl(var(--chest-depth));width:18px;height:22px;color:hsl(var(--chest-ink));background:hsl(var(--chest-gold));border-radius:3px;place-items:center;display:grid;position:absolute;top:0;left:16px}.quest-chest-clasp svg{stroke-width:3px;width:11px;height:11px}.quest-chest-prize{z-index:2;color:hsl(var(--primary));opacity:0;position:absolute;top:4px;left:25px;transform:translateY(15px)scale(.5)}.quest-chest-prize svg{width:25px;height:25px;fill:hsl(var(--primary) / .2);stroke-width:2.5px}.quest-chest-spark{color:hsl(var(--reward-ink));opacity:0;font-size:15px;position:absolute}.quest-chest-spark-left{top:3px;left:0}.quest-chest-spark-right{font-size:11px;top:17px;right:1px}.quest-chest[data-open=true] .quest-chest-lid{transform:translateY(-9px)rotate(-16deg)}.quest-chest[data-open=true] .quest-chest-prize{opacity:1;transform:translateY(-7px)}.quest-chest[data-open=true] .quest-chest-spark{opacity:1}@media (prefers-reduced-motion:no-preference){.learning-node[data-state=current] .quest-icon{animation:1.6s ease-in-out 3 quest-float}.learning-node[data-state=current] .quest-sparkles svg{animation:1.5s ease-in-out 3 quest-twinkle}.learning-node[data-state=current] .quest-sparkles svg:last-child{animation-delay:.2s}.learning-step[data-current=true] .learning-start-label{animation:1.6s ease-in-out 3 quest-label-bob}a.learning-node:is(:hover,:focus-visible) .quest-icon{animation:.45s ease-in-out quest-wiggle}.quest-chest[data-open=true] .quest-chest-prize{animation:1.4s ease-in-out 3 quest-prize}.learning-checkpoint:hover .quest-chest{animation:.45s ease-in-out quest-wiggle}}@keyframes quest-float{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-4px)rotate(3deg)}}@keyframes quest-twinkle{0%,to{opacity:.6;transform:scale(.8)rotate(-10deg)}50%{opacity:1;transform:scale(1.15)rotate(12deg)}}@keyframes quest-label-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes quest-wiggle{0%,to{transform:rotate(0)}30%{transform:rotate(-12deg)}70%{transform:rotate(9deg)}}@keyframes quest-prize{0%,to{transform:translateY(-7px)}50%{transform:translateY(-11px)rotate(8deg)}}@media (width<=900px){.learning-path-layout{grid-template-columns:minmax(0,1fr);gap:2rem;max-width:650px}.learning-companion{position:static}.learning-hero{grid-template-columns:1fr 200px}.learning-hero-art{transform:scale(.8)}}@media (width<=600px){.learning-hero{grid-template-columns:1fr;gap:0}.learning-hero-art{height:210px;margin-top:1rem}.learning-trail{--trail-bend:48px}.learning-step{width:150px}.learning-connector{width:128px;left:11px}.learning-step-title{max-width:130px}.learning-chapter-heading,.learning-path-progress{padding:1rem}.learning-active>div:first-of-type{flex-basis:calc(100% - 3rem)}}@media (prefers-reduced-motion:reduce){.learning-choice,.learning-node{transition:none}.learning-choice:hover,a.learning-node:hover,a.learning-node:active{transform:none}}.prediction-code-preview{color:#d4d4d4;background:#1e1e1e}.prediction-code-content{min-height:160px;color:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;margin:0;padding:1rem;font-family:JetBrains Mono,monospace;font-size:16px;line-height:24px;overflow:visible}.prediction-code-content:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:-2px}.prediction-code-content>code{font:inherit;color:inherit;background:0 0;border:0;border-radius:0;padding:0;display:block;overflow:visible}.prediction-code-line{grid-template-columns:3ch minmax(0,1fr);gap:.75rem;min-height:24px;display:grid}.prediction-code-line-number{color:#858585;text-align:right;-webkit-user-select:none;user-select:none}.prediction-code-line-number:before{content:attr(data-line)}.prediction-code-line-text{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;min-width:0}.site-header{background:hsl(var(--card) / .94);border-bottom:1px solid hsl(var(--border));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-brand{letter-spacing:-.05em;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:800;display:flex}.site-brand>span>span{color:hsl(var(--primary))}.brand-mark{background:hsl(var(--primary));width:2.2rem;height:2.2rem;color:hsl(var(--primary-foreground));box-shadow:0 3px 0 hsl(var(--primary-depth));border-radius:.75rem;place-items:center;display:grid;transform:rotate(-7deg)}.brand-mark svg{width:1.25rem;height:1.25rem}.account-menu{width:13rem;max-width:calc(100vw - 1.5rem);padding:.375rem}.account-menu [role=group]{flex-direction:column;gap:.125rem;display:flex}.account-menu [role=menuitem]{border-radius:.625rem;gap:.75rem;min-height:2.625rem;padding:.625rem .75rem}.account-menu [role=menuitem]>svg{flex-shrink:0;width:1.125rem;height:1.125rem}.account-menu [role=separator]{margin:.375rem .5rem}.desktop-navigation{align-items:center;gap:.25rem;display:flex}.site-nav-link{color:hsl(var(--muted-foreground));border-radius:.8rem;align-items:center;gap:.45rem;padding:.7rem .8rem;font-size:.8rem;font-weight:650;transition:background .15s,color .15s;display:flex}.site-nav-link svg{width:1rem;height:1rem}.site-nav-link:hover,.site-nav-link[aria-current=page]{color:hsl(var(--primary));background:hsl(var(--accent))}.site-nav-link[aria-current=page]{box-shadow:inset 0 -2px 0 hsl(var(--primary) / .2)}.pricing-link{color:hsl(var(--primary));align-items:center;gap:.25rem;font-size:.8rem;font-weight:750;display:flex}.mobile-menu-trigger,.mobile-quick-navigation{display:none}.mobile-navigation{flex-direction:column;gap:.5rem;padding-top:2rem;display:flex}.mobile-navigation .site-nav-link{padding:1rem;font-size:1rem}.eyebrow{color:hsl(var(--primary));letter-spacing:.14em;align-items:center;gap:.45rem;margin-bottom:.8rem;font-size:.65rem;font-weight:800;display:flex}.eyebrow svg{width:.9rem;height:.9rem}.section-heading{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.75rem;display:flex}.section-heading h2{font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:750}.section-heading>p,.section-heading>div>p:last-child:not(.eyebrow){color:hsl(var(--muted-foreground));margin-top:.75rem;font-size:.95rem}.home-hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:2rem;padding-block:5.5rem 5rem;display:grid}.modern-home{overflow-x:clip}.home-hero-copy{flex-direction:column;align-items:flex-start;gap:1.7rem;display:flex}.home-hero-copy h1{letter-spacing:-.055em;font-size:clamp(2.7rem,4.4vw,4.2rem);font-weight:800;line-height:1.13}.home-hero-copy h1>span{color:hsl(var(--primary))}.home-hero-copy>p{max-width:31rem;color:hsl(var(--muted-foreground));font-size:1.05rem;line-height:1.85}.home-reassurance{color:hsl(var(--muted-foreground));flex-wrap:wrap;gap:1rem;font-size:.7rem;display:flex}.home-reassurance>span{align-items:center;gap:.3rem;display:flex}.home-reassurance svg{width:.9rem;height:.9rem;color:hsl(var(--success))}.home-playground{min-width:0;height:28rem;position:relative}.playground-orbit{background:hsl(var(--accent));border:1px solid hsl(var(--primary) / .08);border-radius:48% 52% 43% 57%;position:absolute;inset:1rem 0;transform:rotate(-12deg)}.playground-caption{letter-spacing:.15em;color:hsl(var(--primary));font-size:.6rem;font-weight:800;position:absolute;top:1.6rem;left:1rem;transform:rotate(-8deg)}.swift-buddy{flex-shrink:0;width:9rem;height:10rem;position:relative}.buddy-body{background:hsl(var(--reward));border:2px solid hsl(var(--reward-depth));box-shadow:inset -7px -8px 0 hsl(var(--reward-depth) / .25);border-radius:43% 43% 36% 36%;animation:4s ease-in-out 2 buddy-bob;position:absolute;inset:.5rem .5rem 1.5rem;transform:rotate(-8deg)}.buddy-body:before,.buddy-body:after{content:"";background:hsl(var(--reward));border:2px solid hsl(var(--reward-depth));z-index:-1;border-radius:50%;width:1.5rem;height:2.8rem;position:absolute;top:50%}.buddy-body:before{left:-1rem;transform:rotate(30deg)}.buddy-body:after{right:-1rem;transform:rotate(-40deg)}.buddy-eyes{justify-content:space-between;display:flex;position:absolute;top:27%;left:27%;right:27%}.buddy-eyes i{background:hsl(var(--reward-foreground));border-radius:50%;width:20%;height:1.1rem}.buddy-eyes i:after{content:"";background:#fff;border-radius:50%;width:35%;height:25%;margin:20%;display:block}.buddy-smile{border-bottom:3px solid hsl(var(--reward-foreground));border-radius:0 0 50% 50%;width:22%;height:13%;position:absolute;top:44%;left:39%}.buddy-code{text-align:center;color:hsl(var(--reward-foreground) / .7);font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:800;position:absolute;bottom:13%;left:0;right:0}.buddy-spark{color:hsl(var(--primary));font-size:2.2rem;position:absolute;top:-1rem;right:-1rem}.buddy-shadow{background:hsl(var(--foreground) / .09);border-radius:50%;height:.8rem;position:absolute;bottom:.3rem;left:16%;right:16%}.home-buddy{width:10rem;height:11rem;position:absolute;top:1rem;right:5rem}.demo-code{color:#f3f1fb;box-shadow:0 10px 0 hsl(var(--primary) / .12), 0 20px 40px hsl(var(--foreground) / .12);background:#252339;border:1px solid #49425e;border-radius:1.15rem;position:absolute;top:10.5rem;left:1rem;right:1.5rem;overflow:hidden;transform:rotate(-3deg)}.demo-code-heading{color:#b9b4cf;border-bottom:1px solid #49425e;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;font-family:monospace;font-size:.65rem;display:flex}.demo-code-heading>span:first-child{gap:.3rem;display:flex}.demo-code-heading i{background:#82768e;border-radius:50%;width:.5rem;height:.5rem}.demo-code-heading i:first-child{background:#ffb594}.demo-code-heading i:last-child{background:#c6eb65}.demo-code pre,.demo-code code{background:0 0;border:0;margin:0;padding:0;font-size:.75rem;line-height:2}.demo-code pre{padding:1.3rem}.demo-comment{color:#afa8c3}.demo-keyword{color:#c7adff}.demo-code-success{color:#c6eb65;background:#303d2b;align-items:center;gap:.5rem;padding:.9rem 1.2rem;font-size:.7rem;font-weight:600;display:flex}.demo-code-success svg{width:1rem;height:1rem}.demo-code-success svg:last-child{margin-left:auto}.playground-sticker{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 4px 0 hsl(var(--border));border-radius:1rem;align-items:center;gap:.8rem;padding:.8rem 1.3rem;display:flex;position:absolute;bottom:.5rem;right:-.5rem;transform:rotate(7deg)}.playground-sticker>svg{color:hsl(var(--primary))}.playground-sticker span{color:hsl(var(--muted-foreground));font-size:.7rem}.playground-sticker strong{color:hsl(var(--foreground));font-size:.85rem;display:block}.playground-star{color:hsl(var(--primary));font-size:4rem;position:absolute;top:6rem;left:1.5rem;transform:rotate(10deg)}.language-ribbon{background:hsl(var(--card));border-block:1px solid hsl(var(--border));flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;padding:1.5rem;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;display:flex}.language-ribbon>span:first-child{letter-spacing:.12em;color:hsl(var(--muted-foreground));font-family:Inter,sans-serif;font-size:.6rem}.home-features{padding-block:4.5rem}.home-section{padding-block:clamp(3.5rem,6vw,6rem)}.home-section-copy{flex-direction:column;align-items:flex-start;gap:1.25rem;min-width:0;display:flex}.home-section-copy h2{letter-spacing:-.04em;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.18}.home-section-copy h2 span{color:hsl(var(--primary))}.home-section-copy>p:not(.eyebrow){max-width:34rem;color:hsl(var(--muted-foreground));line-height:1.8}.home-how{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);scroll-margin-top:6rem;display:grid}.home-steps{flex-direction:column;gap:1.75rem;margin-top:1rem;display:flex}.home-steps li{align-items:flex-start;gap:1.25rem;display:flex}.home-steps h3{margin-bottom:.4rem;font-size:1rem}.home-steps p{color:hsl(var(--muted-foreground));font-size:.9rem;line-height:1.7}.home-step-icon{border:1px solid hsl(var(--primary) / .15);background:hsl(var(--primary) / .07);width:3rem;height:3rem;color:hsl(var(--primary));border-radius:1rem;flex-shrink:0;place-items:center;display:grid;position:relative}.home-step-icon svg{width:1.35rem;height:1.35rem}.home-step-icon span{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-size:.6rem;font-weight:800;display:grid;position:absolute;bottom:-.35rem;right:-.35rem}.home-first-win{border-top:4px solid hsl(var(--primary));min-width:0;box-shadow:0 6px 0 hsl(var(--border) / .7);border-radius:1.5rem}.home-first-win h3{font-size:1.3rem;line-height:1.3}.home-first-win[data-solved=true]{border-top-color:hsl(var(--success))}.home-preview-code{color:#f3f1fb;background:#252339;border:1px solid #49425e;border-radius:.85rem;overflow:hidden}.home-preview-code-label{color:#b9b4cf;border-bottom:1px solid #49425e;padding:.8rem 1rem;font-size:.7rem}.home-preview-code pre,.home-preview-code code{background:0 0;border:none;font-size:.8rem;line-height:1.9}.home-preview-code pre{margin:0;padding:1rem}.home-preview-code code{padding:0}.home-code-number{color:#c6eb65}.home-answer{border:2px solid hsl(var(--border));border-radius:.75rem;gap:.5rem;padding-inline:.7rem;transition:border-color .15s,background-color .15s}.home-answer[data-selected=true]{border-color:hsl(var(--primary));background:hsl(var(--primary) / .07)}.home-answer label{cursor:pointer;flex:1;align-items:center;min-height:3rem}.home-preview-feedback{min-height:5rem;color:hsl(var(--muted-foreground));align-items:flex-start;gap:.6rem;font-size:.85rem;display:flex}.home-preview-feedback svg{width:1.2rem;height:1.2rem;color:hsl(var(--primary));flex-shrink:0;margin-top:.2rem}.home-first-win[data-solved=true] .home-preview-feedback{color:hsl(var(--success))}.home-first-win[data-solved=true] .home-preview-feedback svg{color:inherit}.home-path-section{border-block:1px solid hsl(var(--border));background:radial-gradient(ellipse at 10% 10%, hsl(var(--reward) / .12), transparent 50%), hsl(var(--accent) / .3)}.home-path-card{border-radius:1.25rem}.home-path-card h3{font-size:1.45rem}.home-path-trail{color:hsl(var(--journey-tone));justify-content:center;align-items:center;gap:.7rem;padding:1.5rem .5rem;display:flex}.home-path-trail>svg{box-sizing:content-box;background:hsl(var(--journey-tone) / .08);border:2px solid hsl(var(--journey-tone) / .2);border-bottom-width:5px;border-radius:50%;width:1.4rem;height:1.4rem;padding:.65rem}.home-path-trail>svg:nth-of-type(2){transform:translateY(-.6rem)}.home-path-trail>span{border-top:3px dotted hsl(var(--journey-tone) / .3);flex:1;max-width:2rem}.home-faq{border-top:1px solid hsl(var(--border));grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);display:grid}.home-questions button{text-align:left;gap:1rem;min-height:4.5rem;line-height:1.5}.home-questions h3{font-size:1rem}.home-questions [role=region]{color:hsl(var(--muted-foreground));line-height:1.8}.home-text-link{color:hsl(var(--primary));text-underline-offset:4px;font-weight:600;text-decoration:underline}.home-text-link:hover{text-decoration-thickness:2px}.site-skip-link{z-index:1;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:.7rem;padding:.75rem 1rem;position:fixed;top:.5rem;left:1rem}.site-skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;overflow:hidden}#main-content{scroll-margin-top:5rem}[data-nosnippet] main a{overflow-wrap:anywhere}@media (prefers-reduced-motion:no-preference){.home-first-win[data-solved=true] .home-preview-feedback svg{animation:.4s ease-out home-win-pop}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@keyframes home-win-pop{0%{transform:scale(.5)rotate(-20deg)}65%{transform:scale(1.25)}to{transform:scale(1)}}@media (width<=767px){.home-how,.home-faq{grid-template-columns:minmax(0,1fr)}.site-footer{padding-bottom:calc(4rem + env(safe-area-inset-bottom,0px))}}.feature-card{--card:var(--background);box-shadow:none;border:0}.feature-card h3{font-size:1.1rem;line-height:1.5}.feature-card p{line-height:1.85}.feature-icon,.journey-icon{background:hsl(var(--accent));width:3.2rem;height:3.2rem;color:hsl(var(--primary));border-radius:1rem;place-items:center;margin-bottom:1rem;display:grid;transform:rotate(-5deg)}.feature-card[data-tone=lime] .feature-icon{background:hsl(var(--reward) / .3);color:hsl(var(--reward-ink))}.feature-card[data-tone=peach] .feature-icon{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.home-invitation{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:1.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;padding:2.5rem;display:flex}.home-invitation .eyebrow{color:inherit;opacity:.8}.home-invitation h2{font-size:clamp(1.4rem,3vw,2rem)}.home-invitation p:last-child{opacity:.85;margin-top:.8rem}.hub-heading{margin-block:.5rem 2rem}.hub-heading h1{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:750}.hub-overview{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:1.5rem;margin-bottom:3rem;display:grid}.next-challenge{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:1.25rem;align-items:center;gap:2rem;padding:2rem;display:flex;position:relative;overflow:hidden}.next-challenge:after{content:"";border:35px solid hsl(var(--primary-foreground) / .05);pointer-events:none;border-radius:50%;width:18rem;height:18rem;position:absolute;top:-3rem;right:-4rem}.next-challenge-copy{z-index:1;flex-direction:column;flex:1;align-items:flex-start;gap:1rem;min-width:0;display:flex;position:relative}.next-challenge h2{font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.3}.next-challenge p{opacity:.88;max-width:30rem;font-size:.85rem}.next-challenge{--reward-ink:var(--primary-foreground)}.next-challenge .buddy-spark{color:hsl(var(--reward))}.next-reward{align-items:center;gap:.3rem;font-size:.75rem;font-weight:700;display:flex}.next-reward svg{width:1rem;height:1rem}.journey-card h3{font-size:1rem}.journey-icon{background:hsl(var(--reward) / .25);width:2.5rem;height:2.5rem;color:hsl(var(--reward-ink));margin-bottom:.5rem}.journey-count{font-size:2rem;font-weight:800;line-height:1.2}.journey-count span{color:hsl(var(--muted-foreground));font-size:.8rem;font-weight:500}.hub-library{padding-bottom:3rem}.hub-library .section-heading h2{font-size:1.5rem}.hub-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hub-filters input,.hub-filters button[role=combobox]{background:hsl(var(--card))}.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.activity-card{flex-direction:column;min-width:0;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.activity-card:hover,.activity-card:focus-within{border-color:hsl(var(--primary) / .5);box-shadow:0 6px 0 hsl(var(--primary) / .1);transform:translateY(-4px)}.activity-card[data-completed=true]{border-color:hsl(var(--success) / .3)}.activity-card-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.activity-icon{background:hsl(var(--accent));width:2.7rem;height:2.7rem;color:hsl(var(--primary));border-radius:.85rem;place-items:center;display:grid}.activity-icon svg{width:1.3rem;height:1.3rem}.activity-card[data-difficulty=very\ easy] .activity-icon,.activity-card[data-completed=true] .activity-icon{background:hsl(var(--success) / .1);color:hsl(var(--success))}.activity-card[data-difficulty=medium] .activity-icon{background:hsl(var(--reward) / .3);color:hsl(var(--reward-ink))}.activity-card[data-difficulty=hard] .activity-icon{background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.activity-label{text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground));justify-content:space-between;font-size:.6rem;font-weight:750;display:flex}.activity-label span{font-family:JetBrains Mono,monospace}.activity-card h3{margin-top:.2rem;font-size:1.05rem;line-height:1.5}.activity-card h3 a:hover{color:hsl(var(--primary))}.activity-time,.activity-xp{color:hsl(var(--muted-foreground));align-items:center;gap:.3rem;font-size:.7rem;display:inline-flex}.activity-time svg{width:.8rem;height:.8rem}.activity-xp{color:hsl(var(--primary));font-size:.8rem;font-weight:800}.activity-xp svg{width:1rem;height:1rem;fill:hsl(var(--primary) / .15)}.difficulty-badge{--difficulty-face:89 78% 78%;--difficulty-ink:104 65% 20%;--difficulty-edge:96 45% 49%;color:hsl(var(--difficulty-ink));background:hsl(var(--difficulty-face));border-color:hsl(var(--difficulty-edge) / .45);box-shadow:0 2px 0 hsl(var(--difficulty-edge) / .22);white-space:nowrap;padding:.3rem .6rem}.difficulty-badge[data-difficulty=easy]{--difficulty-face:155 60% 81%;--difficulty-ink:161 70% 19%;--difficulty-edge:158 40% 45%}.difficulty-badge[data-difficulty=medium]{--difficulty-face:43 100% 80%;--difficulty-ink:31 75% 21%;--difficulty-edge:38 65% 48%}.difficulty-badge[data-difficulty=hard]{--difficulty-face:12 90% 84%;--difficulty-ink:6 65% 27%;--difficulty-edge:12 55% 51%}.difficulty-pips{align-items:end;gap:2px;margin-right:.2rem;display:flex}.difficulty-pips i{opacity:.18;background:currentColor;border-radius:1px;width:3px;height:4px;display:block}.difficulty-pips i:nth-child(2){height:6px}.difficulty-pips i:nth-child(3){height:8px}.difficulty-pips i:nth-child(4){height:10px}.difficulty-pips i[data-filled=true]{opacity:1}.challenge-quest-card{background-image:radial-gradient(ellipse at 0 0, hsl(var(--primary) / .045), transparent 65%);border-radius:1.15rem;position:relative}.challenge-quest-card[data-completed=true]{background-image:radial-gradient(ellipse at 0 0, hsl(var(--success) / .065), transparent 65%)}.quest-card-top{justify-content:space-between;align-items:center;gap:.75rem;min-height:64px;margin-bottom:1rem;display:flex}.quest-card-token{flex-shrink:0;width:62px;height:60px;transform:rotate(-7deg)}.quest-card-token .quest-icon svg{width:28px;height:28px}.quest-card-token .quest-state-badge{transform:rotate(7deg)}.challenge-quest-card .activity-label{letter-spacing:.07em;font-size:.65rem}.challenge-quest-card h3{overflow-wrap:anywhere;color:hsl(var(--card-foreground))}.quest-card-topic{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600}.quest-card-details{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:.6rem 1rem;min-height:1.2rem;font-size:.75rem;display:flex}.quest-card-details>span{align-items:center;gap:.35rem;display:inline-flex}.quest-card-details svg{flex-shrink:0;width:.9rem;height:.9rem}.quest-card-reward{color:hsl(var(--primary));white-space:nowrap;align-items:center;gap:.35rem;font-size:.85rem;font-weight:800;display:inline-flex}.quest-card-reward svg{width:1.1rem;height:1.1rem;fill:hsl(var(--reward))}.quest-card-reward[data-completed=true]{color:hsl(var(--success))}.quest-card-reward[data-completed=true] svg{fill:none}@media (prefers-reduced-motion:no-preference){.challenge-quest-card:is(:hover,:focus-within) .quest-icon{animation:.45s ease-in-out quest-wiggle}}@media (prefers-reduced-motion:reduce){.challenge-quest-card{transition:none}.challenge-quest-card:hover,.challenge-quest-card:focus-within{transform:none}}.workspace-heading{padding:.3rem .25rem 0}.workspace-steps{align-self:center;align-items:center;gap:.8rem;width:min(100%,34rem);padding:.3rem 0;display:flex}.workspace-steps>span{white-space:nowrap;color:hsl(var(--muted-foreground));align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;display:flex}.workspace-steps>i{background:hsl(var(--border));flex:1;height:2px}.step-dot{background:hsl(var(--accent));width:1.7rem;height:1.7rem;color:hsl(var(--primary));border-radius:50%;place-items:center;display:grid}.step-dot svg{width:1rem;height:1rem}.workspace-steps [data-complete=true]{color:hsl(var(--success))}.workspace-panel-title{align-items:center;gap:.65rem;font-size:.95rem;display:flex}.workspace-panel-title>svg{width:1.1rem;height:1.1rem;color:hsl(var(--primary))}.workspace-panel-title>svg:last-child:not(:first-child){opacity:.5;margin-left:auto}.challenge-workspace .challenge-panel-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--accent) / .35);border-radius:var(--radius) var(--radius) 0 0;margin-bottom:1rem}.challenge-workspace .prediction-choice{border:2px solid hsl(var(--border));cursor:pointer;border-radius:.85rem;transition:border-color .15s,background .15s}.challenge-workspace .prediction-choice:has([data-state=checked]){border-color:hsl(var(--primary));background:hsl(var(--accent))}.challenge-workspace .prediction-choice:has(:focus-visible){outline:2px solid hsl(var(--ring));outline-offset:2px}.challenge-workspace .prediction-choice:has(:disabled){cursor:not-allowed}.challenge-win{background:hsl(var(--success) / .08);border:1px solid hsl(var(--success) / .3);border-radius:1rem;flex-shrink:0;align-items:center;gap:1.25rem;padding:1rem 1.5rem;animation:.35s ease-out win-arrive;display:flex}.challenge-win .swift-buddy{width:4rem;height:4.5rem}.challenge-win .buddy-body{inset:.25rem .25rem .6rem}.challenge-win .buddy-eyes i{height:.5rem}.challenge-win .buddy-code{font-size:.6rem}.challenge-win .buddy-body:before,.challenge-win .buddy-body:after,.challenge-win .buddy-spark{display:none}.challenge-win h2{font-size:1.3rem}.challenge-win p:not(.eyebrow){color:hsl(var(--muted-foreground));font-size:.8rem}.challenge-win .eyebrow{color:hsl(var(--success));margin-bottom:.2rem;font-size:.55rem}.challenge-win>:last-child{margin-left:auto}.dashboard-welcome{border:1px solid hsl(var(--primary) / .15);background:hsl(var(--accent));border-radius:1.25rem;padding:1.5rem}.page-intro{border:1px solid hsl(var(--primary) / .15);background:hsl(var(--accent));border-radius:1.25rem;padding:2rem;position:relative;overflow:hidden}.page-intro:after{content:"✦";color:hsl(var(--primary) / .07);pointer-events:none;font-size:10rem;position:absolute;top:-.8rem;right:2rem}.page-intro>*{z-index:1;position:relative}.site-footer{padding-bottom:env(safe-area-inset-bottom)}nav.fixed a[aria-current=page]{background:hsl(var(--accent));color:hsl(var(--primary));border-radius:.9rem}@media (width<=850px){.site-footer{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}}@keyframes buddy-bob{0%,to{transform:rotate(-8deg)translateY(0)}50%{transform:rotate(-3deg)translateY(-7px)}}@keyframes win-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.desktop-navigation{gap:0}.site-nav-link{padding-inline:.6rem}.site-nav-link svg{display:none}.mobile-navigation .site-nav-link svg{display:block}.home-hero{gap:1rem}.hub-buddy{width:6rem;height:7rem}.next-challenge{gap:1rem;padding:1.5rem}}@media (width<=850px){.desktop-navigation{display:none}.mobile-menu-trigger{display:inline-flex}.mobile-quick-navigation{display:block}.pricing-link{display:none}.home-hero{grid-template-columns:1fr;padding-block:3rem}.home-playground{width:min(100%,30rem);margin-inline:auto}.home-hero-copy{text-align:center;align-items:center}.home-hero-copy>.flex{justify-content:center}.home-hero-copy h1{font-size:clamp(2.5rem,7vw,3.6rem)}.home-reassurance{justify-content:center}.hub-overview{grid-template-columns:1fr}.journey-card{grid-template-columns:1fr 1fr;align-items:center;display:grid}.journey-card>:last-child{padding-top:1.5rem}.journey-icon{display:none}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{flex-wrap:wrap;align-items:flex-start}}@media (width<=540px){.site-brand{font-size:1.05rem}.modern-home .container{padding-inline:1.25rem}.home-playground{height:26rem}.home-buddy{right:3rem}.demo-code{left:0;right:0}.demo-code pre,.demo-code code{font-size:.65rem}.playground-sticker{right:.5rem}.language-ribbon{gap:1rem 1.5rem;font-size:.75rem}.language-ribbon>span:first-child{text-align:center;width:100%}.home-invitation{padding:1.5rem}.home-features{padding-block:3rem}.activity-grid{grid-template-columns:1fr}.hub-filters>:first-child{flex-basis:100%}.hub-filters>button{flex:40%}.hub-buddy{display:none}.journey-card{display:block}.journey-card>:last-child{padding-top:0}.workspace-steps{gap:.35rem}.workspace-steps>span{gap:.3rem;font-size:.6rem}.step-dot{width:1.4rem;height:1.4rem}.challenge-win{flex-wrap:wrap;gap:.75rem;padding:1rem}.challenge-win .swift-buddy{display:none}.challenge-win>:last-child{margin-left:0}}.dashboard-heading,.dashboard-section-heading,.onboarding-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-playground{max-width:1280px}.dashboard-heading h1{overflow-wrap:anywhere;margin:.45rem 0;font-size:clamp(1.65rem,2.7vw,2.4rem);line-height:1.25}.dashboard-heading>div>p:last-child{color:hsl(var(--muted-foreground));font-size:.9rem}.dashboard-overview,.dashboard-content{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:1.25rem;display:grid}.dashboard-panel{border-radius:1.25rem;flex-direction:column;min-width:0;display:flex}.dashboard-panel h3{color:hsl(var(--card-foreground));font-size:1.1rem;line-height:1.4}.dashboard-level{background:radial-gradient(ellipse at 95% 10%, hsl(var(--reward) / .17), transparent 50%), hsl(var(--card))}.dashboard-level-body{flex:1;align-items:center;gap:1.25rem;display:flex}.level-medallion{border:4px solid hsl(var(--primary) / .3);width:88px;height:98px;box-shadow:0 5px 0 hsl(var(--primary-depth));background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:28px 28px 36px 36px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;transform:rotate(-5deg)}.level-medallion span{letter-spacing:.1em;font-size:.6rem;font-weight:800}.level-medallion strong{font-size:2.35rem;line-height:1.2}.level-medallion>svg{fill:hsl(var(--reward));color:hsl(var(--reward-foreground));width:28px;height:28px;position:absolute;bottom:-12px;right:-8px}.dashboard-level-copy{flex:1;min-width:0}.dashboard-level-copy>p{margin-top:.4rem}.dashboard-progress-caption{color:hsl(var(--muted-foreground));flex-wrap:wrap;justify-content:space-between;gap:.3rem;margin-top:.5rem;font-size:.7rem;display:flex}.dashboard-buddy.swift-buddy{flex-shrink:0;width:105px;height:120px}.dashboard-buddy .buddy-body{animation-iteration-count:2}.dashboard-buddy .buddy-code{font-size:1rem}.dashboard-buddy .buddy-spark{font-size:1.4rem}.dashboard-level-footer{flex-wrap:wrap;gap:1rem}.dashboard-level-footer>span,.dashboard-caption{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.6}.game-emblem{background:hsl(var(--primary) / .12);width:46px;height:46px;color:hsl(var(--primary));box-shadow:0 3px 0 hsl(var(--primary) / .2), inset 0 2px 0 hsl(var(--card) / .3);border-radius:16px;flex-shrink:0;place-items:center;display:inline-grid;transform:rotate(-6deg)}.game-emblem svg{width:24px;height:24px}.game-emblem[data-tone=leaf]{background:hsl(var(--reward));color:hsl(var(--reward-foreground));box-shadow:0 3px 0 hsl(var(--reward-depth))}.game-emblem[data-tone=gold]{background:hsl(var(--quest-build));color:hsl(var(--quest-build-ink));box-shadow:0 3px 0 hsl(var(--quest-build-depth))}.game-emblem:is([data-tone=coral],[data-tone=flame]){background:hsl(var(--quest-debug));color:hsl(var(--quest-debug-ink));box-shadow:0 3px 0 hsl(var(--quest-debug-depth))}.dashboard-streak[data-active=true]{border-color:hsl(var(--success) / .35)}.dashboard-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.dashboard-week li{color:hsl(var(--muted-foreground));flex-direction:column;align-items:center;gap:.5rem;font-size:.65rem;display:flex}.dashboard-week i{border:1px solid hsl(var(--border));background:hsl(var(--muted));border-bottom-width:3px;border-radius:12px;place-items:center;width:100%;max-width:36px;height:36px;font-style:normal;display:grid}.dashboard-week svg{stroke-width:3px;width:18px;height:18px}.dashboard-week [data-done=true] i{color:hsl(var(--reward-foreground));background:hsl(var(--reward));border-color:hsl(var(--reward-depth))}.dashboard-week [aria-current=date] i{outline:2px solid hsl(var(--primary));outline-offset:2px}.today-dot{background:hsl(var(--primary));border-radius:50%;width:7px;height:7px}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.dashboard-stat{border:1px solid hsl(var(--border));background:hsl(var(--card));border-bottom-width:3px;border-radius:1.1rem;align-items:center;gap:1rem;min-width:0;padding:1.15rem;display:flex}.dashboard-stat dt{color:hsl(var(--muted-foreground));font-size:.7rem}.dashboard-stat dd{overflow-wrap:anywhere;font-size:1.65rem;font-weight:850;line-height:1.25}.dashboard-stat p{color:hsl(var(--muted-foreground));margin-top:.2rem;font-size:.65rem}.dashboard-section-heading{min-height:55px;margin-bottom:1.1rem}.dashboard-section-heading h2{margin-top:.35rem;font-size:clamp(1.15rem,2vw,1.45rem)}.dashboard-side{flex-direction:column;gap:1.25rem;min-width:0;padding-top:73px;display:flex}.dashboard-milestone{background:radial-gradient(ellipse at 50% 50%, hsl(var(--reward) / .15), transparent 70%), hsl(var(--card))}.dashboard-milestone .quest-chest{margin:1rem auto 1.6rem}.dashboard-activity{flex-direction:column;gap:1.25rem;display:flex}.dashboard-activity li{align-items:center;gap:.65rem;min-width:0;display:flex}.dashboard-activity li>div{flex:1;min-width:0}.dashboard-activity strong{font-size:.75rem;font-weight:650;display:block}.dashboard-activity time{color:hsl(var(--muted-foreground));margin-top:.2rem;font-size:.65rem;display:block}.activity-check{background:hsl(var(--success) / .12);width:25px;height:25px;color:hsl(var(--success));border-radius:50%;flex-shrink:0;place-items:center;display:grid}.activity-check svg{width:15px;height:15px}.profile-playground{flex-direction:column;gap:1.25rem;max-width:1280px;display:flex}.profile-playground h1,.profile-playground h4{color:hsl(var(--card-foreground))}.profile-passport{background:radial-gradient(ellipse at 100% 0, hsl(var(--reward) / .16), transparent 55%), hsl(var(--card))}.profile-passport-heading{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:1.5rem}.profile-passport-heading>:last-child{margin-top:0}.profile-passport-heading .eyebrow{text-transform:uppercase;margin-bottom:0}.profile-passport-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:2rem;padding-bottom:2rem;display:grid}.profile-identity{align-items:center;gap:1.25rem;min-width:0;display:flex}.profile-identity h1{overflow-wrap:anywhere;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2}.profile-avatar-frame{border:2px dashed hsl(var(--primary) / .3);border-radius:32px;flex-shrink:0;padding:6px;position:relative;transform:rotate(-4deg)}.profile-avatar{background:hsl(var(--primary) / .12);width:88px;height:88px;color:hsl(var(--primary));border:2px solid hsl(var(--card));border-radius:24px;font-size:2rem}.profile-avatar-star{background:hsl(var(--reward));width:30px;height:30px;color:hsl(var(--reward-foreground));border:2px solid hsl(var(--card));box-shadow:0 2px 0 hsl(var(--reward-depth));border-radius:11px;place-items:center;display:grid;position:absolute;bottom:-7px;right:-7px}.profile-avatar-star svg{width:18px;height:18px}.profile-tagline{color:hsl(var(--muted-foreground));margin-top:.6rem;font-size:.8rem}.profile-meta{color:hsl(var(--muted-foreground));flex-wrap:wrap;gap:.5rem 1rem;margin-top:.8rem;font-size:.7rem;display:flex}.profile-meta span{overflow-wrap:anywhere;align-items:center;gap:.35rem;display:inline-flex}.profile-meta svg{flex-shrink:0;width:14px;height:14px}.profile-level{border-left:1px solid hsl(var(--border));align-items:center;gap:1.25rem;min-width:0;padding-left:2rem;display:flex}.profile-level .level-medallion{border-radius:22px 22px 28px 28px;width:72px;height:82px}.profile-level .level-medallion strong{font-size:1.9rem}.profile-level-title{font-size:.9rem;font-weight:800}.profile-level-hint{color:hsl(var(--muted-foreground));margin:.35rem 0 .9rem;font-size:.75rem}.profile-text-link{color:hsl(var(--primary));align-items:center;gap:.4rem;margin-top:.7rem;font-size:.75rem;font-weight:750;display:inline-flex}.profile-text-link:hover{text-decoration:underline}.profile-text-link svg{width:14px;height:14px}.profile-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.profile-main-column,.profile-side-column{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.profile-section-title{align-items:center;gap:.9rem;display:flex}.profile-section-title>div{min-width:0}.profile-section-title p{margin-top:.25rem;font-size:.75rem}.profile-section-title .game-emblem{border-radius:13px;width:38px;height:38px}.profile-section-title .game-emblem svg{width:21px;height:21px}.profile-calendar-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.4rem;display:grid}.profile-calendar-stats dt{color:hsl(var(--muted-foreground));align-items:center;gap:.3rem;font-size:.65rem;display:flex}.profile-calendar-stats dt svg{flex-shrink:0;width:13px;height:13px}.profile-calendar-stats dd{margin-top:.4rem;font-size:1.6rem;font-weight:800}.profile-calendar-stats dd span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500}.profile-calendar-scroll{scrollbar-width:thin;scrollbar-color:hsl(var(--primary) / .4) hsl(var(--muted));border-radius:5px;padding:2px 2px 10px;overflow-x:auto}.profile-calendar-scroll:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.profile-calendar-grid{gap:3px;min-width:725px;padding-right:12px;display:flex}.profile-calendar-week{flex:1;grid-template-rows:20px repeat(7,11px);gap:3px;min-width:10px;display:grid}.profile-calendar-month{color:hsl(var(--muted-foreground));white-space:nowrap;font-size:.6rem}.profile-calendar-day-labels{width:28px;color:hsl(var(--muted-foreground));flex-shrink:0;grid-template-rows:20px repeat(7,11px);gap:3px;font-size:.55rem;line-height:11px;display:grid}.profile-calendar-day,.profile-calendar-legend i{background:hsl(var(--muted));border-radius:3px}.profile-calendar-day[data-level="1"],.profile-calendar-legend [data-level="1"]{background:hsl(var(--success) / .25)}.profile-calendar-day[data-level="2"],.profile-calendar-legend [data-level="2"]{background:hsl(var(--success) / .5)}.profile-calendar-day[data-level="3"],.profile-calendar-legend [data-level="3"]{background:hsl(var(--success) / .75)}.profile-calendar-day[data-level="4"],.profile-calendar-legend [data-level="4"]{background:hsl(var(--success))}.profile-calendar-day:hover{outline:1px solid hsl(var(--success));outline-offset:1px}.profile-calendar-legend{color:hsl(var(--muted-foreground));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;font-size:.6rem;display:flex}.profile-calendar-legend>span:last-child{align-items:center;gap:4px;display:flex}.profile-calendar-legend i{width:10px;height:10px}.profile-difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.profile-difficulty{border:1px solid hsl(var(--border));background:hsl(var(--background) / .6);border-bottom-width:3px;border-radius:1rem;padding:1rem}.profile-difficulty .game-emblem{border-radius:12px;width:36px;height:36px}.profile-difficulty .game-emblem svg{width:21px;height:21px}.profile-difficulty>p{color:hsl(var(--muted-foreground));margin:1rem 0 .7rem;font-size:.7rem}.profile-difficulty strong{color:hsl(var(--card-foreground));font-size:1.45rem}.profile-difficulty-caption{color:hsl(var(--muted-foreground));margin-top:.6rem;font-size:.65rem;display:block}.profile-difficulty[data-difficulty=very\ easy] [role=progressbar]>div{background:hsl(var(--reward-depth))}.profile-difficulty[data-difficulty=easy] [role=progressbar]>div{background:hsl(var(--success))}.profile-difficulty[data-difficulty=medium] [role=progressbar]>div{background:hsl(var(--quest-build-depth))}.profile-difficulty[data-difficulty=hard] [role=progressbar]>div{background:hsl(var(--quest-debug-depth))}.profile-rank{background:radial-gradient(ellipse at 50% 35%, hsl(var(--quest-build) / .16), transparent 60%), hsl(var(--card))}.profile-rank-content{text-align:center;flex-direction:column;align-items:center;gap:.8rem;display:flex}.profile-rank-art{background:radial-gradient(circle, hsl(var(--quest-build) / .18), transparent 70%);border-radius:50%;place-items:center;width:156px;height:146px;display:grid;position:relative}.profile-rank-art>svg:last-child{filter:drop-shadow(0 5px 0 hsl(var(--quest-build-depth) / .2))}.profile-rank-spark{width:22px;height:22px;color:hsl(var(--primary));position:absolute;top:12px;right:3px}.profile-rank h4{font-size:1.5rem;font-weight:850}.profile-rank-content>p{max-width:29ch;color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.7}.profile-about-bio{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;font-size:.8rem;line-height:1.7}.profile-about-list{flex-direction:column;gap:1rem;display:flex}.profile-about-list>div{align-items:center;gap:.75rem;display:flex}.profile-about-list>div>svg{width:18px;height:18px;color:hsl(var(--primary));flex-shrink:0}.profile-about-list dt{color:hsl(var(--muted-foreground));margin-bottom:.2rem;font-size:.65rem}.profile-about-list dd{overflow-wrap:anywhere;font-size:.75rem;font-weight:650}.profile-about-list a{color:hsl(var(--primary))}.profile-about-list a:hover{text-decoration:underline}.profile-about-list a>svg{width:12px;height:12px;margin-left:4px;display:inline}.profile-win-list{flex-direction:column;display:flex}.profile-win-list li{border-bottom:1px solid hsl(var(--border));align-items:center;gap:.9rem;padding:1rem 0;display:flex}.profile-win-list li:first-child{padding-top:0}.profile-win-list li:last-child{border-bottom:0;padding-bottom:0}.profile-win-check{background:hsl(var(--reward));width:36px;height:36px;color:hsl(var(--reward-foreground));box-shadow:0 3px 0 hsl(var(--reward-depth));border-radius:50%;flex-shrink:0;place-items:center;display:grid}.profile-win-check svg{stroke-width:3px;width:20px;height:20px}.profile-win-title{overflow-wrap:anywhere;font-size:.85rem;font-weight:750}.profile-win-meta{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:.6rem;font-size:.65rem;display:flex}.profile-win-meta i{margin-right:4px;font-size:14px!important}.profile-empty{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 0;display:flex}.profile-empty>p{font-weight:750}.profile-empty>span:not(.game-emblem),.profile-footnote{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.7}.profile-footnote{padding:0 .75rem;font-size:.65rem}.profile-inline-error{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:1rem;font-size:.8rem;display:flex}@media (prefers-reduced-motion:no-preference){.profile-passport,.profile-grid{animation:.4s ease-out both game-arrive}.profile-grid{animation-delay:.1s}.profile-rank-art{animation:.5s ease-out .2s both game-pop}.profile-difficulty:hover .game-emblem,.profile-avatar-frame:hover .profile-avatar-star{animation:.45s ease-in-out quest-wiggle}}@media (prefers-reduced-motion:reduce){.profile-playground *,.profile-loading *{transition:none!important;animation:none!important}}@media (width<=1000px){.profile-passport-body{grid-template-columns:minmax(0,1fr)}.profile-level{border-left:0;border-top:1px solid hsl(var(--border));padding:1.5rem 0 0}}@media (width<=800px){.profile-grid{grid-template-columns:minmax(0,1fr)}.profile-side-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.profile-footnote{grid-column:1/-1}}@media (width<=520px){.profile-playground{padding-top:1.25rem}.profile-identity{flex-direction:column;align-items:flex-start;gap:1rem}.profile-side-column,.profile-difficulty-grid{grid-template-columns:minmax(0,1fr)}.profile-calendar-stats{gap:.75rem}.profile-calendar-stats dt{line-height:1.5;display:block}.profile-calendar-stats dt svg{display:none}.profile-calendar-stats dd{font-size:1.25rem}.profile-level{gap:1rem}.profile-level .level-medallion{width:56px;height:68px}.profile-level .level-medallion strong{font-size:1.5rem}}.onboarding-playground{max-width:1120px}.game-page{flex-direction:column;gap:1.5rem;max-width:1280px;display:flex}.game-page h1,.game-page h2,.game-page h3,.pro-dialog h2{color:hsl(var(--card-foreground))}.game-page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.game-page-heading h1{overflow-wrap:anywhere;margin-bottom:.75rem;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.2}.game-page-heading>div>p:last-child{color:hsl(var(--muted-foreground));max-width:65ch;font-size:.9rem;line-height:1.7}.game-empty{text-align:center;align-items:center;padding-block:1.5rem}.game-empty .game-emblem{margin:0 auto 1rem}.game-empty h3{font-size:1.25rem}.game-empty [class*=description]{max-width:50ch}.leaderboard-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1.25rem;padding-top:1rem;display:grid}.podium-player{text-align:center;background:radial-gradient(ellipse at 50% 15%, hsl(var(--primary) / .08), transparent 65%), hsl(var(--card))}.podium-player[data-place="1"]{border-color:hsl(var(--quest-build-depth) / .5);background:radial-gradient(ellipse at 50% 10%, hsl(var(--quest-build) / .25), transparent 75%), hsl(var(--card));order:2;padding-top:1rem}.podium-player[data-place="2"]{order:1}.podium-player[data-place="3"]{background:radial-gradient(ellipse at 50% 10%, hsl(var(--quest-debug) / .16), transparent 70%), hsl(var(--card));order:3}.podium-player>div:first-child{align-items:center;gap:.4rem}.podium-player h3{overflow-wrap:anywhere;width:100%;margin-top:.8rem}.podium-player h3 a:hover{color:hsl(var(--primary));text-decoration:underline}.podium-avatar{border:2px dashed hsl(var(--primary) / .25);border-radius:50%;margin-top:.5rem;padding:.45rem;position:relative}.podium-player[data-place="1"] .podium-avatar{border-color:hsl(var(--quest-build-depth) / .5)}.podium-avatar>span:last-child{position:absolute;bottom:-6px;right:-8px}.podium-xp{color:hsl(var(--primary));justify-content:center;align-items:center;gap:.25rem;font-size:1.5rem;font-weight:850;display:flex}.podium-xp svg{width:19px;height:19px}.podium-xp span{font-size:.75rem}.podium-player p{color:hsl(var(--muted-foreground));margin-top:.5rem;font-size:.75rem}.leaderboard-board-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.leaderboard-board-heading p{margin-top:.4rem;font-size:.75rem}.leaderboard-board table{table-layout:fixed}.leaderboard-board th:first-child{width:72px}.leaderboard-board th:nth-child(n+3){width:110px}.leaderboard-board th,.leaderboard-board td{padding:1rem .65rem}.leaderboard-board th{font-size:.7rem}.leaderboard-board td{font-size:.8rem}.leaderboard-position{width:40px;height:34px;color:hsl(var(--muted-foreground));border-radius:11px;place-items:center;font-weight:800;display:inline-grid}.leaderboard-position[data-place="1"]{background:hsl(var(--quest-build));color:hsl(var(--quest-build-ink));box-shadow:0 3px 0 hsl(var(--quest-build-depth))}.leaderboard-position[data-place="2"]{background:hsl(var(--primary) / .12);color:hsl(var(--primary));box-shadow:0 3px 0 hsl(var(--primary) / .2)}.leaderboard-position[data-place="3"]{background:hsl(var(--quest-debug));color:hsl(var(--quest-debug-ink));box-shadow:0 3px 0 hsl(var(--quest-debug-depth))}.leaderboard-player{align-items:center;gap:.75rem;min-width:0;display:flex}.leaderboard-player>span{flex-shrink:0}.leaderboard-name{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.leaderboard-name>a{overflow-wrap:anywhere;font-weight:700}.leaderboard-name>a:hover{color:hsl(var(--primary));text-decoration:underline}.leaderboard-rank-label{color:hsl(var(--muted-foreground));align-items:center;gap:.3rem;margin-top:.3rem;font-size:.65rem;display:flex}.leaderboard-rank-label svg{flex-shrink:0}.leaderboard-xp{color:hsl(var(--primary));font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.leaderboard-board [data-you=true]{background:hsl(var(--primary) / .06)}.leaderboard-encouragement{text-align:center;color:hsl(var(--muted-foreground));padding:.5rem;font-size:.8rem}.pricing-playground{max-width:1120px}.pricing-plans{flex-direction:column;gap:1.5rem;display:flex}.pricing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;width:100%;max-width:860px;margin-inline:auto;display:grid}.pricing-plan{border-radius:1.5rem}.pricing-plan[data-plan=pro]{border-color:hsl(var(--primary) / .4);background:radial-gradient(ellipse at 100% 0, hsl(var(--reward) / .18), transparent 55%), hsl(var(--card))}.pricing-plan-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:70px;margin-bottom:.75rem;display:flex}.pricing-plan h3{font-size:1.5rem}.pricing-plan .pro-price{margin-top:1rem}.pricing-plan .pro-emblem{border-radius:22px;width:64px;height:64px;margin:0}.pricing-plan .pro-emblem>svg:first-child{width:36px;height:36px}.billing-picker{flex-wrap:wrap;gap:.5rem}.billing-picker>button{border-radius:.8rem;gap:.5rem;height:44px;padding-inline:1rem}.billing-picker>button[data-state=on]{background:hsl(var(--primary) / .12);border-color:hsl(var(--primary));color:hsl(var(--primary));box-shadow:0 2px 0 hsl(var(--primary) / .2)}.pro-price>p:first-child{line-height:1.2}.pro-price strong{color:hsl(var(--card-foreground));letter-spacing:-.04em;font-size:2.6rem;font-weight:850}.pro-price p:first-child>span{color:hsl(var(--muted-foreground));font-size:.85rem}.pro-price>p:nth-child(2){color:hsl(var(--card-foreground));margin-top:.65rem;font-size:.8rem;font-weight:650}.pro-price>span{color:hsl(var(--muted-foreground));margin-top:.3rem;font-size:.65rem;line-height:1.6;display:block}.pro-benefits,.free-benefits{flex-direction:column;gap:.9rem;display:flex}.pro-benefits li,.free-benefits li{align-items:center;gap:.8rem;font-size:.85rem;line-height:1.5;display:flex}.free-benefits>li>svg{width:18px;height:18px;color:hsl(var(--success));flex-shrink:0}.pro-benefit-icon{background:hsl(var(--primary) / .1);width:30px;height:30px;color:hsl(var(--primary));border-radius:10px;flex-shrink:0;place-items:center;display:grid}.pro-benefit-icon[data-tone=leaf]{background:hsl(var(--success) / .1);color:hsl(var(--success))}.pro-benefit-icon svg{width:17px;height:17px}.pricing-checkout-note{text-align:center;color:hsl(var(--muted-foreground));font-size:.75rem}.pro-price .pro-price-equivalent{color:hsl(var(--muted-foreground));margin-top:.35rem;font-size:.8rem}.pricing-included{width:100%;max-width:860px;margin-inline:auto;padding-block:1rem}.pricing-included h2{margin-block:.5rem 1rem;font-size:1.35rem}.pricing-included ul{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.8rem 1.5rem;display:grid}.pricing-included li{align-items:center;gap:.6rem;font-size:.85rem;display:flex}.pricing-included li svg{width:18px;height:18px;color:hsl(var(--success));flex-shrink:0}.pricing-included>p:last-child{color:hsl(var(--muted-foreground));margin-top:1rem;font-size:.8rem}.pricing-reassurance{color:hsl(var(--muted-foreground));flex-wrap:wrap;justify-content:center;gap:1rem 2rem;font-size:.75rem;display:flex}.pricing-reassurance>span{align-items:center;gap:.45rem;display:inline-flex}.pricing-reassurance svg{width:17px;height:17px;color:hsl(var(--success))}.pricing-faq{width:100%;max-width:760px;margin:1.5rem auto 0}.pricing-faq h2{margin-bottom:1rem;font-size:1.5rem}.pricing-faq [data-state]>button{text-align:left;gap:1rem;font-size:.85rem}.pricing-faq [role=region]{color:hsl(var(--muted-foreground));line-height:1.7}.pricing-support{color:hsl(var(--muted-foreground));flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.pricing-support a{color:hsl(var(--primary));align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.pricing-support svg{width:14px;height:14px}.pro-dialog{background:radial-gradient(ellipse at 50% 0, hsl(var(--reward) / .2), transparent 40%), hsl(var(--card));border-bottom-width:4px;border-radius:1.5rem;width:calc(100% - 2rem);max-width:480px;max-height:calc(100dvh - 2rem);overflow-y:auto}.pro-dialog-heading{text-align:center;align-items:center;padding-top:.4rem}.pro-dialog-heading .eyebrow{text-align:center;margin:.8rem 0 .5rem;font-size:.55rem}.pro-dialog-heading h2{text-wrap:balance;font-size:1.55rem;line-height:1.2}.pro-dialog-heading>p:last-child{margin-top:.6rem;font-size:.75rem;line-height:1.6}.pro-dialog .pro-benefits{grid-template-columns:1fr;gap:.55rem;display:grid}.pro-dialog .pro-benefits li{font-size:.8rem}.pro-dialog .pro-price{text-align:center}.pro-dialog .pro-price strong{font-size:2rem}.pro-dialog .pro-emblem{border-radius:22px;width:64px;height:64px}.pro-dialog .pro-emblem>svg:first-child{width:36px;height:36px}.pro-dialog .billing-picker{margin-top:.2rem}.pro-dialog .pro-dialog-actions{flex-direction:column;gap:.45rem;display:flex}.pro-dialog-actions>:not([hidden])~:not([hidden]){margin-left:0}.pro-dialog-secondary{justify-content:space-between;gap:.5rem;display:flex}.pro-dialog .pro-dialog-actions>button{white-space:normal;height:auto;min-height:44px}.pro-emblem{border:3px solid hsl(var(--quest-build-depth) / .35);background:hsl(var(--quest-build));width:78px;height:78px;color:hsl(var(--quest-build-ink));box-shadow:0 5px 0 hsl(var(--quest-build-depth)), inset 0 3px 0 hsl(var(--card) / .4);border-radius:26px;place-items:center;margin:.2rem auto .4rem;display:grid;position:relative;transform:rotate(-8deg)}.pro-emblem>svg:first-child{stroke-width:2.5px;width:44px;height:44px}.pro-emblem>svg:not(:first-child){width:19px;height:19px;color:hsl(var(--primary));position:absolute}.pro-emblem>svg:nth-child(2){top:-8px;right:-12px}.pro-emblem>svg:nth-child(3){width:14px;height:14px;bottom:0;left:-15px}.practice-training{background:radial-gradient(ellipse at 100% 0, hsl(var(--reward) / .14), transparent 55%), hsl(var(--card))}.practice-steps{counter-reset:practice-step;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.practice-steps li{counter-increment:practice-step;background:hsl(var(--primary) / .04);color:hsl(var(--muted-foreground));border-radius:.8rem;align-items:center;gap:.6rem;padding:.8rem 1rem;font-size:.75rem;display:flex}.practice-steps li:before{content:counter(practice-step);background:hsl(var(--primary) / .1);width:23px;height:23px;color:hsl(var(--primary));border-radius:50%;flex-shrink:0;place-items:center;font-size:.65rem;font-weight:800;display:grid}.practice-steps svg{width:17px;height:17px;color:hsl(var(--primary));flex-shrink:0}.practice-filter-fields{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:1rem;display:grid}.practice-filter-fields>div{gap:.5rem;min-width:0}.practice-filter-fields label{color:hsl(var(--muted-foreground));font-size:.7rem}.practice-filter-fields button,.practice-filter-fields input{min-width:0;font-size:.75rem}.practice-deck{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.practice-quest{height:100%}.practice-quest[data-ready=true]{border-color:hsl(var(--success) / .3)}.practice-quest-top{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.3rem;display:flex}.practice-quest h3{overflow-wrap:anywhere;font-size:1rem;line-height:1.5}.practice-mastery>div:first-child{color:hsl(var(--muted-foreground));flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.6rem;font-size:.7rem;display:flex}.practice-mastery>div:first-child>span:first-child{color:hsl(var(--primary));font-weight:750}.practice-mastery-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.practice-mastery-track i{background:hsl(var(--muted));border-radius:5px;height:7px}.practice-mastery-track [data-earned=true]{background:hsl(var(--primary))}.practice-quest-details{color:hsl(var(--muted-foreground));flex-direction:column;gap:.6rem;font-size:.7rem;display:flex}.practice-quest-details>div{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.practice-quest-details dt{align-items:center;gap:.4rem;display:inline-flex}.practice-quest-details svg{width:14px;height:14px}.practice-availability{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:.7rem;align-items:center;gap:.5rem;margin-top:auto;padding:.7rem;font-size:.7rem;display:flex}.practice-availability[data-ready=true]{background:hsl(var(--success) / .08);color:hsl(var(--success))}.practice-availability svg{flex-shrink:0;width:15px;height:15px}@media (prefers-reduced-motion:no-preference){.leaderboard-podium,.pricing-plan-grid,.practice-training,.practice-deck{animation:.4s ease-out both game-arrive}.podium-player[data-place="1"] .podium-avatar{animation:.4s ease-out both game-pop}.pro-dialog .pro-emblem{animation:.6s ease-in-out 2 quest-wiggle}.practice-quest:hover .game-emblem{animation:.45s ease-in-out quest-wiggle}}@media (prefers-reduced-motion:reduce){.game-page *,.pro-dialog,.pro-dialog *{transition:none!important;animation:none!important}}@media (width<=1000px){.practice-filter-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.practice-search{grid-column:1/-1}.practice-deck{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.leaderboard-podium{gap:.75rem}.podium-player>div{padding:1rem .6rem}.podium-player h3{font-size:.8rem}.podium-avatar>span:first-child{width:52px;height:52px}.podium-avatar>span:last-child svg{width:27px;height:27px}.podium-xp{flex-wrap:wrap;font-size:1rem}.podium-xp svg{display:none}.podium-player p{font-size:.65rem}.leaderboard-extra{display:none}.leaderboard-board th:nth-child(3){width:80px}.leaderboard-board th:first-child{width:55px}.leaderboard-board th,.leaderboard-board td{padding:.75rem .3rem}.leaderboard-player{gap:.45rem}.pricing-plan-grid{grid-template-columns:minmax(0,1fr);max-width:460px}.practice-steps{grid-template-columns:minmax(0,1fr);gap:.5rem}}@media (width<=480px){.game-page{padding-top:1.25rem}.leaderboard-podium{grid-template-columns:minmax(0,1fr);padding:0}.podium-player[data-place]{order:initial;grid-template-columns:minmax(0,1fr) 95px;align-items:center;padding-top:0;display:grid}.podium-player>div:first-child{text-align:left;grid-template-columns:56px minmax(0,1fr);gap:.5rem .75rem;padding:1rem;display:grid}.podium-player>div:first-child>:first-child{grid-column:2;justify-self:start;margin:0}.podium-player .podium-avatar{grid-area:1/1/4;margin:0;padding:.2rem}.podium-player .podium-avatar>span:first-child{width:42px;height:42px}.podium-player h3{grid-column:2;margin:0}.podium-player p{margin:0}.podium-player h3+p{grid-column:2}.leaderboard-board>div{padding-inline:.8rem}.leaderboard-player>span{display:none}.leaderboard-board th:nth-child(3){width:65px}.leaderboard-board th:first-child{width:45px}.leaderboard-position{width:32px}.practice-deck{grid-template-columns:minmax(0,1fr)}.practice-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-dialog{gap:.9rem;padding:1.15rem}.pro-dialog-heading h2{font-size:1.35rem}.pro-dialog .billing-picker{gap:.35rem}.pro-dialog .billing-picker button{padding-inline:.55rem;font-size:.75rem}}.setup-back{color:hsl(var(--muted-foreground));align-items:center;gap:.5rem;font-size:.8rem;display:inline-flex}.setup-back svg{width:16px;height:16px}.setup-back:hover{color:hsl(var(--primary))}.onboarding-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);align-items:start;gap:3rem;margin-top:2rem;display:grid}.onboarding-companion{padding:1rem 0}.onboarding-companion h2{margin-top:.7rem;font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.25}.onboarding-companion h2 span{color:hsl(var(--primary))}.onboarding-buddy-scene{place-items:center;height:265px;margin:.7rem 0 1.6rem;display:grid;position:relative}.onboarding-buddy-scene .swift-buddy{width:180px;height:180px}.onboarding-buddy-scene .buddy-spark{font-size:2rem}.onboarding-orbit{border:2px dashed hsl(var(--primary) / .18);background:radial-gradient(hsl(var(--reward) / .25), transparent 70%);border-radius:45% 55% 60% 40%;width:230px;height:220px;position:absolute;transform:rotate(-15deg)}.buddy-note{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--card-foreground));text-align:center;border-bottom-width:4px;border-radius:.85rem;padding:.65rem 1rem;font-size:.8rem;font-weight:750;line-height:1.5;position:absolute;bottom:0;transform:rotate(-4deg)}.onboarding-stops{flex-direction:column;gap:1rem;max-width:300px;display:flex}.onboarding-stops li{align-items:center;gap:.85rem;display:flex}.onboarding-stops li>span{border:2px solid hsl(var(--border));width:38px;height:38px;color:hsl(var(--muted-foreground));background:hsl(var(--card));border-bottom-width:4px;border-radius:14px;flex-shrink:0;place-items:center;font-weight:800;display:grid}.onboarding-stops li[aria-current=step]>span{color:hsl(var(--primary-foreground));background:hsl(var(--primary));border-color:hsl(var(--primary-depth))}.onboarding-stops li[data-complete=true]>span{color:hsl(var(--reward-foreground));background:hsl(var(--reward));border-color:hsl(var(--reward-depth))}.onboarding-stops svg{width:18px;height:18px}.onboarding-stops strong{font-size:.85rem;display:block}.onboarding-stops small{color:hsl(var(--muted-foreground));margin-top:.2rem;font-size:.7rem;display:block}.onboarding-card{min-width:0;box-shadow:0 5px 0 hsl(var(--border) / .7);border-radius:1.4rem;overflow:hidden}.onboarding-card h1{outline:none;font-size:clamp(1.4rem,2.5vw,1.8rem);line-height:1.3}.onboarding-progress-label{color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.7rem;display:flex}.setup-choice{cursor:pointer;border:2px solid hsl(var(--border));border-radius:.9rem;transition:border-color .15s,background .15s}.setup-choice:has([data-state=checked]){background:hsl(var(--accent));border-color:hsl(var(--primary))}.setup-choice:has(:focus-visible){outline:2px solid hsl(var(--ring));outline-offset:2px}.setup-choice:has(:disabled){cursor:not-allowed}.setup-choice [data-slot=field-description]{margin-top:.25rem;font-size:.75rem;line-height:1.5}.setup-choice [role=radio]{flex-shrink:0}.setup-languages{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-languages [data-slot=field]{gap:.5rem;padding:.8rem}.setup-languages [data-slot=field-label]{font-size:.8rem}.setup-summary{border:1px dashed hsl(var(--primary) / .4);background:hsl(var(--primary) / .04);border-radius:.85rem;align-items:flex-start;gap:.75rem;margin-top:1.25rem;padding:1rem;display:flex}.setup-summary>svg{color:hsl(var(--primary));flex-shrink:0;width:22px;height:22px}.setup-summary strong{font-size:.85rem}.setup-summary p{color:hsl(var(--muted-foreground));margin-top:.3rem;font-size:.75rem}.setup-reassurance{color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .5);justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.7rem;display:flex}.setup-reassurance svg{flex-shrink:0;width:16px;height:16px}.username-welcome{border-bottom-width:5px;border-radius:1.3rem;max-height:calc(100dvh - 2rem);overflow-y:auto}.username-welcome-art{background:radial-gradient(ellipse, hsl(var(--reward) / .22), transparent 65%);place-items:center;height:150px;margin-bottom:.7rem;display:grid;position:relative}.username-welcome-art .swift-buddy{width:120px;height:120px}.username-welcome-art .buddy-code{font-size:1rem}.username-welcome-art .buddy-spark{font-size:1.5rem}.username-welcome-art .buddy-note{padding:.35rem .7rem;font-size:.7rem}.username-welcome [role=heading],.username-welcome h2{color:hsl(var(--foreground))}@media (prefers-reduced-motion:no-preference){.dashboard-overview,.dashboard-stats,.setup-step{animation:.35s ease-out both game-arrive}.dashboard-stats{animation-delay:80ms}.dashboard-stat:hover .game-emblem,.setup-choice:hover .game-emblem{animation:.45s ease-in-out quest-wiggle}.setup-choice:has([data-state=checked]) .game-emblem{animation:.3s ease-out game-pop}}@keyframes game-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes game-pop{50%{transform:rotate(5deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){.dashboard-playground *,.onboarding-playground *,.username-welcome *{transition:none!important;animation:none!important}}@media (width<=1100px){.dashboard-buddy.swift-buddy{display:none}.dashboard-stat{gap:.65rem;padding:1rem}.dashboard-activity li,.dashboard-streak>:last-child{flex-wrap:wrap}}@media (width<=900px){.dashboard-overview,.dashboard-content{grid-template-columns:minmax(0,1fr)}.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;padding-top:0;display:grid}.dashboard-week i{max-width:48px;height:40px}.dashboard-buddy.swift-buddy{display:block}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:1rem}.onboarding-companion{min-height:150px;padding-right:120px;position:relative}.onboarding-companion h2{font-size:1.5rem}.onboarding-buddy-scene{width:100px;height:130px;margin:0;position:absolute;top:0;right:12px}.onboarding-buddy-scene .swift-buddy{width:90px;height:100px}.onboarding-buddy-scene .buddy-code{font-size:.8rem}.onboarding-buddy-scene .buddy-note,.onboarding-orbit{display:none}.onboarding-stops{flex-direction:row;gap:.5rem;margin-top:1rem}.onboarding-stops li>div{display:none}.onboarding-stops li>span{border-radius:10px;width:30px;height:30px;font-size:.7rem}}@media (width<=520px){.dashboard-level-body{gap:.8rem}.dashboard-buddy.swift-buddy{display:none}.level-medallion{border-radius:22px;width:58px;height:74px}.level-medallion strong{font-size:1.8rem}.dashboard-side{display:flex}.dashboard-stat{flex-direction:column;align-items:flex-start;gap:.75rem}.dashboard-level-footer{gap:.65rem}.setup-languages{grid-template-columns:minmax(0,1fr)}.onboarding-card>:is(:first-child,:nth-child(2),:nth-child(3)){padding-left:1rem;padding-right:1rem}.setup-choice>[data-slot=field]{gap:.65rem;padding:.85rem}.setup-choice .game-emblem{border-radius:12px;width:36px;height:36px}.setup-choice .game-emblem svg{width:20px;height:20px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes blob-bounce{0%,to{transform:translate(0,0)scale(1)}25%{transform:translate(5%,10%)scale(1.1)}50%{transform:translate(-5%,-5%)scale(.9)}75%{transform:translate(-10%,5%)scale(1.05)}}@keyframes code-rain{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes fade-in-out{0%,to{opacity:.4}50%{opacity:.8}}@keyframes typing-effect{0%,to{width:0}30%,70%{width:100%}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes float{0%,to{transform:translate3d(0, 0, 0) rotate(var(--rotate,0deg))}50%{transform:translate3d(0, -15px, 0) rotate(calc(var(--rotate,0deg) + 5deg))}}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes logo-pulse{0%,to{filter:drop-shadow(0 0 8px #8b5cf64d)}50%{filter:drop-shadow(0 0 16px #8b5cf699)}}@keyframes particle-float{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(.5)}}[data-radix-popper-content-wrapper]{z-index:9999!important}.dark [data-radix-select-content]{color:#fff!important;background-color:#1a1a1a!important;border-color:#2a2a2a!important}.dark [data-radix-select-item]:hover{background-color:#2a2a2a!important}.dark [data-radix-select-item][data-highlighted]{color:#fff!important;background-color:#2a2a2a!important}.squiggly-error{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'%3E%3Cg fill='%23f87171'%3E%3Cpolygon points='5.5,0 2.5,3 1.1,3 4.1,0'/%3E%3Cpolygon points='4,0 6,2 6,0.6 5.4,0'/%3E%3Cpolygon points='0,2 1,3 2.4,3 0,0.6'/%3E%3C/g%3E%3C/svg%3E");background-position:0 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:3px}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-md::file-selector-button{border-radius:calc(var(--radius) - 2px)}.file\:border-0::file-selector-button{border-width:0}.file\:bg-primary::file-selector-button{background-color:hsl(var(--primary))}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:font-semibold::file-selector-button{font-weight:600}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.file\:text-primary-foreground::file-selector-button{color:hsl(var(--primary-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:mt-0:last-child{margin-top:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-\[\#3e3e42\]:hover{--tw-bg-opacity:1;background-color:rgb(62 62 66/var(--tw-bg-opacity,1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-reward\/90:hover{background-color:hsl(var(--reward) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:file\:bg-primary\/90::file-selector-button:hover{background-color:hsl(var(--primary) / .9)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:translate-y-\[2px\]:active{--tw-translate-y:2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:translate-y-px:active{--tw-translate-y:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:shadow-none:active{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:.75rem}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:.75rem}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--radius) - 2px)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-width:1px}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=active\]\:flex[data-state=active]{display:flex}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:.75rem}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:.875rem;line-height:1.25rem}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:1rem;line-height:1.5rem}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:hsl(var(--destructive))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/75{background-color:hsl(var(--background) / .75)}}@media (prefers-reduced-motion:no-preference){@keyframes spin{to{transform:rotate(360deg)}}.motion-safe\:animate-spin{animation:1s linear infinite spin}}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (width>=390px){.min-\[390px\]\:text-xs{font-size:.75rem;line-height:1rem}}@media (width>=640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:w-40{width:10rem}.sm\:w-44{width:11rem}.sm\:w-48{width:12rem}.sm\:max-w-48{max-width:12rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-10{gap:2.5rem}.sm\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:self-center{align-self:center}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-6{gap:1.5rem}.md\:p-12{padding:3rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=1024px){.lg\:sticky{position:sticky}.lg\:top-6{top:1.5rem}.lg\:w-60{width:15rem}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(260px\,340px\)\]{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:gap-16{gap:4rem}.lg\:self-start{align-self:flex-start}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pb-16{padding-bottom:4rem}}@media (width>=1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\*\]\:w-full>*{width:100%}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:1rem}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field]{padding:1rem}.\[\&\>a\:hover\]\:text-primary>a:hover{color:hsl(var(--primary))}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]){width:1.5rem;height:1.5rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3 svg{width:.75rem;height:.75rem}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:-.375rem}
