@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--cream: #f3ecde;--cream-deep: #ece2cf;--cream-0: rgba(243, 236, 222, 0);--card: #fffaf1;--card-hi: #fbf3e6;--ink: #2a2018;--ink-soft: #5f5346;--ink-faint: #695b4b;--saffron-500: #f6a53c;--saffron-600: #e8890c;--saffron-700: #b45309;--saffron-800: #8f4a12;--flame-soft: #ffcf87;--flame: #f6a53c;--flame-deep: #c9720c;--peacock: #0f7a6e;--peacock-deep: #0a5a51;--halo: #fbe3bd;--halo-ring: #f2c987;--skin: #e6b184;--hair: #3a2a20;--good: #4f6b49;--good-bg: #e4ede0;--retry: #9a3412;--retry-bg: #f6e7d8;--locked: #ece2cf;--locked-ink: #8b7d6b;--line: #d9ccb2;--glow: rgba(232, 137, 12, .22);--lit: rgba(232, 137, 12, .06);--shadow-press: 0 3px 0 rgba(120, 80, 20, .28);--shadow: var(--shadow-press);--shadow-soft: 0 2px 14px rgba(120, 80, 20, .1);--shadow-lift: 0 10px 30px rgba(120, 80, 20, .14);--radius: 0;--radius-tap: 12px;--radius-pill: 999px;--voice: "Newsreader Variable", "Hoefler Text", Georgia, serif;--serif: var(--voice);--font: "Hanken Grotesk Variable", ui-sans-serif, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace}:root[data-theme=dark]{color-scheme:dark;--cream: #16110b;--cream-deep: #1d160f;--cream-0: rgba(22, 17, 11, 0);--card: #221a12;--card-hi: #2a2018;--ink: #f2e9da;--ink-soft: #cbbca7;--ink-faint: #9a8b78;--saffron-500: #f6a53c;--saffron-600: #f2a03a;--saffron-700: #c76e0b;--saffron-800: #f6c07a;--flame-soft: #ffdca0;--flame: #f9b14e;--flame-deep: #d98420;--peacock: #46b7a8;--peacock-deep: #2f8f83;--halo: #2f2413;--halo-ring: #6b5220;--skin: #e6b184;--hair: #5a4531;--good: #86b47f;--good-bg: #17321f;--retry: #fb9a5b;--retry-bg: #3a2413;--locked: #241a12;--locked-ink: #9a8b78;--line: #362c20;--glow: rgba(246, 165, 60, .18);--shadow: 0 2px 0 rgba(0, 0, 0, .5);--shadow-soft: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lift: 0 10px 30px rgba(0, 0, 0, .55);--shadow-press: 0 2px 0 rgba(0, 0, 0, .32)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:18px;line-height:1.5;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font);font-weight:800;letter-spacing:-.015em}.prompt{font-family:var(--voice);font-weight:500}.reward-card .big,.stat-cell .num,.rail-stat-num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.app-shell{max-width:560px;margin:0 auto;min-height:100%;padding:0 20px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.app-frame{min-height:100%;padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}.app-frame.no-tabbar{padding-bottom:0}.rail{display:none}.tabbar{position:fixed;inset:auto 0 0 0;z-index:40;display:flex;gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--cream-deep);border-top:2px solid var(--line)}.tabbar-tab{flex:1 1 0;min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;border:2px solid transparent;border-radius:12px;background:transparent;color:var(--ink-soft);font-family:inherit;font-weight:700;cursor:pointer}.tabbar-tab.on{background:var(--halo);border-color:var(--saffron-500);color:var(--saffron-800)}.tabbar-tab:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px}.tabbar-icon{font-size:21px;line-height:1}.tabbar-label{font-size:11.5px;line-height:1.2;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}@media (min-width: 900px){body{background:var(--cream)}.app-frame{display:grid;grid-template-columns:288px minmax(0,1fr);min-height:100vh}.rail{display:flex}.tabbar{display:none}.app-frame{padding-bottom:0}.app-frame .topbar{display:none}.app-main .app-shell{max-width:680px;padding-top:22px}.app-main .home-head>.guruji{display:none}.app-main .home-head{align-items:flex-start;text-align:left;margin-top:4px}.focus-shell{max-width:680px;padding-top:56px;padding-bottom:64px;justify-content:safe center}.focus-shell>.runner,.focus-shell>.win{flex:none}}@media (hover: hover){.node:not(.node-locked):not(.node-current):hover{border-color:var(--flame);background:var(--card-hi)}.node-current:hover{filter:brightness(1.03)}.tile:not(.tile-used):hover{border-color:var(--flame)}.option:not(.option-selected):not(.option-correct):not(.option-wrong):hover{border-color:var(--flame)}.text-link:hover{color:var(--saffron-800)}}.rail{position:sticky;top:0;height:100vh;overflow-y:auto;flex-direction:column;justify-content:space-between;gap:20px;padding:26px 18px 20px;border-right:2px solid var(--line);background:var(--cream-deep)}.rail-top{display:flex;flex-direction:column;gap:20px}.rail-bottom{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:2px solid var(--line)}.rail-brand{display:flex;align-items:center;gap:10px;padding:0 2px;font-weight:800;font-size:22px;letter-spacing:-.01em}.rail-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0}.rail-name{margin:0;font-weight:800;font-size:18px}.rail-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.rail-stat{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 2px;border-radius:14px;background:var(--card);border:2px solid var(--line)}.rail-stat-num{display:inline-flex;align-items:center;gap:3px;font-weight:800;font-size:16px;color:var(--saffron-800);white-space:nowrap}.rail-stat-cap{font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.rail-nav{display:flex;flex-direction:column;gap:4px}.rail-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;border:2px solid transparent;background:transparent;color:var(--ink);font-family:inherit;font-weight:700;font-size:16px;cursor:pointer;text-align:left;transition:background-color .1s ease}.rail-link:hover{background:var(--card)}.rail-link.on{background:var(--halo);border-color:var(--saffron-500);color:var(--saffron-800)}.rail-link-icon{font-size:20px;flex-shrink:0}.rail-link:focus-visible,.rail-subject:focus-visible,.rail-theme:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px}.rail-subject{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:inherit;font-family:inherit;cursor:pointer;text-align:left}.rail-subject:hover{border-color:var(--saffron-500)}.rail-subject-icon{flex-shrink:0;color:var(--peacock)}.rail-subject-text{display:flex;flex-direction:column;min-width:0;gap:1px}.rail-subject-cap{font-size:10.5px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em}.rail-subject-name{font-weight:800;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-theme{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink-soft);font-family:inherit;font-weight:700;font-size:15px;cursor:pointer}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 12px;background:linear-gradient(var(--cream) 78%,var(--cream-0))}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.01em}.stat-group{display:flex;gap:8px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 12px;border-radius:999px;font-weight:700;font-size:16px;color:var(--ink);background:var(--card);border:2px solid var(--line)}button.pill{cursor:pointer;font-family:inherit}.pill-icon{padding:8px;min-width:44px}.pill:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px}.pill .icon{font-size:18px}.pill-streak{color:var(--saffron-800)}.pill-streak.dim{color:var(--ink-faint)}button{font-family:inherit}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-weight:800;font-size:18px;min-height:56px;padding:0 28px;border-radius:var(--radius-pill);transition:transform .06s ease,filter .12s ease;color:#fff;background:var(--saffron-700);box-shadow:var(--shadow-press)}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(2px);box-shadow:none}.btn:focus-visible{outline:3px solid var(--saffron-500);outline-offset:3px}.btn:disabled{cursor:not-allowed;background:var(--locked);color:var(--locked-ink);box-shadow:none}.btn-block{width:100%}.btn-ghost{background:transparent;color:var(--saffron-800);box-shadow:none;border:2px solid var(--line)}.btn-ghost:disabled{background:transparent}.btn-lg{min-height:62px;font-size:20px}.welcome{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;text-align:center;padding:32px 0}.welcome h1{font-size:34px;margin:4px 0 0;letter-spacing:-.02em}.welcome .tagline{font-size:20px;color:var(--ink-soft);margin:0}.welcome-eyebrow{margin:0;font-size:14px;font-weight:700;color:var(--ink-faint)}.welcome .promise{color:var(--ink-soft);margin:0 auto;max-width:30ch}.name-field{display:flex;flex-direction:column;gap:8px;text-align:left}.name-field label{font-weight:700}.name-field input{font-family:inherit;font-size:18px;min-height:56px;padding:0 16px;border-radius:var(--radius-tap);border:2px solid var(--line);background:var(--card);color:var(--ink)}.name-field input:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px;border-color:var(--saffron-500)}.welcome .actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.onboard-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:0;margin:0}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:15px;font-weight:700;color:var(--ink-soft);background:var(--cream-deep);border:2px solid var(--line)}.onboard-taste{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left}.onboard-chooser{display:flex;flex-direction:column;gap:10px;width:100%;margin:4px 0 2px}.onboard-aha-ask{font-family:var(--voice);font-size:1.05rem;margin:0 0 4px;padding:12px 14px;border-radius:var(--radius);background:var(--cream-deep);border:2px solid var(--line);color:var(--ink)}.onboard-aha-result{display:flex;align-items:center;gap:8px;font-size:.98rem;color:var(--ink-soft);margin:0}.onboard-aha-ic{flex:none;color:var(--saffron-600)}.onboard-code{font-family:var(--mono);font-size:18px;font-weight:700;margin:0 0 4px;padding:14px 16px;border-radius:var(--radius);background:var(--cream-deep);border:2px solid var(--line);color:var(--ink);overflow-x:auto;min-height:3.1em;white-space:pre-wrap}.onboard-caret{display:inline-block;width:2px;height:1.05em;margin-left:1px;vertical-align:text-bottom;background:var(--saffron-600);animation:onboard-blink 1s steps(1) infinite}@keyframes onboard-blink{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.onboard-caret{animation:none}}.onboard-head{display:flex;align-items:center;gap:12px;text-align:left;margin-bottom:4px}.onboard-head h1{margin:0;font-size:26px}.onboard-head .tagline{margin:0}.onboard-q{margin:4px 0 2px;text-align:left}.onboard-line{margin:2px 0 0;color:var(--ink-soft);text-align:left}@media (min-width: 900px){.onboard-shell .onboard-head{display:none}}.win-name{width:100%;display:flex;flex-direction:column;gap:8px;text-align:left;padding:16px;border:2px solid var(--line);border-radius:var(--radius);background:var(--card-hi)}.win-name label{font-weight:700}.win-name input{font-family:inherit;font-size:18px;min-height:56px;padding:0 14px;border-radius:var(--radius);border:2px solid var(--line);background:var(--card);color:var(--ink)}.win-name input:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px;border-color:var(--saffron-500)}.win-name-actions{display:flex}.name-note{font-size:14px;color:var(--ink-faint);margin:2px 0 0}.onboard-dots{display:flex;justify-content:center;gap:8px;list-style:none;padding:0;margin:8px 0 0}.onboard-dot{width:9px;height:9px;border-radius:50%;background:var(--line)}.onboard-dot.on{background:var(--saffron-600)}.welcome-brand{display:flex;flex-direction:column;align-items:center;gap:20px}.onboard-aside{display:none}@media (min-width: 900px){.onboard-shell{max-width:none;width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;padding:0;min-height:100vh}.onboard-aside{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:18px;padding:56px 48px;background:radial-gradient(560px 380px at 50% 24%,var(--glow),transparent 72%),var(--cream-deep);border-right:2px solid var(--line)}.onboard-aside-brand h1{margin:0;font-size:40px;letter-spacing:-.02em}.onboard-aside-brand .tagline{margin:6px 0 0;font-size:20px;color:var(--ink-soft)}.onboard-aside-line{margin:0;max-width:26ch;color:var(--ink-soft);font-size:17px;line-height:1.5}.onboard-shell .welcome{padding:56px 52px;justify-content:center;max-width:520px;margin-inline:auto;width:100%}.onboard-shell .welcome-brand,.onboard-shell .welcome>.onboard-chips{display:none}.onboard-shell .welcome .promise{font-size:22px;max-width:34ch;line-height:1.4}}.guruji{display:block;flex:none}@keyframes guruji-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes guruji-pop{0%{transform:scale(.9)}60%{transform:scale(1.06)}to{transform:scale(1)}}.guruji-idle,.guruji-happy{animation:guruji-bob 3.4s ease-in-out infinite}.guruji-celebrating{animation:guruji-pop .5s ease-out}.guruji-sparkles{animation:guruji-bob 1.6s ease-in-out infinite}@keyframes guruji-blink{0%,91%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}.guruji-eyes{animation:guruji-blink 4.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes guruji-flicker{0%,to{transform:scaleY(1) rotate(-1deg)}50%{transform:scaleY(1.05) rotate(1.5deg)}}@keyframes guruji-glow-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.guruji-flame{animation:guruji-flicker 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}.guruji-glow{animation:guruji-glow-pulse 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion: reduce){.guruji-idle,.guruji-happy,.guruji-celebrating,.guruji-sparkles,.guruji-eyes,.guruji-flame,.guruji-glow,.runner-step,.guruji-bubble .beat{animation:none}}.guruji-says{display:flex;align-items:flex-start;gap:12px}.guruji-bubble{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-tap);padding:16px 18px;margin:6px 0 0;font-family:var(--voice);font-size:21px;line-height:1.4;flex:1}@keyframes step-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.runner-step{animation:step-in .22s cubic-bezier(.2,.7,.3,1) both}.guruji-bubble .beat{margin:0 0 10px;font:inherit;color:inherit;animation:step-in .18s cubic-bezier(.2,.7,.3,1) both}.guruji-bubble .beat:last-of-type{margin-bottom:0}.beat-more{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:6px 4px;background:none;border:none;cursor:pointer;font-size:15px;font-weight:600;color:var(--peacock)}.beat-more-chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}@media (prefers-reduced-motion: no-preference){.beat-more-chevron{animation:beat-chevron-nudge 1.6s ease-in-out infinite}}@keyframes beat-chevron-nudge{0%,to{transform:translateY(-3px) rotate(45deg)}50%{transform:translateY(1px) rotate(45deg)}}.tapscene{position:relative;margin:4px 0}.tapscene-hit{position:absolute;background:transparent;border:2px solid transparent;border-radius:10px;padding:0;cursor:pointer;transition:background .12s ease,border-color .12s ease}@media (hover: hover){.tapscene-hit:hover:not(:disabled){border-color:var(--halo-ring);background:color-mix(in srgb,var(--halo) 45%,transparent)}}.tapscene-hit:focus-visible{outline:3px solid var(--peacock);outline-offset:2px}.tapscene-hit--correct{background:color-mix(in srgb,var(--halo) 70%,transparent);border-color:var(--saffron-600)}.tapscene-miss{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:transparent;border:0;padding:0;cursor:default}.predict{display:flex;flex-direction:column;gap:14px}.predict-code{margin:0;padding:14px 16px;background:var(--card-hi);border:2px solid var(--line);border-radius:var(--radius);font-family:var(--mono);font-size:15px;line-height:1.5;color:var(--ink);white-space:pre-wrap;overflow-x:auto}.predict-reveal{display:flex;flex-direction:column;gap:6px}.gicon{flex:none;vertical-align:-.14em}.rail-link .gicon,.tabbar-tab .gicon,.chip .gicon,.pill .gicon,.btn .gicon,.skip-cta .gicon,.nudge .gicon,.subject-switch .gicon{vertical-align:0}.stat-ic.streak{color:var(--flame)}.stat-ic.level{color:var(--saffron-600)}.stat-ic.good{color:var(--good)}.pill-streak:not(.dim) .icon.streak{color:var(--flame)}.pill .icon.level{color:var(--saffron-600)}.brand-diya{color:var(--flame)}.home-head{text-align:center;margin:8px 0 4px}.home-head h2{margin:8px 0 2px;font-size:24px}.home-head .unit-progress{color:var(--ink-soft);margin:0;font-weight:700}.continue-hero{display:block;width:100%;max-width:640px;margin:6px auto;text-align:left;cursor:pointer;color:inherit;font:inherit;background:radial-gradient(130% 150% at 0% 100%,var(--glow),transparent 56%),var(--card-hi);border:2px solid var(--saffron-600);border-radius:var(--radius-tap);padding:16px 18px;box-shadow:var(--shadow-soft);transition:filter .12s ease,transform .06s ease}.continue-hero:hover{filter:brightness(1.02)}.continue-hero:active{transform:translateY(1px)}.continue-hero:focus-visible{outline:3px solid var(--saffron-500);outline-offset:3px}.continue-lead{display:block;font-size:13px;font-weight:700;color:var(--saffron-800);margin-bottom:10px}.continue-row{display:flex;align-items:center;gap:16px}.continue-main{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.continue-title{font-weight:800;font-size:20px;letter-spacing:-.01em}.continue-say{font-family:var(--voice);font-size:16px;line-height:1.35;color:var(--ink-soft)}.continue-go{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--radius-pill);background:var(--saffron-700);color:#fff;font-weight:800;font-size:16px;box-shadow:var(--shadow-press)}@media (max-width: 560px){.continue-row{flex-direction:column;align-items:stretch}}.finish-hero{width:100%;max-width:640px;margin:6px auto 10px;background:var(--card-hi);border:2px solid var(--peacock);border-radius:var(--radius-tap);padding:18px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:10px;align-items:stretch;text-align:left}.finish-lead{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--peacock)}.finish-lead-ic{vertical-align:0}.finish-title{font-weight:800;font-size:22px;letter-spacing:-.01em;margin:0}.finish-say{font-family:var(--voice);font-size:16px;line-height:1.4;color:var(--ink-soft);margin:0 0 2px}.finish-hero .text-link{align-self:center}.win-finish{display:flex;flex-direction:column;gap:8px;max-width:460px}.win-finish-line{font-weight:700;font-size:17px;line-height:1.4;color:var(--peacock);margin:0}.nudge{display:flex;gap:12px;align-items:center;border-radius:var(--radius-tap);padding:14px 16px;margin:14px 0 6px;font-weight:600;border:2px solid transparent}.nudge .nudge-icon{font-size:24px}.nudge-atRisk,.nudge-repairable{background:var(--retry-bg);border-color:#f6c79a;color:var(--retry)}.nudge-safe{background:var(--good-bg);border-color:#a7e0bd;color:var(--good)}.nudge-new{background:var(--card);border-color:var(--line);color:var(--ink-soft)}.nudge-milestone{background:var(--glow);border-color:var(--saffron-600);color:var(--saffron-800)}.nudge-milestone .nudge-icon{color:var(--saffron-600)}.freeze-chip{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--card);font-size:.78rem;font-weight:800;color:var(--peacock-deep);white-space:nowrap}.freeze-chip-ic{color:var(--peacock)}.daily-goal{margin:14px 2px 0}.daily-goal-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.daily-goal-label{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600;color:var(--saffron-800)}.daily-goal-count{font-family:var(--mono, monospace);font-size:.82rem;font-weight:700;color:var(--ink-soft)}.daily-goal-track{height:8px;border-radius:var(--radius-pill);background:var(--line);overflow:hidden}.daily-goal-fill{height:100%;border-radius:var(--radius-pill);background:var(--saffron-600);transition:width .3s ease}.daily-goal-done .daily-goal-label{color:var(--peacock-deep)}.daily-goal-done .session-goal-ic{color:var(--peacock)}.daily-goal-done .daily-goal-fill{background:var(--peacock)}.path{list-style:none;padding:8px 0 0;margin:8px 0 0;display:flex;flex-direction:column;align-items:center;gap:4px}.path-item{display:flex;flex-direction:column;align-items:center;width:100%}.path-connector{width:4px;height:22px;background:var(--line);border-radius:2px}.path-connector.done{background:var(--peacock)}.node{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;position:relative;width:100%;max-width:440px;display:flex;align-items:center;gap:16px;padding:15px 18px;border-radius:var(--radius-tap);background:var(--card);border:2px solid var(--line);text-align:left;color:var(--ink);transition:transform .06s ease,border-color .12s ease}.node:active{transform:translateY(1px)}.node:focus-visible{outline:3px solid var(--saffron-500);outline-offset:3px}.node-current{border-color:var(--saffron-600);background:var(--card-hi);box-shadow:0 0 0 5px var(--glow),var(--shadow-soft)}.node-current:active{transform:translateY(1px)}.node-locked{cursor:not-allowed;background:var(--cream-deep);color:var(--locked-ink);box-shadow:none}.node-admin-open{cursor:pointer;color:var(--ink-soft);border-style:dashed}@media (hover: hover){.node-admin-open:hover{border-color:var(--flame);background:var(--card-hi)}}.node-badge{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:800;background:var(--cream-deep);color:var(--ink-soft)}.node-done .node-badge{background:color-mix(in srgb,var(--peacock) 20%,var(--card));color:var(--peacock)}.node-current .node-badge{background:var(--saffron-500);color:var(--hair)}.node-main{flex:1;display:flex;flex-direction:column;gap:2px}.node-title{display:block;font-weight:800;font-size:19px}.node-sub{display:block;font-size:15px;color:var(--ink-soft)}.node-current .node-sub{color:var(--saffron-800);font-weight:700}.session-goal{display:flex;align-items:center;gap:8px;margin:14px 2px 0;font-size:.95rem;color:var(--saffron-800)}.session-goal-ic{color:var(--saffron-600)}.session-goal-done{color:var(--peacock-deep)}.session-goal-done .session-goal-ic{color:var(--peacock)}.meter-card{margin:16px 0 8px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-tap);background:var(--card);display:flex;flex-direction:column;gap:16px}.meter-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.meter-label{display:flex;align-items:center;gap:7px;font-weight:800;font-size:.92rem;color:var(--ink)}.meter-ic-lvl{color:var(--saffron-600)}.meter-ic-mastery{color:var(--peacock)}.meter-val{font-family:var(--mono, monospace);font-size:.8rem;font-weight:700;color:var(--ink-soft)}.meter-track{height:9px;border-radius:var(--radius-pill);background:var(--line);overflow:hidden}.meter-fill{height:100%;border-radius:var(--radius-pill);transition:width .4s ease}.meter-fill-lvl{background:var(--saffron-600)}.meter-fill-mastery{background:var(--peacock)}.meter-note{margin:8px 0 0;font-size:.8rem;color:var(--ink-soft)}.goal-panel{margin-top:14px}.goal-picker-title{margin:0;font-family:var(--voice);font-size:1.15rem;color:var(--ink)}.goal-picker-sub{margin:4px 0 12px;font-size:.9rem;color:var(--ink-soft)}.goal-picker-opts{display:flex;gap:10px}.goal-opt{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 12px 13px;border:1px solid var(--line);border-radius:var(--radius-tap);background:var(--card);cursor:pointer;text-align:left;font:inherit;color:var(--ink)}.goal-opt:hover{border-color:var(--saffron-600)}.goal-opt-on{border-color:var(--saffron-600);background:linear-gradient(var(--glow),transparent 70%);box-shadow:var(--shadow-press)}.goal-opt-label{font-weight:800}.goal-opt-xp{font-family:var(--mono, monospace);font-size:.82rem;font-weight:700;color:var(--saffron-800)}.goal-opt-on .goal-opt-xp{color:var(--saffron-800)}.goal-opt-sub{font-size:.78rem;color:var(--ink-soft)}@media (max-width: 460px){.goal-picker-opts{flex-direction:column}.goal-opt{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}}.review-card{margin-top:16px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-tap);background:linear-gradient(var(--glow),transparent 60%)}.review-card-eyebrow{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:.78rem;font-weight:800;letter-spacing:.01em;color:var(--peacock-deep)}.review-card-ic{color:var(--peacock)}.review-card-title{margin:0;font-family:var(--voice);font-size:1.15rem;color:var(--ink)}.review-card-say{margin:4px 0 12px;font-size:.9rem;color:var(--ink-soft)}.review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.review-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-tap);background:var(--cream-0, #fff);cursor:pointer;text-align:left;font:inherit;color:var(--ink)}.review-item:hover{border-color:var(--saffron-600)}.review-item-title{font-weight:600}.review-item-go{flex:none;font-size:.82rem;font-weight:800;color:var(--saffron-800)}.review-card-mistakes .review-card-eyebrow{color:var(--saffron-800)}.review-card-mistakes .review-card-ic{color:var(--saffron-600)}.error-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;max-width:460px;margin:0 auto}.error-title{font-size:1.6rem;margin:6px 0 0;color:var(--ink)}.error-say{font-size:1rem;line-height:1.5;color:var(--ink-soft);margin:0 0 8px}.home-foot{margin-top:22px;text-align:center}.text-link{background:none;border:none;cursor:pointer;color:var(--ink-faint);font-size:15px;text-decoration:underline;padding:8px;min-height:44px}.runner{flex:1;display:flex;flex-direction:column;padding-top:8px}.runner-nav{display:flex;align-items:center;gap:10px}.runner-nav .beat-bar,.runner-nav .progress-track{flex:1}.runner-step-nav{flex:none;width:40px;height:32px;padding:0;font-size:18px;line-height:1;border-radius:var(--radius-pill)}.runner-step-nav:disabled{opacity:.3;cursor:default}.beat-bar{display:flex;gap:4px;margin:6px 0 4px}.beat-seg{flex:1;height:8px;border-radius:var(--radius-pill);background:var(--line);transition:background .3s ease}.beat-seg.done{background:var(--peacock)}.beat-seg.here{background:var(--saffron-600);box-shadow:0 0 0 3px var(--glow)}.progress-track{height:12px;background:var(--cream-deep);border-radius:var(--radius-pill);overflow:hidden;margin:6px 0 4px}.progress-fill{height:100%;background:var(--peacock);border-radius:var(--radius-pill);transition:width .3s ease}.runner-quit{align-self:flex-start;margin-bottom:0}.runner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.runner-course{display:flex;align-items:center;gap:8px;min-width:0}.runner-course-bar{width:84px;height:6px;flex:none;border-radius:999px;background:var(--line);overflow:hidden}.runner-course-fill{display:block;height:100%;border-radius:999px;background:var(--peacock)}.runner-course-text{font-size:13px;font-weight:700;color:var(--ink-faint);white-space:nowrap}.runner-where{margin:0 0 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.runner-where-unit{font-size:13px;font-weight:700;color:var(--ink-faint)}.runner-where-lesson{font-size:15px;font-weight:700;color:var(--ink-soft)}@media (max-width: 420px){.runner-course-bar{width:56px}.runner-course-text{font-size:12px}}.runner-body{flex:1;display:flex;flex-direction:column;gap:18px}.runner-body:focus{outline:none}.step-art{margin:0;padding:22px 20px 16px;background:radial-gradient(120% 90% at 18% 100%,var(--glow),transparent 62%),var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.step-art svg{display:block;width:100%;height:auto}.step-art figcaption{padding:10px 4px 2px;font-size:13px;color:var(--ink-soft);text-align:center}.widget{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.widget-nudge{font-size:13.5px;color:var(--ink-soft);text-align:center}.sim-id{font-family:var(--mono);font-size:.82em;color:var(--ink-soft)}.sim-devices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sim-device{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--card-hi);border:1px solid var(--line);border-radius:12px}.sim-device-name{font-weight:700}.sim-dossier{padding:10px 12px;font-size:13px;color:var(--ink-soft);border:2px dashed var(--ink-faint);border-radius:10px;transition:border-color .3s ease,background .3s ease}.sim-dossier-claimed{border-style:solid;border-color:var(--halo-ring);background:var(--halo);color:var(--ink)}.sim-actions{display:flex;flex-direction:column;gap:8px}.sim-btn{font-size:13.5px;padding:8px 10px}.sim-person{padding:14px;border:2px dashed var(--ink-faint);border-radius:12px;text-align:center;transition:border-color .3s ease,background .3s ease}.sim-person-on{border-style:solid;border-color:var(--halo-ring);background:var(--halo)}.sim-person-merged{box-shadow:var(--shadow-lift)}.sim-person-empty{font-size:13.5px;color:var(--ink-soft)}.sim-person-name{font-family:var(--serif);font-size:19px;font-weight:600}.sim-person-sub{font-size:13.5px;color:var(--ink-soft);margin-top:4px}.journey-stage{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:start}.journey-who{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border:2px dashed var(--ink-faint);border-radius:12px;transition:border-color .3s ease,background .3s ease}.journey-who-idd{border-style:solid;border-color:var(--halo-ring);background:var(--halo)}.journey-stranger{width:44px;height:44px;position:relative}.journey-stranger:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:22px;height:22px;border:2.5px dashed var(--ink-soft);border-radius:50%}.journey-stranger:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:36px;height:15px;border:2.5px dashed var(--ink-soft);border-bottom:none;border-radius:18px 18px 0 0}.journey-evidence{display:flex;flex-direction:column;gap:8px}.journey-note{font-size:14px}.journey-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.journey-list li{font-size:13px;color:var(--ink-soft);padding:5px 10px;border:1.5px dashed var(--ink-faint);border-radius:8px}.journey-list-idd li{border-style:solid;border-color:var(--halo-ring);background:var(--halo);color:var(--ink)}.journey-retro{font-size:13px;color:var(--flame-deep);font-weight:600}.journey-controls{display:flex;flex-direction:column;gap:8px}.journey-controls input[type=range]{width:100%;accent-color:var(--saffron-600)}.journey-days{display:flex;justify-content:space-between}.journey-day{font-size:13px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card-hi);color:var(--ink-soft);cursor:pointer}.journey-day.on{background:var(--halo);border-color:var(--halo-ring);color:var(--ink);font-weight:700}@media (max-width: 560px){.sim-devices{grid-template-columns:1fr}.journey-stage{grid-template-columns:104px 1fr}}.prompt{font-family:var(--voice);font-size:25px;font-weight:500;line-height:1.3;margin:6px 0;letter-spacing:-.005em}.teach-example{margin:4px 0}.preview-browser{width:100%;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}.preview-chrome{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--card-hi);border-bottom:1px solid var(--line)}.preview-dots{display:inline-flex;gap:6px;flex:none}.preview-dot{width:9px;height:9px;border-radius:999px;background:var(--ink-faint);opacity:.5}.preview-address{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 12px;color:var(--ink-soft)}.preview-address svg{flex:none;opacity:.75}.preview-address-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.preview-body{display:block;width:100%;flex:1 1 auto;min-height:118px;border:0;background:#fff}.preview-body-empty{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:#6b665f;font-size:15px}.preview-label,.editor-label{font-size:14px;font-weight:700;color:var(--ink-soft);margin:4px 0}.assemble{display:flex;flex-direction:column;gap:14px}.assemble-tray{min-height:64px;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;padding:12px;border-radius:var(--radius);border:2px dashed var(--halo-ring);background:var(--card)}.assemble-tray:empty:before{content:"Tap the pieces below in order";color:var(--ink-faint);font-size:16px}.assemble-pool{display:flex;flex-wrap:wrap;gap:8px}.tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-family:var(--mono);font-size:17px;font-weight:700;min-height:48px;padding:10px 14px;border-radius:12px;background:var(--card);border:2px solid var(--line);color:var(--ink);box-shadow:var(--shadow)}.tile:active{transform:translateY(2px);box-shadow:none}.tile:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px}.tile-used{opacity:.32;cursor:default;box-shadow:none}.tile-placed{background:var(--halo);border-color:var(--halo-ring)}.code-area{display:flex;flex-direction:column;gap:10px}.code-area>*{display:flex;flex-direction:column;gap:4px;min-width:0}.code-area .editor,.code-area .preview-frame{flex:1 1 auto}@media (min-width: 900px){.code-area{flex-direction:row;align-items:stretch;gap:14px}.code-area>*{flex:1 1 0}}.build-challenge{display:flex;flex-direction:column;gap:12px}.build-compare{display:flex;gap:12px}.build-pane{flex:1 1 0;min-width:0}.build-editor{display:flex;flex-direction:column;gap:4px}.build-matched{font-weight:700;color:var(--peacock)}@media (max-width: 640px){.build-compare{flex-direction:column}}.editor{font-family:var(--mono);font-size:17px;line-height:1.5;width:100%;min-height:310px;padding:14px;border-radius:var(--radius);border:2px solid var(--line);background:var(--card);color:var(--ink);resize:vertical}.editor:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px;border-color:var(--saffron-500)}.options{display:flex;flex-direction:column;gap:10px}.option{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:left;font-size:18px;font-weight:600;min-height:56px;padding:15px 18px;border-radius:var(--radius-tap);background:var(--card);border:2px solid var(--line);color:var(--ink);box-shadow:var(--shadow-press)}.option:active{transform:translateY(2px);box-shadow:none}.option:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px}.option-selected{border-color:var(--saffron-600);background:var(--halo)}.option-correct{border-color:var(--good);background:var(--good-bg);color:var(--good)}.option-wrong{border-color:var(--retry);background:var(--retry-bg);color:var(--retry)}.feedback{border-radius:var(--radius);padding:14px 16px;font-weight:700;font-size:18px}.feedback-ok{background:var(--good-bg);color:var(--good)}.feedback-retry{background:var(--retry-bg);color:var(--retry)}.runner-footer{position:sticky;bottom:0;padding:14px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(var(--cream-0),var(--cream) 32%);display:flex;flex-direction:column;gap:10px}.hint-worth{font-size:.8rem;opacity:.6;margin-top:4px}.hint-zone{margin:12px 0;display:flex;flex-direction:column;gap:8px}.hint-line{opacity:.85;font-style:italic}.hint-answer{font-style:normal;font-weight:600;opacity:.9}.hint-button{align-self:flex-start}.mc-whynot{font-family:var(--voice, inherit);padding-left:12px;border-left:2px solid var(--saffron, currentColor);opacity:.9;margin:-4px 0 4px}.tip-callout{display:flex;align-items:flex-start;gap:10px;font-family:var(--voice, inherit);background:color-mix(in srgb,var(--saffron, #e6a855) 12%,transparent);border:1px solid color-mix(in srgb,var(--saffron, #e6a855) 45%,transparent);border-radius:12px;padding:12px 14px;margin:-2px 0 8px}.tip-callout-ic{color:var(--saffron, #e6a855);flex-shrink:0;margin-top:1px}.tip-callout-text{margin:0}.win{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:32px 0}.win h2{font-size:30px;margin:4px 0 0}.win-reward{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:6px 0}.reward-card{min-width:120px;padding:16px 20px;border-radius:var(--radius);background:var(--card);border:2px solid var(--line)}.reward-card .big{font-size:32px;font-weight:800;color:var(--saffron-800)}.reward-card .cap{font-size:14px;font-weight:700;color:var(--ink-soft)}.win-sub{color:var(--ink-soft);max-width:34ch;margin:0 auto}.win .actions{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;margin-top:8px}.stats{padding:8px 0 24px}.stats h2{font-size:24px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.stat-cell{padding:16px;border-radius:var(--radius);background:var(--card);border:2px solid var(--line)}.stat-cell .num{font-size:26px;font-weight:800;color:var(--saffron-800)}.stat-cell .cap{font-size:14px;color:var(--ink-soft);font-weight:700}.stat-note{color:var(--ink-soft);font-size:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.playground{padding:8px 0 24px;display:flex;flex-direction:column;gap:14px}.playground>.btn-ghost:first-child{align-self:flex-start}.pg-snippets{display:flex;flex-wrap:wrap;gap:8px}.pg-snippets .tile{font-size:15px}.pg-preview{min-height:200px}.pg-foot{margin-top:2px}.badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 16px}.badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:16px 12px;border-radius:var(--radius);background:var(--card);border:2px solid var(--line)}.badge.earned{border-color:var(--saffron-500);box-shadow:var(--shadow)}.badge:not(.earned){opacity:.55;filter:grayscale(1)}.badge-emoji{font-size:34px;line-height:1}.badge-title{font-weight:800;font-size:16px}.badge-desc{font-size:13px;color:var(--ink-soft)}.win-badges{width:100%;max-width:360px;display:flex;flex-direction:column;gap:8px;margin:6px 0}.win-badges-label{font-size:15px;font-weight:800;color:var(--saffron-800);margin:0}.win-badge{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:var(--radius);background:var(--halo);border:2px solid var(--saffron-500)}.win-badge-emoji{font-size:30px;line-height:1}.win-badge-desc{display:block;font-size:14px;color:var(--ink-soft)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#1f140a8c}.modal-card{position:relative;width:100%;max-width:380px;max-height:calc(100vh - 40px);overflow-y:auto;padding:24px;border-radius:var(--radius);border:2px solid var(--line);background:var(--cream);box-shadow:var(--shadow)}.modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer}.modal-close:hover{border-color:var(--flame);color:var(--flame-deep)}.share-modal h2{margin:0 34px 16px 0;font-size:20px}.share-preview{border-radius:18px;overflow:hidden;border:2px solid var(--line);aspect-ratio:1;background:var(--card-hi)}.share-preview img{display:block;width:100%;height:100%;object-fit:cover}.share-preview-loading{width:100%;height:100%;background:linear-gradient(135deg,var(--flame-deep),var(--flame));opacity:.35}.share-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px}:root[data-theme=dark] body:before{mix-blend-mode:screen;opacity:.06}#root{position:relative;z-index:1}.node:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff80}.node-locked:after{display:none}:root[data-theme=dark] .node:after{box-shadow:inset 0 1px #ffffff0f}@media (prefers-reduced-motion: reduce){.node-current:active{transform:none}}.skip-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:10px;width:100%;max-width:420px;padding:14px 18px;border-radius:12px;border:1.5px dashed var(--peacock);background:color-mix(in srgb,var(--peacock) 8%,transparent);color:var(--peacock);font:inherit;font-weight:700;font-size:15px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .12s ease,transform .06s ease}.skip-cta:hover{background:color-mix(in srgb,var(--peacock) 14%,transparent)}.skip-cta:active{transform:translateY(1px)}.skip-cta:focus-visible{outline:3px solid var(--peacock);outline-offset:2px}.unit-testedout{color:var(--peacock);font-weight:600}.checkpoint-intro{margin:6px 0 4px}.checkpoint-meta{font-size:16px;color:var(--ink-soft)}.checkpoint-count{font-size:14px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-faint);margin:4px 0 2px}.checkpoint-score{display:flex;flex-direction:column;align-items:center;gap:4px;margin:8px 0 4px}.checkpoint-score-num{font-family:var(--serif);font-size:52px;font-weight:700;line-height:1;color:var(--saffron-700)}.checkpoint-score-label{font-size:15px;font-weight:700;color:var(--ink-soft)}.account{padding:8px 0 28px;display:flex;flex-direction:column;align-items:center;gap:14px}.account-back{align-self:flex-start}.account-panel{width:100%;max-width:430px;display:flex;flex-direction:column;gap:16px;background:var(--card);border:2px solid var(--line);border-radius:22px;padding:28px 24px;box-shadow:var(--shadow-lift)}.account-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.account-hero h2{margin:6px 0 0;font-size:24px}.account-lead{margin:4px 0 0;color:var(--ink-soft);font-size:15.5px;line-height:1.45}.account-who-card{display:flex;flex-direction:column;gap:2px;text-align:center;background:var(--card-hi);border:2px solid var(--line);border-radius:var(--radius);padding:16px}.account-who-label{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.account-who-name{font-family:var(--serif);font-size:20px;color:var(--ink);font-weight:600}.account-who-sub{color:var(--ink-soft);font-size:14.5px}.account-fineprint{margin:0;font-size:13.5px;color:var(--ink-faint);text-align:center}.account-delete{margin-top:18px;color:var(--retry)}.account-delete-confirm{margin-top:14px;padding:16px;border:1px solid var(--retry);border-radius:var(--radius-tap);background:var(--retry-bg)}.account-delete-warning{margin:0 0 12px;font-size:14.5px;color:var(--ink)}.account-delete-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.account-delete-final{color:var(--retry);font-weight:700}.provider-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;padding:0 20px;font:inherit;font-weight:700;font-size:17px;color:var(--ink);background:var(--card-hi);border:2px solid var(--line);border-radius:14px;transition:transform .06s ease,border-color .12s ease}.provider-btn:hover{border-color:var(--flame)}.provider-btn:active{transform:translateY(2px)}.provider-btn:disabled{opacity:.6;cursor:default}.provider-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--halo);color:var(--flame-deep);font-family:var(--serif);font-weight:800;border:1px solid var(--halo-ring)}.or-divider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:13.5px}.or-divider:before,.or-divider:after{content:"";flex:1;height:2px;background:var(--line);border-radius:2px}.account-form{display:flex;flex-direction:column;gap:13px}.account-form .field{display:flex;flex-direction:column;gap:6px;text-align:left}.account-form .field label{font-weight:700;font-size:15px}.account-form .field-opt{color:var(--ink-faint);font-weight:500}.account-form input{font-family:inherit;font-size:17px;min-height:52px;padding:0 15px;border-radius:12px;border:2px solid var(--line);background:var(--card-hi);color:var(--ink)}:root[data-theme=dark] .account-form input,:root[data-theme=dark] .provider-btn{border-color:#4a3a26}.account-form input::placeholder{color:var(--ink-faint)}.account-form input:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px;border-color:var(--saffron-500)}.account-form .btn{margin-top:4px}.pw-wrap{position:relative;display:flex}.pw-wrap input{flex:1;width:100%;padding-right:52px}.pw-eye{position:absolute;top:50%;right:5px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:10px;background:transparent;color:var(--ink-faint);cursor:pointer}.pw-eye:hover{color:var(--ink)}.pw-eye:focus-visible{outline:3px solid var(--saffron-500);outline-offset:1px;color:var(--ink)}.account-toggle{align-self:center}.account-guest{max-width:430px}.account-error{color:var(--retry);background:var(--retry-bg);border-radius:12px;padding:10px 14px;margin:0;font-size:15px;text-align:left}.account-info{color:var(--peacock-deep);background:var(--good-bg);border-radius:12px;padding:10px 14px;margin:0;font-size:15px;text-align:left}.toast-success{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:var(--good-bg);color:var(--good);font-weight:700;font-size:14.5px;box-shadow:var(--shadow-lift);max-width:calc(100vw - 32px)}.course-track{width:100%;max-width:460px;height:10px;margin:14px auto 4px;background:var(--card-hi);border:1px solid var(--line);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #7850141a}.course-fill{display:block;height:100%;background:var(--peacock);border-radius:999px;transition:width .4s ease}.course-cap{margin:0;font-size:14px;color:var(--ink-faint);text-align:center}.unit-section{margin:0 auto 14px;max-width:640px;width:100%}.unit-complete:nth-of-type(odd),.unit-locked:nth-of-type(odd){transform:translate(-7px)}.unit-complete:nth-of-type(2n),.unit-locked:nth-of-type(2n){transform:translate(7px)}@media (max-width: 430px){.unit-complete:nth-of-type(odd),.unit-locked:nth-of-type(odd){transform:translate(-4px)}.unit-complete:nth-of-type(2n),.unit-locked:nth-of-type(2n){transform:translate(4px)}}.unit-complete .unit-head-card{border-color:color-mix(in srgb,var(--peacock) 38%,var(--line));background:color-mix(in srgb,var(--peacock) 5%,var(--card))}.unit-done-disc{position:absolute;right:46px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--peacock);color:var(--card);display:flex;align-items:center;justify-content:center}.unit-active .unit-head-plain{border-left:3px solid var(--saffron-500);padding-left:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.unit-head{display:block;width:100%;text-align:left;padding:4px 2px 10px;border:none;background:none}.unit-head-card{font:inherit;color:inherit;padding:14px 16px;border:2px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-soft);position:relative}button.unit-head-card{cursor:pointer;transition:background .12s ease,transform .04s ease}button.unit-head-card:hover{background:var(--card-hi)}button.unit-head-card:active{transform:translateY(1px)}button.unit-head-card:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px}.unit-eyebrow{display:block;font-size:13px;font-weight:700;color:var(--ink-faint);margin-bottom:3px}.unit-badge{color:var(--ink-faint);font-weight:600}.unit-title{display:block;font-family:var(--font);font-size:22px;font-weight:800;letter-spacing:-.015em;color:var(--ink);line-height:1.2}.unit-count{display:block;margin-top:4px;font-size:14px;color:var(--ink-soft)}.unit-lock-note{color:var(--ink-faint)}.unit-chevron{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:16px;transition:transform .18s ease}.unit-chevron.open{transform:translateY(-50%) rotate(180deg)}.unit-head-plain{padding:6px 2px 12px}.unit-head-locked{border-style:dashed;border-color:color-mix(in srgb,var(--ink-faint) 42%,var(--line));box-shadow:none}.unit-head-locked .unit-title,.unit-head-locked .unit-lock-note{color:var(--ink-soft)}.unit-complete .unit-eyebrow{color:var(--peacock)}.unit-group-label{max-width:640px;margin:18px auto 6px;padding:0 2px;font-size:13px;font-weight:700;color:var(--ink-faint)}.unit-group:first-of-type .unit-group-label{margin-top:4px}.unit-group-muted{opacity:.86}.unit-group-alsoopen{display:inline-block;margin-left:8px;font-size:.72em;font-weight:600;letter-spacing:.02em;color:var(--peacock, #4aa89a);vertical-align:middle}.route-confirm{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--peacock, #4aa89a) 14%,transparent);border:1px solid color-mix(in srgb,var(--peacock, #4aa89a) 45%,transparent);border-radius:14px;padding:12px 14px;margin:0 0 14px}.route-confirm-ic{color:var(--peacock, #4aa89a);flex-shrink:0}.route-confirm-text{flex:1;font-family:var(--voice, inherit)}.route-confirm-x{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:none;color:inherit;opacity:.7;cursor:pointer}.route-confirm-x:hover{opacity:1}.router-cta{display:block;width:100%;max-width:640px;margin:0 auto 14px;cursor:pointer}.router-cta .unit-eyebrow{color:var(--peacock)}@media (prefers-reduced-motion: reduce){.course-fill,.unit-chevron,button.unit-head-card{transition:none}}.subjects{padding:8px 0 24px;display:flex;flex-direction:column;gap:16px}.subjects>.btn-ghost:first-child{align-self:flex-start}.subject-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;font-weight:700;font-size:14px;color:var(--peacock-deep);background:var(--card-hi);border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin:2px auto 0;display:inline-flex;align-items:center;gap:6px}.subject-switch:hover{color:var(--flame-deep)}.subject-grid{display:flex;flex-direction:column;gap:14px}.subject-card{display:flex;align-items:flex-start;gap:16px;text-align:left;cursor:pointer;font:inherit;color:inherit;padding:18px;border:2px solid var(--line);border-radius:var(--radius);background:var(--card);transition:transform .06s ease,border-color .12s ease}.subject-card:hover{border-color:var(--flame)}.subject-card:active{transform:translateY(2px)}.subject-card.on{border-color:var(--flame-deep);background:var(--card-hi)}.subject-card:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px}.subject-card.subject-soon{cursor:default;opacity:.6}.subject-card.subject-soon:hover{border-color:var(--line)}.subject-card.subject-soon:active{transform:none}.subject-tag-soon{color:var(--ink-soft);background:var(--card-hi);border-color:var(--line)}.subject-band{margin-top:26px}.subject-band-head{margin:0;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.subject-band-note{margin:4px 0 12px;font-size:14px;line-height:1.4;color:var(--ink-soft)}.subject-card.subject-locked{cursor:default;opacity:1;border-style:dashed;background:var(--card-hi)}.subject-card.subject-locked:hover{border-color:var(--line)}.subject-card.subject-locked:active{transform:none}.subject-card.subject-locked .subject-icon,.subject-card.subject-locked .subject-title{opacity:.65}.subject-meta-locked{flex-wrap:wrap;row-gap:6px}.subject-tag-locked{display:inline-flex;align-items:center;gap:5px;color:var(--ink-soft);background:var(--card);border-color:var(--line)}.subject-lock-why{flex-basis:100%;color:var(--ink);font-size:14px;line-height:1.35;font-weight:600}.subject-tag-admin{color:var(--flame-deep);background:var(--halo);border-color:var(--halo-ring)}.subjects-banner{display:flex;align-items:center;gap:8px;margin-top:20px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card-hi);color:var(--ink-soft);font-size:14px;line-height:1.4}.subjects-banner .gicon{color:var(--flame-deep);flex:none}.subjects-later{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.subjects-later-head{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font);font-size:15px;font-weight:800;color:var(--ink-soft)}.subjects-later-tag{padding:1px 8px;border:1px solid var(--halo-ring);border-radius:999px;background:var(--halo);color:var(--flame-deep);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.subjects-later-note{margin:6px 0 16px;font-size:13px;color:var(--ink-faint)}.admin-chip{display:inline-block;margin-left:8px;padding:1px 8px;font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;color:var(--flame-deep);background:var(--halo);border:1px solid var(--halo-ring);border-radius:999px}.subject-icon{flex:none;width:52px;height:52px;display:grid;place-items:center;font-size:26px;background:var(--halo);border:1px solid var(--halo-ring);border-radius:14px}.subject-body{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.subject-title{font-family:var(--font);font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}.subject-blurb{font-size:15px;color:var(--ink-soft);line-height:1.35}.subject-bar{height:8px;margin-top:4px;background:var(--card-hi);border:1px solid var(--line);border-radius:999px;overflow:hidden}.subject-card.on .subject-bar{background:var(--card)}.subject-fill{display:block;height:100%;background:var(--peacock);border-radius:999px}.subject-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.subject-tag{font-size:12px;font-weight:700;color:var(--flame-deep);background:var(--halo);border:1px solid var(--halo-ring);border-radius:999px;padding:2px 10px}.subject-count{font-size:13px;color:var(--ink-faint)}.made-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 20px}.made-card{border:2px solid var(--line);border-radius:var(--radius-tap);background:var(--card);overflow:hidden;display:flex;flex-direction:column}.made-shot{position:relative}.made-shot:after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--card))}.made-preview{border-radius:0;border:none;border-bottom:1px solid var(--line)}.made-preview .preview-body{height:190px}.made-cap{padding:12px 14px 14px}.made-cap-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--peacock);margin-bottom:3px}.made-cap-title{display:block;font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}@media (max-width: 560px){.made-grid{grid-template-columns:1fr}}.mission{display:flex;flex-direction:column;gap:18px;margin:6px 0 4px}.mission-goal{display:flex;align-items:center;gap:8px;font-weight:800;font-size:18px;margin:0;color:var(--ink)}.mission-goal-ic{vertical-align:0;color:var(--peacock)}.mission-label{font-size:13px;font-weight:700;color:var(--ink-soft);margin:0 0 8px}.mission-prompt-wrap{background:var(--card-hi);border:2px solid var(--line);border-radius:var(--radius-tap);padding:14px}.mission-prompt{font-family:var(--mono);font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word;margin:0 0 12px;color:var(--ink)}.mission-copy{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px}.mission-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;font-family:var(--voice);font-size:16px;line-height:1.45;color:var(--ink)}.mission-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mission-check-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;font-size:16px;color:var(--ink);cursor:pointer;min-height:52px;padding:10px 14px;border-radius:var(--radius-tap);border:2px solid var(--line);background:transparent}.mission-check-row:hover:not(:disabled){border-color:var(--saffron-600)}.mission-check-row:disabled{cursor:default}.mission-check-row.on{border-color:var(--peacock);background:var(--good-bg)}.mission-check-box{flex:none;width:26px;height:26px;border-radius:7px;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--peacock)}.mission-check-row.on .mission-check-box{border-color:var(--peacock)}.mission-url{display:flex;flex-direction:column;gap:8px}.mission-url-input{font:inherit;font-size:17px;color:var(--ink);min-height:52px;padding:12px 14px;border-radius:var(--radius-tap);border:2px solid var(--line);background:var(--card-hi);width:100%}.mission-url-input::placeholder{color:var(--ink-faint)}.mission-url-input:focus-visible{outline:none;border-color:var(--peacock)}.mission-url-input.bad{border-color:var(--retry)}.mission-url-input:disabled{cursor:default;opacity:.75}.mission-url-help{margin:0;font-family:var(--voice);font-size:15px;line-height:1.45;color:var(--retry)}.shipped-list{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:10px}.shipped-row{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:var(--radius-tap);border:2px solid var(--line);background:var(--card-hi)}.shipped-lesson{font-size:14px;color:var(--ink-faint)}.shipped-link{font-size:17px;color:var(--peacock);font-weight:600;word-break:break-all;text-decoration:none}.shipped-link:hover,.shipped-link:focus-visible{text-decoration:underline}.sound-anchor{position:relative;display:inline-flex}.sound-pill.on{color:var(--peacock);border-color:var(--peacock)}@keyframes sound-breathe{0%,to{opacity:1}50%{opacity:.25}}.sound-pill.on .gicon path:last-child{animation:sound-breathe 4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.sound-pill.on .gicon path:last-child{animation:none}}.sound-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:min(300px,calc(100vw - 24px));padding:14px;background:var(--card);border:2px solid var(--line);border-radius:var(--radius-tap);box-shadow:var(--shadow-lift)}.sound-whisper{font-family:var(--voice);font-size:18px;color:var(--ink);margin:2px 2px 10px}.sound-modes{display:flex;flex-direction:column;gap:4px}.sound-mode{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border-radius:var(--radius-tap);border:2px solid transparent;cursor:pointer}.sound-mode:hover{background:var(--card-hi)}.sound-mode.on{border-color:var(--peacock)}.sound-mode input{position:absolute;opacity:0;pointer-events:none}.sound-mode:has(input:focus-visible){outline:3px solid var(--saffron-500);outline-offset:2px}.sound-mode-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.sound-mode-name{font-weight:700;font-size:16px;color:var(--ink)}.sound-last{font-weight:600;font-size:14px;color:var(--ink-faint)}.sound-mode-blurb{font-size:14px;color:var(--ink-soft)}.sound-mode-check{color:var(--peacock);flex:none}.sound-vol{display:flex;align-items:center;gap:10px;margin-top:12px;padding:0 10px;font-weight:700;font-size:15px;color:var(--ink)}.sound-vol input[type=range]{flex:1;min-height:44px;accent-color:var(--peacock)}.sound-vol input[type=range]:disabled{opacity:.4}.sound-vol input[type=range]:focus-visible{outline:3px solid var(--saffron-500);outline-offset:2px}.sound-note{margin:10px 2px 0;font-size:14px;color:var(--ink-faint)}.rail .sound-anchor{display:block}.sound-rail{width:100%}.sound-rail.on,.sound-rail.on .rail-theme-icon{color:var(--peacock)}.sound-rail.on .gicon path:last-child{animation:sound-breathe 4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.sound-rail.on .gicon path:last-child{animation:none}}.sound-pop.up{top:auto;bottom:calc(100% + 10px);right:auto;left:0;width:100%;min-width:0}@media (max-width: 640px){.sound-pop{position:fixed;top:74px;left:12px;right:12px;width:auto}}
