@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dbd827405181b508-s.2f577igfy6zek.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/101a8ea8ee0a71f8-s.2ofvzoy5xjn1c.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:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a80398e50828056b-s.3ncsaruqasduw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/996b4d9a15bee5b0-s.45a19n6z-i3ph.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9d760601823f9ac2-s.3s-jl_297nmfs.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e683b1ee568be024-s.p.1er88gr2sg4r_.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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/dbd827405181b508-s.2f577igfy6zek.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/101a8ea8ee0a71f8-s.2ofvzoy5xjn1c.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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a80398e50828056b-s.3ncsaruqasduw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/996b4d9a15bee5b0-s.45a19n6z-i3ph.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9d760601823f9ac2-s.3s-jl_297nmfs.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e683b1ee568be024-s.p.1er88gr2sg4r_.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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/dbd827405181b508-s.2f577igfy6zek.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/101a8ea8ee0a71f8-s.2ofvzoy5xjn1c.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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a80398e50828056b-s.3ncsaruqasduw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/996b4d9a15bee5b0-s.45a19n6z-i3ph.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9d760601823f9ac2-s.3s-jl_297nmfs.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e683b1ee568be024-s.p.1er88gr2sg4r_.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:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/dbd827405181b508-s.2f577igfy6zek.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/101a8ea8ee0a71f8-s.2ofvzoy5xjn1c.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:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a80398e50828056b-s.3ncsaruqasduw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/996b4d9a15bee5b0-s.45a19n6z-i3ph.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9d760601823f9ac2-s.3s-jl_297nmfs.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e683b1ee568be024-s.p.1er88gr2sg4r_.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:Rubik Fallback;src:local(Arial);ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.0%;size-adjust:104.98%}.YO6xMW_className{font-family:Rubik,Rubik Fallback;font-style:normal}.YO6xMW_variable{--font-rubik:"Rubik", "Rubik Fallback"}
:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f1f3f6;--surface-3:#e7eaef;--ink:#0f1419;--ink-2:#3a4350;--muted:#677180;--line:#e4e7ec;--line-strong:#cdd3db;--accent:#2f5bea;--accent-hover:#244bd0;--accent-ink:#fff;--accent-soft:#e9eefd;--accent-line:#bfcdf8;--go:#14915a;--go-soft:#e3f4eb;--hold:#dc3d43;--hold-soft:#fce9ea;--warn:#b26a00;--warn-soft:#fdf1dc;--plastic:#16191e;--gray-sticker:#a3aab4;--hand:#c99a74;--hand-line:#6b4a33;--heat-0:#e7eaef;--shadow-1:0 1px 2px #1018280d, 0 1px 3px #1018280a;--shadow-2:0 4px 12px #1018280f, 0 1px 3px #1018280d;--shadow-3:0 20px 48px #1018282e, 0 4px 12px #10182814;--r-s:8px;--r-m:12px;--r-l:16px;--r-xl:22px;--sidebar:236px;--tabbar:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0d11;--surface:#14171c;--surface-2:#1a1e24;--surface-3:#232830;--ink:#eceff3;--ink-2:#c3cad3;--muted:#8b95a3;--line:#232830;--line-strong:#323944;--accent:#7d9bff;--accent-hover:#93adff;--accent-ink:#0b0d11;--accent-soft:#1a2440;--accent-line:#2f4170;--go:#3cc985;--go-soft:#12291d;--hold:#ff6b70;--hold-soft:#33171a;--warn:#f2ae45;--warn-soft:#2e220f;--plastic:#05070a;--gray-sticker:#4e5661;--hand:#b4855f;--hand-line:#2e2017;--heat-0:#1d2229;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 14px #00000059;--shadow-3:0 24px 60px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0d11;--surface:#14171c;--surface-2:#1a1e24;--surface-3:#232830;--ink:#eceff3;--ink-2:#c3cad3;--muted:#8b95a3;--line:#232830;--line-strong:#323944;--accent:#7d9bff;--accent-hover:#93adff;--accent-ink:#0b0d11;--accent-soft:#1a2440;--accent-line:#2f4170;--go:#3cc985;--go-soft:#12291d;--hold:#ff6b70;--hold-soft:#33171a;--warn:#f2ae45;--warn-soft:#2e220f;--plastic:#05070a;--gray-sticker:#4e5661;--hand:#b4855f;--hand-line:#2e2017;--heat-0:#1d2229;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 14px #00000059;--shadow-3:0 24px 60px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}html,body{margin:0}body{background:var(--bg);color:var(--ink);min-height:100dvh;font-family:var(--font-rubik),system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}p{margin:0}svg{flex:none}.muted{color:var(--muted)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[data-returning] .onb{visibility:hidden}.tnum{font-feature-settings:"tnum" 1}.small-note{color:var(--muted);margin-top:10px;font-size:13px}.empty{color:var(--muted);padding:12px 0;font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.kbd{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-bottom-width:2px;border-radius:5px;padding:0 5px;font-size:11.5px;font-weight:500;line-height:18px;display:inline-block}.btn .kbd{color:inherit;opacity:.7;background:0 0;border-color:currentColor;margin-left:4px}@media (pointer:coarse){.kbd-hint{display:none!important}}.app{min-height:100dvh}.skip{z-index:100;background:var(--ink);color:var(--bg);border-radius:var(--r-s);padding:10px 14px;font-weight:500;text-decoration:none;transition:top .15s;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}main:focus{outline:none}.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--line);z-index:30;flex-direction:column;padding:18px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--ink);align-items:center;gap:10px;padding:4px 8px 18px;text-decoration:none;display:flex}.brand svg{width:28px;height:28px}.brand b{letter-spacing:-.01em;white-space:nowrap;font-size:14.5px;font-weight:600;line-height:1.2;display:block}.brand small{color:var(--muted);font-size:12px;font-weight:400;display:block}.nav{gap:2px;display:grid}.nav-link{border-radius:var(--r-s);color:var(--ink-2);align-items:center;gap:11px;padding:9px 10px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link svg{width:19px;height:19px;color:var(--muted)}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.nav-link[aria-current=page] svg{color:var(--accent)}.nav-link .count{background:var(--accent);color:var(--accent-ink);border-radius:999px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:600;line-height:19px}.new-tag{color:var(--accent);background:var(--accent-soft,var(--surface-2));border-radius:999px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:600;line-height:18px}.nav-sep{background:var(--line);height:1px;margin:12px 6px}.side-foot{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:auto;display:grid}.side-foot .nav-link{min-width:0;max-width:100%}.streak-card{border-radius:var(--r-m);background:var(--surface-2);align-items:center;gap:10px;padding:12px;display:flex}.streak-card svg{color:#f07b1a;width:22px;height:22px}.streak-card b{font-size:15px;line-height:1.2;display:block}.streak-card span{color:var(--muted);font-size:12px}.theme-row{color:var(--muted);justify-content:space-between;align-items:center;padding:0 4px;font-size:13px;display:flex}.theme-row .seg svg{width:16px;height:16px}.content{margin-left:var(--sidebar);min-height:100dvh}.content-inner{max-width:1120px;margin:0 auto;padding:32px 36px 72px}.mobile-top,.tabbar{display:none}@media (max-width:1023px){.sidebar{display:none}.content{margin-left:0}.content-inner{padding:18px 16px calc(var(--tabbar) + 32px + env(safe-area-inset-bottom,0px))}.mobile-top{z-index:30;background:var(--bg);padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.mobile-top .brand{padding:0}.mobile-top .brand svg{width:26px;height:26px}.tabbar{z-index:40;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab-link{color:var(--muted);border-radius:var(--r-s);flex-direction:column;align-items:center;gap:2px;padding:5px 0;font-size:11px;font-weight:500;text-decoration:none;display:flex;position:relative}.tab-link svg{width:22px;height:22px}.tab-link[aria-current=page]{color:var(--accent)}.tab-link .dot.new{background:var(--accent);width:8px;min-width:8px;height:8px;padding:0;top:6px}.tab-link .dot{background:var(--hold);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:grid;position:absolute;top:2px;left:calc(50% + 8px)}}body.is-running .sidebar,body.is-running .mobile-top,body.is-running .tabbar,body.is-running .hide-run{opacity:0;pointer-events:none}.sidebar,.mobile-top,.tabbar,.hide-run{transition:opacity .2s}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head .eyebrow{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:500}.page-title{letter-spacing:-.02em;font-size:28px;font-weight:600}.page-sub{color:var(--muted);max-width:62ch;margin-top:6px;font-size:15px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (max-width:640px){.page-title{font-size:24px}.page-head{margin-bottom:18px}}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:32px 0 12px;display:flex}.section-head h2{font-size:18px}.section-head .muted{font-size:13px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);padding:20px}.panel>h2,.panel-head h2{font-size:16px}.panel>h2{margin-bottom:14px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head .muted{font-size:13px}.panel.flat{box-shadow:none;background:var(--surface-2);border-color:#0000}@media (max-width:640px){.panel{border-radius:var(--r-m);padding:16px}}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-s);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn svg{width:17px;height:17px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{color:var(--hold)}.btn-danger.armed{background:var(--hold);border-color:var(--hold);color:#fff}.btn-sm{padding:5px 10px;font-size:13px}.btn-lg{border-radius:var(--r-m);padding:12px 20px;font-size:15px}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn svg{width:20px;height:20px}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--line-strong)}.chip[aria-pressed=true],.chip[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip .n{color:var(--muted);font-feature-settings:"tnum" 1;font-size:12px}.chip[aria-pressed=true] .n,.chip[aria-current=page] .n{color:inherit;opacity:.7}.seg{background:var(--surface-2);border-radius:var(--r-s);gap:2px;padding:3px;display:inline-flex}.seg button,.seg a{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:13.5px;font-weight:500;text-decoration:none}.seg button:hover,.seg a:hover{color:var(--ink)}.seg [aria-pressed=true],.seg [aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.seg.wide{display:flex}.seg.wide>*{text-align:center;flex:1}.badge{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.badge.go{background:var(--go-soft);color:var(--go)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.progress{background:var(--surface-3);border-radius:999px;height:6px;display:flex;overflow:hidden}.progress i{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.progress i.go{background:var(--go)}.progress i.warn{background:var(--warn)}.field,.select{border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--surface);width:100%;padding:9px 12px;font-size:14px;line-height:1.4}.field:focus,.select:focus{outline:2px solid var(--accent-line);border-color:var(--accent)}@media (pointer:coarse){.field,.select{font-size:16px}}textarea.field{resize:vertical;min-height:80px}.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px;width:auto;padding-right:30px;font-weight:500}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:inline-flex}.switch input{appearance:none;background:var(--line-strong);cursor:pointer;border-radius:999px;flex:none;width:36px;height:21px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2.5px;left:2.5px;box-shadow:0 1px 2px #0003}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(15px)}.tip{border-radius:var(--r-m);background:var(--accent-soft);color:var(--ink-2);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.tip svg{width:18px;height:18px;color:var(--accent);margin-top:1px}.tip.warn{background:var(--warn-soft)}.tip.warn svg{color:var(--warn)}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);border-radius:var(--r-m);z-index:80;max-width:calc(100% - 32px);box-shadow:var(--shadow-3);padding:11px 16px;font-size:14px;font-weight:500;animation:.2s ease-out toast-in;position:fixed;transform:translate(-50%)}@media (max-width:1023px){.toast{bottom:calc(var(--tabbar) + 16px + env(safe-area-inset-bottom,0px))}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.empty-state{text-align:center;justify-items:center;gap:10px;padding:36px 20px;display:grid}.empty-state svg.cube-mark{opacity:.9;width:56px;height:56px}.empty-state h3{font-size:17px}.empty-state p{color:var(--muted);max-width:46ch}.overlay{z-index:60;background:#080a0e80;place-items:center;padding:20px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--surface);border-radius:var(--r-xl);width:min(640px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-3);padding:20px 22px 22px;animation:.18s ease-out pop;overflow:auto}.sheet.wide{width:min(920px,100%)}.sheet.narrow{width:min(440px,100%)}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.sheet-head h3{font-size:19px}.sheet-head .muted{margin-top:2px;font-size:13px}@media (max-width:640px){.overlay{place-items:end stretch;padding:0}.sheet,.sheet.wide,.sheet.narrow{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-height:92dvh;padding:10px 16px calc(20px + env(safe-area-inset-bottom,0px));animation:.22s ease-out slide-up}.sheet:before{content:"";background:var(--line-strong);border-radius:2px;width:38px;height:4px;margin:0 auto 12px;display:block}}@keyframes slide-up{0%{opacity:.4;transform:translateY(40px)}}.setting-list{gap:0;display:grid}.setting{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.setting:first-child{border-top:0;padding-top:4px}.setting b{font-weight:500;display:block}.setting span{color:var(--muted);font-size:13px}.home{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.home .col{gap:20px;display:grid}@media (max-width:900px){.home{grid-template-columns:minmax(0,1fr)}}.hero{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);padding:22px}.hero .eyebrow{color:var(--muted);font-size:13px;font-weight:500}.hero h2{letter-spacing:-.015em;margin-top:4px;font-size:22px}.hero p{color:var(--ink-2);max-width:52ch;margin-top:6px;font-size:14.5px}.hero .progress{margin-top:16px}.hero-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px;display:flex}.next{border-radius:var(--r-m);background:var(--surface-2);align-items:center;gap:14px;margin-top:18px;padding:12px 14px;display:flex}.next .lbl{color:var(--muted);font-size:12px}.next b{font-size:14.5px;font-weight:500;line-height:1.35;display:block}.next .btn{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);margin-left:auto}.next .btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}@media (max-width:640px){.next{flex-wrap:wrap}.next .btn{width:100%;margin-left:0}}.session{gap:8px;display:grid}.s-step{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:inherit;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:border-color .12s,background .12s;display:flex}a.s-step:hover{border-color:var(--accent-line);background:var(--accent-soft)}.s-step .ic{background:var(--surface-2);width:38px;height:38px;color:var(--ink-2);border-radius:10px;flex:none;place-items:center;display:grid}.s-step .ic svg{width:20px;height:20px}.s-step .ic svg.ring{width:40px;height:40px}.s-step .ic:has(.ring){background:0 0}.s-step.done .ic{background:var(--go-soft);color:var(--go)}.s-step .tx{flex:1;min-width:0}.s-step b{font-weight:500;display:block}.s-step .tx span{color:var(--muted);font-size:13px;display:block}.s-step>svg{color:var(--muted);flex:none;width:18px;height:18px}a.s-step:hover>svg{color:var(--accent)}.s-step .badge{margin-left:auto}@media (max-width:560px){.s-step{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:12px;display:grid}.s-step .ic{grid-row:1/span 2}.s-step .badge{grid-column:2;justify-self:start;margin:2px 0 0}.s-step>svg{display:none}}.ring{flex:none;width:44px;height:44px}.mini-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mini{background:var(--surface-2);border-radius:var(--r-m);padding:12px 14px}.mini .k{color:var(--muted);font-size:12.5px}.mini .v{font-feature-settings:"tnum" 1;letter-spacing:-.01em;font-size:22px;font-weight:600}.spark{width:100%;height:56px;margin-top:12px;display:block}.onb{gap:22px;max-width:720px;margin:24px auto 0;display:grid}.onb-head{text-align:center;justify-items:center;gap:10px;display:grid}.onb-head svg{width:64px;height:64px}.onb-head h1{letter-spacing:-.02em;font-size:30px}.onb-head p{color:var(--muted);max-width:52ch}.onb-options{gap:10px;display:grid}.onb-option{color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-l);background:var(--surface);text-align:left;box-shadow:var(--shadow-1);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 16px;padding:16px 18px;transition:border-color .12s,box-shadow .12s;display:grid}.onb-option:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.onb-discover{gap:12px;margin-top:18px;display:grid}.onb-discover h2{text-align:center;font-size:18px}.onb-links{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.onb-link{border-radius:var(--r-m);background:var(--surface-2);color:var(--ink);align-items:flex-start;gap:12px;padding:14px;text-decoration:none;transition:background .12s;display:flex}.onb-link:hover{background:var(--accent-soft)}.onb-link .ic{background:var(--surface);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.onb-link .ic svg{width:18px;height:18px}.onb-link b{font-size:14.5px;font-weight:600;display:block}.onb-link span span{color:var(--muted);font-size:13px;display:block}.onb-option .num{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.onb-option .t b{font-size:15.5px;font-weight:600;display:block}.onb-option .t span{color:var(--muted);font-size:13.5px;display:block}@media (max-width:640px){.onb-option{grid-template-columns:auto minmax(0,1fr);padding:14px}.onb-option .num{grid-row:span 2;align-self:start}.onb-option .badge{justify-self:start}.onb-head h1{font-size:24px}}.chrono{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;display:grid}@media (max-width:1100px){.chrono{grid-template-columns:minmax(0,1fr)}}.chrono-main{gap:14px;display:grid}.scr-bar{align-items:center;gap:8px;display:flex}.scr-bar .select{min-width:0}@media (max-width:640px){.scr-bar .lbl-sm{display:none}.scr-bar .badge{text-overflow:ellipsis;max-width:120px;overflow:hidden}}@media (max-width:480px){.mobile-top .brand small{display:none}.mobile-top .icon-btn{width:34px;height:34px}}@media (max-width:430px){.mobile-top .brand span{display:none}}.scr-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.scr-card .lbl{color:var(--muted);margin-bottom:4px;font-size:12.5px}.scramble{letter-spacing:.01em;word-spacing:.22em;font-size:clamp(17px,2.2vw,22px);font-weight:500;line-height:1.45}.net{width:118px;height:auto}.scr-side{flex:none;align-items:center;gap:6px;display:flex}@media (max-width:640px){.scr-card{flex-direction:column;align-items:stretch;gap:10px}.scr-side{justify-content:space-between}.net{width:100px}}.timer-zone{border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;cursor:pointer;min-height:min(48vh,400px);box-shadow:var(--shadow-1);flex-direction:column;justify-content:center;align-items:center;padding:24px 12px;transition:background .15s,border-color .15s;display:flex;position:relative}.timer-zone[data-state=holding]{background:var(--hold-soft);border-color:#0000}.timer-zone[data-state=ready]{background:var(--go-soft);border-color:#0000}.timer-zone[data-state=inspect]{background:var(--warn-soft);border-color:#0000}body.is-running .timer-zone{box-shadow:none;background:0 0;border-color:#0000}.digits{letter-spacing:-.03em;font-feature-settings:"tnum" 1;white-space:nowrap;font-size:clamp(68px,13vw,148px);font-weight:600;line-height:1;transition:color .12s}.digits .ch{text-align:center;width:.6em;display:inline-block}.digits .sep{width:.26em}.digits .ltr{width:auto}.digits .pen{width:auto;color:var(--warn);vertical-align:.95em;margin-left:.08em;font-size:.38em}.timer-zone[data-state=holding] .digits{color:var(--hold)}.timer-zone[data-state=ready] .digits{color:var(--go)}.timer-zone[data-state=inspect] .digits{color:var(--warn)}.hint{color:var(--muted);text-align:center;max-width:36ch;margin-top:16px;font-size:14px}.timer-type{position:absolute;top:14px;left:16px}.last-actions{flex-wrap:wrap;justify-content:center;gap:8px;min-height:36px;display:flex}.chrono-side{gap:14px;display:grid;position:sticky;top:24px}@media (max-width:1100px){.chrono-side{position:static}}.stat-grid{background:var(--line);border-radius:var(--r-m);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.stat{background:var(--surface);padding:10px 12px}.stat .k{color:var(--muted);font-size:12px}.stat .v{font-feature-settings:"tnum" 1;letter-spacing:-.01em;font-size:19px;font-weight:600}.stat.hl .v{color:var(--accent)}.solves{max-height:380px;margin:0 -6px 0 0;padding:0 6px 0 0;list-style:none;overflow:auto}.solves li{border-top:1px solid var(--line);grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:5px 0;display:grid}.solves li:first-child{border-top:0}.solves .idx{color:var(--muted);font-feature-settings:"tnum" 1;font-size:12.5px}.solves .t{text-align:left;font-feature-settings:"tnum" 1;color:var(--ink);background:0 0;border:0;padding:2px 0;font-size:15px;font-weight:500}.solves .t:hover{color:var(--accent)}.solves .t.pb{color:var(--go)}.solves .cm{color:var(--muted);margin-left:6px;font-size:12px}.solves .acts{opacity:.55;gap:3px;transition:opacity .12s;display:flex}.solves li:hover .acts{opacity:1}.mini-btn{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:500}.mini-btn:hover{color:var(--ink);border-color:var(--line-strong)}.mini-btn[aria-pressed=true]{background:var(--warn);border-color:var(--warn);color:#fff}.manual{gap:6px;display:flex}.manual input{flex:1;min-width:0}.sd-time{font-feature-settings:"tnum" 1;letter-spacing:-.03em;font-size:44px;font-weight:600;line-height:1.1}.sd-meta{color:var(--muted);margin-top:2px;font-size:14px}.sd-scr{background:var(--surface-2);border-radius:var(--r-m);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.sd-scr .scramble{font-size:16px}.subnav{scrollbar-width:none;max-width:100%;margin-bottom:22px;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.learn-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.stepper{grid-template-columns:repeat(8,1fr);gap:6px;margin-top:16px;display:grid}.stepper a{color:var(--muted);text-align:center;gap:6px;font-size:12px;font-weight:500;text-decoration:none;display:grid}.stepper a i{background:var(--surface-3);border-radius:999px;height:6px;display:block}.stepper a.done i{background:var(--go)}.stepper a.cur i{background:var(--accent)}.stepper a.cur{color:var(--accent)}.stepper a.done{color:var(--go)}.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);scroll-margin-top:24px;overflow:hidden}.step.cur{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-1)}.step>summary{cursor:pointer;align-items:center;gap:14px;padding:16px 20px;list-style:none;display:flex}.step>summary::-webkit-details-marker{display:none}.step>summary .chev{color:var(--muted);flex:none;width:20px;height:20px;margin-left:auto;transition:transform .15s;display:grid}.step>summary .chev svg{width:20px;height:20px}.step[open]>summary .chev{transform:rotate(180deg)}.step-num{background:var(--surface-2);width:34px;height:34px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:600;display:grid}.step.cur .step-num{background:var(--accent);color:var(--accent-ink)}.step.is-done .step-num{background:var(--go);color:#fff}.step-title h3{font-size:17px}.step-title .goal{color:var(--muted);margin-top:1px;font-size:13.5px}.step-body{gap:14px;padding:0 20px 20px;display:grid}.step-body .guide{gap:10px;max-width:70ch;display:grid}.step-body .guide p{color:var(--ink-2);font-size:15px}.step-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}@media (max-width:640px){.step>summary{padding:14px 16px}.step-body{padding:0 16px 16px}.stepper a span{display:none}}.facts{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.fact{background:var(--surface-2);border-radius:var(--r-m);color:var(--ink-2);padding:12px 14px;font-size:14px}.fact b{color:var(--ink);margin-bottom:3px;font-size:14.5px;display:block}.sandbox{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:900px){.sandbox{grid-template-columns:minmax(0,1fr)}}.stage{aspect-ratio:1;background:radial-gradient(circle at 50% 40%,var(--surface) 0%,var(--surface-2) 70%);border-radius:var(--r-l);border:1px solid var(--line);width:100%;max-width:460px;margin:0 auto}.movepad{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.movepad button{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-s);padding:9px 0;font-size:15px;font-weight:600;transition:border-color .1s,color .1s}.movepad button:hover{border-color:var(--accent);color:var(--accent)}@media (max-width:640px){.movepad{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.movepad button{padding:8px 0;font-size:14px}}.sb-hist{min-height:22px;color:var(--muted);word-spacing:.12em;background:var(--surface-2);border-radius:var(--r-s);margin-top:12px;padding:10px 12px;font-size:14px}.gloss{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:0;display:grid}.gloss div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:14px 16px}.gloss dt{font-weight:600}.gloss dd{color:var(--muted);margin:3px 0 0;font-size:14px}.advice{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.advice ul{color:var(--ink-2);gap:7px;margin:0;padding-left:18px;font-size:14.5px;display:grid}.advice .panel h2{align-items:center;gap:8px;margin-bottom:12px;display:flex}.stages{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.stage-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);align-content:start;gap:8px;padding:18px;display:grid}.stage-card .letter{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;font-size:18px;font-weight:700;display:grid}.stage-card h3{font-size:16px}.stage-card p{color:var(--ink-2);font-size:14px}.stage-card .btn{justify-self:start;margin-top:4px}.lib-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-wrap{flex:1;min-width:200px;max-width:340px;position:relative}.search-wrap svg{width:17px;height:17px;color:var(--muted);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-wrap input{border-radius:999px;padding-left:34px}.fam-chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.fam-chips::-webkit-scrollbar{display:none}.cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:14px;display:grid}.cards.small{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}@media (max-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cards.small{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);flex-direction:column;gap:8px;padding:10px;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}.card[data-s="2"]{border-color:color-mix(in srgb,var(--go) 35%,var(--line))}.fig{background:var(--surface-2);border-radius:var(--r-m);aspect-ratio:4/3;border:0;place-items:center;padding:12px;transition:background .12s;display:grid;position:relative}.fig:hover{background:var(--accent-soft)}.fig svg{width:auto;max-width:100%;height:100%;max-height:150px}.fig .play-hint{background:var(--surface);width:26px;height:26px;color:var(--accent);box-shadow:var(--shadow-1);opacity:0;border-radius:50%;place-items:center;transition:opacity .12s;display:grid;position:absolute;bottom:8px;right:8px}.fig:hover .play-hint,.fig:focus-visible .play-hint{opacity:1}.fig .play-hint svg{width:13px;height:13px;margin-left:2px}@media (pointer:coarse){.fig .play-hint{opacity:1}}.card-body{flex:1;align-content:start;gap:4px;padding:0 4px 2px;display:grid}.card h3{font-size:15px}.alg{word-spacing:.14em;color:var(--ink-2);font-size:14px;font-weight:500;line-height:1.45}.alg .perso{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;margin-left:6px;font-size:10.5px;font-weight:600}.card .desc{color:var(--muted);font-size:13px}.card .meta{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.card .meta svg{width:13px;height:13px}.status3{background:var(--surface-2);border-radius:var(--r-s);grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.status3 button{color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:5px 0;font-size:11.5px;font-weight:500;display:flex}.status3 button:hover{color:var(--ink)}.status3 button i{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.status3 button[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.status3 button[data-v="1"][aria-checked=true] i{background:var(--warn)}.status3 button[data-v="2"][aria-checked=true] i{background:var(--go)}.status3 button[data-v="0"][aria-checked=true] i{background:var(--muted)}@media (max-width:640px){.status3{display:flex}.status3 button{white-space:nowrap;flex:1;gap:4px;padding:6px 0;font-size:11.5px}.status3 button[aria-checked=true]{flex:2.6}.status3 button:not([aria-checked=true]) span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.status3 button i{width:8px;height:8px}}.cube3d{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.cube3d:active{cursor:grabbing}.pl{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;display:grid}@media (max-width:760px){.pl{grid-template-columns:minmax(0,1fr);gap:14px}.pl-3d{max-width:250px}.pl-top{width:70px}}.pl-stage{background:radial-gradient(circle at 50% 40%,var(--surface) 0%,var(--surface-2) 75%);border-radius:var(--r-l);place-items:center;padding:10px;display:grid;position:relative}.pl-3d{aspect-ratio:1;width:100%;max-width:340px}.pl-top{background:var(--surface);border-radius:var(--r-s);width:84px;box-shadow:var(--shadow-2);padding:6px;position:absolute;bottom:10px;right:10px}.pl-top svg{width:100%;height:auto;display:block}.drag-hint{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}.pl-info{align-content:start;gap:14px;display:grid}.moves{flex-wrap:wrap;gap:3px;display:flex}.mv{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 7px;font-size:16px;font-weight:600}.mv:hover{background:var(--surface-2)}.mv.done{color:var(--ink)}.mv.cur{background:var(--accent);color:var(--accent-ink)}.moves.chunked{gap:6px}.mv-chunk{background:var(--surface-2);border-radius:9px;flex-wrap:wrap;gap:1px;padding:2px;display:inline-flex}.mv-chunk.named{box-shadow:inset 0 0 0 1px var(--line-strong)}.chunks{flex-wrap:wrap;justify-content:center;gap:8px;display:inline-flex}.chunk{border-radius:var(--r-m);background:var(--surface-2);justify-items:center;gap:2px;padding:5px 10px;display:inline-grid}.chunk-mv{word-spacing:.14em;white-space:nowrap}.chunk small{color:var(--muted);font-size:12px;font-weight:400}.chunk.known{background:var(--go-soft)}.chunk.known small{color:var(--go)}.pl-learn{justify-self:start}.pl-learn .muted-in{opacity:.75;margin-left:4px;font-weight:400}.learn{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;display:grid}.learn-stage{background:var(--surface-2);border-radius:var(--r-l);align-content:center;place-items:center;padding:10px;display:grid}.learn-side{align-content:start;gap:14px;display:grid}.learn-steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.learn-steps li{background:var(--surface-2);color:var(--muted);border-radius:99px;align-items:center;gap:5px;padding:5px 10px;font-size:13px;display:inline-flex}.learn-steps li.cur{background:var(--accent);color:var(--accent-ink);font-weight:500}.learn-steps li.done{color:var(--go)}.learn-steps svg{width:14px;height:14px}.learn-chunks{grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:8px;display:grid}.learn-chunk{border-radius:var(--r-m);border:1px solid var(--line-strong);background:var(--surface);gap:3px;padding:10px 12px;display:grid}.learn-chunk .mono{word-spacing:.14em;white-space:nowrap;font-size:16px;font-weight:600}.learn-chunk small{color:var(--muted);font-size:12.5px}.learn-chunk.known{background:var(--go-soft);border-color:#0000}.learn-chunk.known small{color:var(--go)}.learn-chunk.cur{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.learn-chunk.done{opacity:.6}.learn-chunk.masked .mono{color:var(--muted);letter-spacing:.08em}.learn-chunk .mv-done{color:var(--muted)}.learn-chunk .mv-cur{background:var(--accent);color:var(--accent-ink);border-radius:5px;padding:0 4px}.learn-say{align-items:center;gap:10px;min-height:28px;margin:0;font-size:15.5px;font-weight:500;display:flex}.learn-say .tok{min-width:2.2em;font-size:20px;font-weight:700}.learn-say svg{color:var(--go);width:18px;height:18px}.learn-btns{flex-wrap:wrap;gap:8px;display:flex}.learn-done{justify-items:start;gap:10px;display:grid}.learn-done h3{margin:0;font-size:19px}@media (max-width:760px){.learn{grid-template-columns:minmax(0,1fr);gap:14px}.learn-stage .pl-3d{max-width:240px}}.pl-ctrl{align-items:center;gap:6px;display:flex}.pl-ctrl .icon-btn{border:1px solid var(--line);width:42px;height:42px}.pl-ctrl .play{background:var(--accent);width:52px;height:52px;color:var(--accent-ink);border-color:var(--accent)}.pl-ctrl .play:hover{background:var(--accent-hover);color:var(--accent-ink)}.pl-opts{flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;display:flex}.pl-hands-bar{background:var(--surface-2);border-radius:var(--r-m);flex-wrap:wrap;align-items:center;gap:10px;width:100%;margin-top:2px;padding:8px 12px;font-size:13px;display:flex}.seg-sm{padding:2px}.seg-sm button{min-height:28px;padding:3px 8px;font-size:12px}.pl-block{border-top:1px solid var(--line);gap:6px;padding-top:12px;display:grid}.pl-block .k{color:var(--muted);font-size:12.5px}.pl-block .setup{word-spacing:.14em;font-weight:500}.tr-wrap{gap:16px;max-width:640px;margin:0 auto;display:grid}.tr-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tr-stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (max-width:640px){.tr-stats{grid-template-columns:repeat(2,1fr)}}.tr-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);text-align:center;box-shadow:var(--shadow-2);justify-items:center;gap:14px;padding:24px;display:grid}.tr-fig{aspect-ratio:1;background:var(--surface-2);border-radius:var(--r-l);place-items:center;width:min(240px,64vw);padding:16px;display:grid}.tr-fig svg{width:100%;height:100%}.tr-name{font-size:21px;font-weight:600}.tr-alg{word-spacing:.16em;font-size:19px;font-weight:500}.tr-rate{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;display:grid}.tr-rate button{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-m);padding:11px 4px;font-size:14px;font-weight:600}.tr-rate button small{color:var(--muted);margin-top:1px;font-size:12px;font-weight:400;display:block}.tr-rate button:hover{background:var(--surface-2)}.tr-rate .r0{color:var(--hold)}.tr-rate .r1{color:var(--warn)}.tr-rate .r2{color:var(--accent)}.tr-rate .r3{color:var(--go)}@media (max-width:640px){.tr-rate{grid-template-columns:repeat(2,minmax(0,1fr))}.tr-card{padding:18px 14px}}.tr-setup{color:var(--muted);max-width:52ch;font-size:13.5px}.tr-setup b{color:var(--ink);word-spacing:.12em;font-weight:500}.quiz{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.quiz button{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-m);padding:13px 8px;font-weight:500}.quiz button:hover:not(:disabled){background:var(--surface-2)}.quiz button.right{background:var(--go);border-color:var(--go);color:#fff}.quiz button.wrong{background:var(--hold);border-color:var(--hold);color:#fff}.quiz button:disabled:not(.right):not(.wrong){opacity:.5}.tr-fig{position:relative}.tr-fig .under{background:var(--surface);border-radius:var(--r-s);width:58px;box-shadow:var(--shadow-1);justify-items:center;gap:2px;padding:4px 4px 3px;display:grid;position:absolute;bottom:8px;left:8px}.tr-fig .under svg{width:100%;height:auto}.tr-fig .under small{color:var(--muted);font-size:10.5px;line-height:1}.tr-card{scroll-margin-top:72px}@media (max-width:640px){.rec-stats{flex-wrap:wrap;gap:2px 14px;display:flex}.rec-stats .mini{background:0 0;align-items:baseline;gap:5px;padding:0;display:flex}.rec-stats .mini .v{order:-1;font-size:15px}.rec-stats .mini .k{font-size:13px}.rec-card .tr-fig:not(.sm){width:min(190px,52vw);padding:12px}}.rec-done{background:var(--go-soft);width:56px;height:56px;color:var(--go);border-radius:50%;place-items:center;display:grid}.rec-done svg{width:28px;height:28px}.rec-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.rec-choices button{text-align:left;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-m);align-content:start;gap:3px;min-width:0;padding:11px 12px 12px;display:grid;position:relative}.rec-choices button:hover:not(:disabled){background:var(--surface-2)}.rec-choices b{padding-right:26px;font-size:14.5px;font-weight:600}.rec-choices .alg{color:var(--ink-2);word-spacing:.1em;overflow-wrap:anywhere;font-size:13px}.rec-choices .kbd{position:absolute;top:9px;right:9px}.rec-choices button.right{border-color:var(--go);box-shadow:0 0 0 2px var(--go) inset;background:var(--go-soft)}.rec-choices button.wrong{border-color:var(--hold);box-shadow:0 0 0 2px var(--hold) inset}.rec-choices button:disabled:not(.right):not(.wrong){opacity:.45}@media (max-width:520px){.rec-choices{grid-template-columns:minmax(0,1fr)}}.rec-cmp{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:480px;display:grid}.rec-cmp figure{justify-items:center;gap:6px;margin:0;display:grid}.rec-cmp figcaption{color:var(--muted);font-size:13px;display:grid}.rec-cmp figcaption b{color:var(--ink);font-size:14.5px}.tr-fig.sm{width:100%}.rec-acq{color:var(--go);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:500;display:flex}.rec-acq svg{width:18px;height:18px}.rec-tip{text-align:left;width:100%}.rec-tip-ask{justify-items:center;gap:8px;display:grid}.records{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:900px){.records{grid-template-columns:repeat(2,minmax(0,1fr))}}.rec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);padding:14px 16px}.rec .k{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.rec .k svg{width:14px;height:14px}.rec .v{font-feature-settings:"tnum" 1;letter-spacing:-.02em;margin-top:2px;font-size:24px;font-weight:600}.prog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.prog-grid .span2{grid-column:1/-1}@media (max-width:900px){.prog-grid{grid-template-columns:minmax(0,1fr)}}.chart-wrap svg{width:100%;height:auto;display:block}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:14px;height:3px;display:inline-block}.cal-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}.cal-nav{align-items:center;gap:6px;display:flex}.cal-month{text-align:center;text-transform:capitalize;min-width:9.5em;font-size:15px}.cal-sum{margin:0;font-size:13.5px}.cal{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:900px){.cal{grid-template-columns:minmax(0,1fr)}}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-dow{color:var(--muted);text-align:center;padding-bottom:2px;font-size:12px}.cal-day{aspect-ratio:5/4;background:var(--heat-0);min-height:40px;color:var(--ink);cursor:pointer;font:inherit;border:1px solid #0000;border-radius:10px;grid-template-rows:1fr auto;place-items:center;padding:4px 2px;display:grid}.cal-day[data-l="1"]{background:color-mix(in srgb,var(--accent) 16%,var(--heat-0))}.cal-day[data-l="2"]{background:color-mix(in srgb,var(--accent) 32%,var(--heat-0))}.cal-day[data-l="3"]{background:color-mix(in srgb,var(--accent) 50%,var(--heat-0))}.cal-day[data-l="4"]{background:color-mix(in srgb,var(--accent) 68%,var(--heat-0));color:var(--accent-ink)}.cal-day:disabled{color:var(--muted);cursor:default;opacity:.55;background:0 0}.cal-day[aria-current=date]{border-color:var(--ink-2)}.cal-day[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.cal-n{font-feature-settings:"tnum" 1;font-size:13px;font-weight:600}.cal-dots{gap:2px;min-height:6px;display:flex}.cal-dots i,.cal-legend i{border-radius:50%;width:6px;height:6px;display:inline-block}.cal-legend i{width:8px;height:8px}.d-solve{background:var(--ink)}.cal-day[data-l="4"] .d-solve{background:var(--accent-ink)}.d-rev{background:var(--warn)}.d-learn{background:var(--go)}.d-lesson{background:var(--hold)}.cal-detail{background:var(--surface-2);border-radius:var(--r-m);align-content:start;gap:12px;min-height:100%;padding:14px 16px;display:grid}.cal-detail h3{text-transform:none;font-size:15px}.cal-detail p{margin:0}.cal-row{gap:2px;font-size:14px;display:grid}.cal-k{align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex}.cal-k svg{width:16px;height:16px;color:var(--muted)}.cal-block{gap:7px;display:grid}.cal-chips{flex-wrap:wrap;gap:6px;display:flex}.cal-chip{border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.cal-chip span{color:var(--muted);font-size:12px}.cal-chip[data-tone=ko] span{color:var(--hold)}.cal-chip[data-tone=warn] span{color:var(--warn)}.cal-chip[data-tone=ok] span{color:var(--go)}.cal-chip:hover{border-color:var(--line-strong)}.cal-list{gap:5px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.cal-list li{align-items:center;gap:7px;display:flex}.cal-list svg{width:15px;height:15px;color:var(--go)}.cal-bullet{background:var(--hold);border-radius:50%;width:6px;height:6px;margin:0 4px}.miles{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.mile{border:1px dashed var(--line-strong);border-radius:var(--r-m);padding:9px 11px}.mile.got{background:var(--go-soft);border-style:solid;border-color:#0000}.mile .k{font-size:14px;font-weight:600}.mile.got .k{color:var(--go)}.mile .d{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-feature-settings:"tnum" 1;width:100%;font-size:14px}th,td{text-align:left;border-top:1px solid var(--line);white-space:nowrap;padding:9px 10px}th{color:var(--muted);border-top:0;font-size:13px;font-weight:500}.data-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.checks{gap:2px;margin:0;padding:0;list-style:none;display:grid}.checks li{border-radius:var(--r-s);align-items:center;gap:10px;padding:7px 8px;display:flex}.checks li:hover{background:var(--surface-2)}.checks label{cursor:pointer;flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.checks input{width:18px;height:18px;accent-color:var(--go);flex:none;margin:2px 0 0}.checks .box{border:2px solid var(--line-strong);color:#fff;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;margin-top:2px;font-size:11px;display:grid}.checks .is-done .box{background:var(--go);border-color:var(--go)}.checks .lbl{flex:1}.checks .auto{color:var(--muted);white-space:nowrap;margin-left:8px;font-size:12px}.checks a{white-space:nowrap;font-size:13px;font-weight:500;text-decoration:none}.notes textarea{min-height:130px}.phase-chip{letter-spacing:.01em;margin-top:14px;font-size:15px;font-weight:600}.splitbar{gap:6px;display:grid}.splitbar .bars{gap:3px;height:8px;display:flex}.splitbar .bars i{border-radius:999px;min-width:6px}.splitbar .labels{color:var(--muted);font-feature-settings:"tnum" 1;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.splitbar .labels b{font-weight:600}.trainer{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.trainer-main,.trainer-side{gap:14px;display:grid}.trainer-side{position:sticky;top:24px}@media (max-width:760px){.trainer{grid-template-columns:minmax(0,1fr)}.trainer-side{position:static}}.stage-sm{aspect-ratio:1;background:radial-gradient(circle at 50% 40%,var(--surface) 0%,var(--surface-2) 75%);border-radius:var(--r-l);width:100%;max-width:320px;margin:0 auto}.stage-sm .cube-host{width:100%;height:100%}.sols{gap:8px;margin-top:12px;display:grid}.sols .opt{justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.sols .opt b{font-size:18px}.sol{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-m);text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.sol:hover{background:var(--surface-2)}.sol.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sol .alg{color:var(--ink);font-size:15.5px}.sol svg{width:16px;height:16px;color:var(--accent)}.cross-steps{margin-top:4px}.cross-steps ol{gap:2px;margin:6px 0 0;padding:0;list-style:none;display:grid}.cross-step{border-radius:var(--r-s);text-align:left;width:100%;color:var(--ink-2);background:0 0;border:0;align-items:baseline;gap:12px;margin:0;padding:7px 8px;font-size:14px;display:flex}button.cross-step:hover{background:var(--surface-2)}.cross-step .alg{min-width:76px;color:var(--ink);flex:none;font-size:14.5px}.verdict{align-items:flex-start;gap:8px;margin-top:12px;font-size:14.5px;font-weight:500;display:flex}.verdict svg{width:18px;height:18px;margin-top:2px}.verdict.ok{color:var(--go)}.verdict.ko{color:var(--hold)}.metro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:760px){.metro{grid-template-columns:minmax(0,1fr)}}.metro-main{justify-items:center;gap:18px;padding:28px 20px;display:grid}.pulse{background:var(--surface-2);border:2px solid var(--line);border-radius:50%;width:120px;height:120px}.pulse.on{animation:.35s ease-out beat}.pulse.on[data-strong]{animation-name:beat-strong}@keyframes beat{0%{background:var(--accent-soft);border-color:var(--accent);transform:scale(1.06)}to{background:var(--surface-2);border-color:var(--line);transform:scale(1)}}@keyframes beat-strong{0%{background:var(--accent);border-color:var(--accent);transform:scale(1.1)}to{background:var(--surface-2);border-color:var(--line);transform:scale(1)}}.bpm{justify-items:center;margin-top:-6px;display:grid}.bpm b{letter-spacing:-.03em;font-size:56px;font-weight:600;line-height:1}.bpm span{color:var(--muted);font-size:13px}.range{accent-color:var(--accent);flex:1;min-width:0}.icon-btn.bordered{border:1px solid var(--line-strong);flex:none;width:40px;height:40px}.pm{font-size:22px;font-weight:500;line-height:1}.metro-moves{background:var(--surface-2);border-radius:var(--r-m);flex-wrap:wrap;align-content:flex-start;gap:4px;min-height:64px;margin-top:14px;padding:14px;display:flex}.metro-moves .mv{padding:4px 9px;font-size:20px}.metro-moves .rest{color:var(--muted);border-radius:6px;align-self:center;padding:4px 8px;font-size:13px}.metro-moves .rest.cur{background:var(--surface-3);color:var(--ink)}@media (max-width:640px){.metro-main{padding:22px 14px}.pulse{width:96px;height:96px}.bpm b{font-size:46px}.metro-moves .mv{padding:3px 7px;font-size:17px}}@media (pointer:coarse){.btn-sm{min-height:40px;padding:8px 12px}.btn{min-height:42px}.panel-head>a,.checks a{align-items:center;min-height:40px;margin:-10px -6px;padding:0 6px;display:inline-flex}.stepper a{margin:-10px 0;padding:10px 0}.status3 button{min-height:36px}.mini-btn{min-width:36px;min-height:32px}.seg button,.seg a{justify-content:center;align-items:center;min-height:36px;display:inline-flex}.chip{min-height:36px}.mv{min-width:34px;min-height:36px}}@media (max-width:360px){.seg.wide button,.seg.wide a{padding:6px 4px;font-size:12.5px}.page-title{font-size:22px}.tab-link{font-size:10px}}@media (max-height:500px) and (orientation:landscape) and (max-width:1023px){.mobile-top{padding-top:8px;padding-bottom:8px;position:static}.tabbar{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.tab-link{flex-direction:row;justify-content:center;gap:6px;padding:6px 0;font-size:12px}.tab-link svg{width:19px;height:19px}.content-inner{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:76px}.chrono-main{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}.chrono-main>.chrono-tabs,.chrono-main>.scr-bar,.chrono-main>.scr-card,.chrono-main>.last-actions{grid-column:1}.chrono-main>.timer-zone{grid-area:1/2/span 4;min-height:calc(100dvh - 150px)}.scr-card{flex-direction:column;align-items:stretch;gap:8px}.digits{font-size:clamp(56px,11vw,110px)}.sheet,.sheet.wide,.sheet.narrow{max-height:96dvh}}.coach{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.coach .span2{grid-column:1/-1}.coach{overflow-wrap:anywhere}.coach>*{min-width:0}.coach-strengths{gap:6px;margin:0;padding:0;list-style:none;display:grid}.coach-strengths li{color:var(--ink-2);align-items:flex-start;gap:8px;font-size:14px;display:flex}.coach-strengths svg{width:16px;height:16px;color:var(--go);flex:none;margin-top:2px}.coach-reminders .panel-head{flex-wrap:wrap;gap:8px 16px}.coach-reminders .small-note{margin-top:12px}.notify{text-align:right;justify-items:end;gap:2px;display:grid}.notify .muted{max-width:280px;font-size:12.5px}@media (max-width:560px){.notify{text-align:left;justify-items:start}}@media (max-width:900px){.coach{grid-template-columns:minmax(0,1fr)}}.tile-ic{width:48px;height:48px;color:var(--accent);background:var(--accent-soft);border-radius:12px;flex:none;place-items:center;display:grid}.tile-ic svg{width:24px;height:24px}.tile-ic.sm{vertical-align:-7px;border-radius:8px;width:28px;height:28px;margin-right:9px;display:inline-grid}.tile-ic.sm svg{width:16px;height:16px}.coach-summary{color:var(--ink-2);font-size:15.5px;line-height:1.6}.coach-focus{border-radius:var(--r-m);background:var(--accent-soft);border-left:3px solid var(--accent);gap:3px;padding:14px 16px;display:grid}.coach-focus .lbl,.coach-card .lbl{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.coach-focus b{font-size:17px}.coach-focus span:last-child{color:var(--ink-2);font-size:14px}.coach-btn{position:relative}.coach-btn .dot{background:var(--warn);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.nudges{gap:10px;margin:0;padding:0;list-style:none;display:grid}.nudge{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:4px 10px;display:grid}.nudge-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-top:7px}.nudge[data-tone=warn] .nudge-dot{background:var(--warn)}.nudge[data-tone=good] .nudge-dot{background:var(--go)}.nudge-tx{gap:2px;font-size:14px;display:grid}.nudge-tx span{color:var(--muted);font-size:13.5px;line-height:1.45}.nudge .btn{white-space:nowrap;align-self:center}@media (max-width:560px){.nudge{grid-template-columns:auto minmax(0,1fr)}.nudge .btn{grid-column:2;justify-self:start}}.coach-card .nudges{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:14px}.coach-card .nudge{grid-template-columns:auto minmax(0,1fr)}.coach-card .nudge .btn{grid-column:2;justify-self:start;margin-top:4px}.coach-card-focus{margin:2px 0 4px;font-size:17px;display:block}.coach-data{border-top:1px solid var(--line);color:var(--muted);margin-top:16px;padding-top:12px;font-size:13px}.coach-data summary{cursor:pointer;font-weight:500}.coach-data ul{color:var(--ink-2);gap:4px;margin:10px 0;padding-left:18px;display:grid}.coach-data pre{background:var(--surface-2);border-radius:var(--r-s);white-space:pre-wrap;word-break:break-word;max-height:220px;padding:10px;font-size:11.5px;overflow:auto}.skeleton{gap:10px;display:grid}.skeleton i{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;border-radius:7px;height:14px;animation:1.2s linear infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.coach-chat{flex-direction:column;min-height:420px;max-height:calc(100dvh - 48px);display:flex;position:sticky;top:24px}@media (max-width:900px){.coach-chat{max-height:none;position:static}}.chat-log{flex-direction:column;flex:1;gap:10px;min-height:200px;padding:2px 2px 12px;display:flex;overflow:auto}@media (max-width:900px){.coach-chat{min-height:0}.chat-log{min-height:0;max-height:none;overflow:visible}}.chat-empty{gap:10px;font-size:14px;display:grid}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;min-width:0;max-width:88%;padding:10px 14px;font-size:14.5px;line-height:1.55}.chat-retry{flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.bubble.user{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:5px;align-self:flex-end}.bubble.assistant{background:var(--surface-2);color:var(--ink);white-space:normal;border-bottom-left-radius:5px;align-self:flex-start}.bubble.assistant p+p,.bubble.assistant p+ul,.bubble.assistant ul+p{margin-top:8px}.bubble.assistant ul{gap:3px;margin:0;padding-left:18px;display:grid}.typing{gap:4px;padding:4px 0;display:inline-flex}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1s infinite blink}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-input{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding-top:12px;display:flex}.chat-input textarea{resize:none;field-sizing:content;min-height:42px;max-height:140px}.chat-input .btn{flex:none;width:46px;height:42px;padding:0}.coach-card .panel-head h2{align-items:center;display:flex}.eyebrow-txt{color:var(--muted);font-size:14px;font-weight:500}.step-num svg{width:16px;height:16px}.checks .box svg{width:12px;height:12px}.mile .k svg{vertical-align:-2px;width:14px;height:14px;margin-right:4px}.solves .cm svg{vertical-align:-2px;width:13px;height:13px}.inline-ic{vertical-align:-2px;width:14px;height:14px;margin-left:4px;display:inline-grid}.case-nav .btn svg{width:16px;height:16px}.devices{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;display:grid}@media (max-width:760px){.devices{grid-template-columns:minmax(0,1fr)}}.device{border:1px solid var(--line);border-radius:var(--r-l);align-content:start;gap:10px;padding:16px;display:grid}.device-head{align-items:center;gap:12px;display:flex}.device-head b{display:block}.device-head span:not(.dot){color:var(--muted);font-size:13px}.dot{background:var(--line-strong);border-radius:50%;flex:none;width:10px;height:10px}.dot.connected{background:var(--go)}.dot.connecting{background:var(--warn);animation:1s infinite blink}.dot.error{background:var(--hold)}.live-dot{background:var(--go);border-radius:50%;flex:none;width:8px;height:8px;margin-left:auto}.device-link{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0}.device-link.on,.device-link.on svg,.device-btn.on{color:var(--go)}.device-badge{cursor:pointer;border:0;gap:6px}.device-badge .live-dot{width:7px;height:7px;margin-left:0}.mirror-sm{flex:none;width:116px;height:116px}.mirror-sm .cube-host{width:100%;height:100%}.scramble.guided{flex-wrap:wrap;align-items:center;gap:4px 10px;line-height:1.6;display:flex}.scramble.guided span{color:var(--muted);padding:0 2px;display:inline-block}.scramble.guided span.next{color:var(--accent-ink);background:var(--accent);border-radius:6px;padding:0 8px;font-weight:600}.recon{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.recon td.warn-txt{color:var(--warn);font-weight:500}.replay{margin-top:12px}.link-btn{color:var(--accent);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.acct-perks{color:var(--ink-2);gap:8px;margin:0 0 6px;padding:0;font-size:14px;list-style:none;display:grid}.acct-perks li{align-items:flex-start;gap:8px;display:flex}.acct-perks svg{width:17px;height:17px;color:var(--go);flex:none;margin-top:2px}.lbl-field{color:var(--ink-2);gap:5px;font-size:13px;font-weight:500;display:grid}.pw{align-items:center;gap:6px;display:flex}.pw .btn{flex:none}.field-hint{color:var(--muted);font-size:12.5px;font-weight:400}.acct-name{border:1px solid var(--line);border-radius:var(--r-m);gap:10px;margin-top:14px;padding:14px;display:grid}.acct-rename{margin-top:10px;font-size:14px}.acct-status{background:var(--surface-2);border-radius:var(--r-m);align-items:center;gap:12px;padding:12px 14px;display:flex}.acct-status b{font-size:14px;font-weight:500;display:block}.acct-status span:not(.dot){color:var(--muted);font-size:12.5px}.live-dot.wait{background:var(--warn)}.acct-prompt .panel-head h2{align-items:center;display:flex}.crumbs{color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.case{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:20px;display:grid}@media (max-width:860px){.case{grid-template-columns:minmax(0,1fr)}}.case-fig{gap:16px;display:grid;position:sticky;top:24px}@media (max-width:860px){.case-fig{position:static}}.fig.big{aspect-ratio:1;cursor:default;padding:24px}.fig.big:hover{background:var(--surface-2)}.fig.big svg{max-height:320px}.case-actions{gap:12px;display:grid}.case-info{gap:16px;display:grid}.case-alg{word-spacing:.18em;letter-spacing:.01em;font-size:24px;font-weight:600;line-height:1.4}.case-alg.sm{color:var(--ink-2);margin-top:8px;font-size:17px;font-weight:500}.case-links{flex-wrap:wrap;gap:6px;display:flex}.case-links a{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:5px 10px;font-size:13.5px;text-decoration:none}.case-links a:hover{background:var(--accent-soft);color:var(--accent)}.case-nav{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px;display:flex}.case-link{color:inherit;text-decoration:none}.case-link:hover{color:var(--accent);text-decoration:underline}.drill{border-radius:var(--r-m);background:var(--surface-2);justify-items:center;gap:10px;width:100%;padding:14px;display:grid}.tr-rate button.suggested{box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.chrono-tabs:empty{display:none}.chrono-tabs{display:flex}.seg-new{background:var(--accent);vertical-align:2px;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.notice{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-m);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px;padding:14px 16px;display:flex}.notice b{margin-bottom:2px;display:block}.notice p{margin:0;font-size:14px}.pl-caption{border-radius:var(--r-m);background:var(--surface-2);gap:4px;padding:12px 14px;display:grid}.pl-caption .lbl{color:var(--muted);font-size:12.5px}.pl-say{align-items:center;gap:10px;min-height:30px;font-size:16px;font-weight:500;display:flex}.pl-say .tok{font-feature-settings:"tnum" 1;min-width:2.2em;font-size:20px;font-weight:700}.pl-say svg{color:var(--go);width:18px;height:18px}.pl-guided{grid-template-columns:auto 1fr;gap:8px;display:grid}.pl-guided .btn{justify-content:center;min-height:48px}.mono{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em}.nota-start{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:start;gap:18px;margin:14px 0;display:grid}.nota-3d{aspect-ratio:1;border-radius:var(--r-l);background:var(--surface-2);width:100%}.nota-side{align-content:start;gap:10px;display:grid}.nota-side p{margin:0;font-size:14.5px}.nota-pad{grid-template-columns:repeat(6,minmax(0,1fr))}.quiz-opts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.quiz-opts .btn{justify-content:center;min-height:48px;font-size:17px;font-weight:700}.quiz-opts .btn.ok{border-color:var(--go);color:var(--go)}.quiz-opts .btn.ko{border-color:var(--hold);color:var(--hold)}@media (max-width:640px){.nota-start{grid-template-columns:minmax(0,1fr)}.nota-3d{max-width:220px;margin:0 auto}.quiz-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}.fix{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);margin:14px 0 4px}.fix summary{cursor:pointer;align-items:center;gap:8px;padding:11px 14px;font-size:14.5px;font-weight:600;list-style:none;display:flex}.fix summary::-webkit-details-marker{display:none}.fix summary svg{width:16px;height:16px;color:var(--muted)}.fix dl{gap:10px;margin:0;padding:0 14px 12px;display:grid}.fix dt{font-size:14px;font-weight:600}.fix dd{color:var(--ink-2);margin:2px 0 0;font-size:14px}.fig .under{background:var(--surface);border-radius:var(--r-s);width:50px;box-shadow:var(--shadow-1);justify-items:center;gap:2px;padding:4px 4px 3px;display:grid;position:absolute;bottom:6px;left:6px}.fig .under svg{width:100%;height:auto;max-height:none}.fig .under small,.pl-top-lbl{color:var(--muted);font-size:10.5px;line-height:1}.pl-top-lbl{text-align:center;margin-top:3px;display:block}.fix .fix-coach{margin:0 14px 12px}.mini .trend{color:var(--muted);margin-top:2px;font-size:12px}.mini .trend.up{color:var(--go)}.mini .trend.down{color:var(--hold)}.pl-side{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.alts{gap:6px;margin:0;padding:0;list-style:none;display:grid}.alts li{border-radius:var(--r-s);background:var(--surface-2);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.alts .mono{overflow-wrap:anywhere;font-size:14px}.alts .btn{padding:4px 10px}.solver{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:900px){.solver{grid-template-columns:minmax(0,1fr)}}.paint-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.paint-steps button,.palette button{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-s);color:var(--ink-2);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:7px 4px;font-size:12.5px;display:flex}.paint-steps button[aria-pressed=true],.palette button[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.paint-steps button.ok{color:var(--go)}.paint-steps svg{width:14px;height:14px}.sw{border:1px solid #00000026;border-radius:4px;flex:none;width:16px;height:16px}.paint-grid{aspect-ratio:1;background:var(--plastic);border-radius:var(--r-m);grid-template-columns:repeat(3,1fr);gap:6px;width:min(100%,270px);margin:16px auto;padding:8px;display:grid}.paint-grid button{cursor:pointer;border:0;border-radius:8px;min-height:44px}.paint-grid button.empty{background:var(--surface-3);background-image:repeating-linear-gradient(45deg,#0000 0 6px,#0000000d 6px 12px)}.paint-grid button:disabled{cursor:default}.palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.palette button.over{color:var(--hold);border-color:var(--hold)}.palette .sw{width:20px;height:20px}.how{color:var(--ink-2);gap:6px;margin:8px 0 0;padding-left:18px;font-size:14px;display:grid}@media (max-width:640px){.paint-steps,.palette{grid-template-columns:repeat(3,minmax(0,1fr))}}.challenge{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:900px){.challenge{grid-template-columns:minmax(0,1fr)}}.defi-times{gap:6px;margin:0;padding:0;list-style:none;display:grid}.defi-times li{border-radius:var(--r-s);grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.defi-times li.cur{background:var(--accent-soft)}.defi-times .seg button{padding:3px 8px;font-size:12px}.board{gap:4px;margin:0;padding:0;list-style:none;display:grid}.board li{border-radius:var(--r-s);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;font-size:14.5px;display:grid}.board li.me{background:var(--accent-soft)}.board .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resume{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);gap:6px;margin-bottom:24px;padding:22px;display:grid}.resume .eyebrow{color:var(--muted);font-size:13px;font-weight:500}.resume h2{letter-spacing:-.015em;font-size:22px}.resume p{color:var(--ink-2);max-width:60ch;font-size:14.5px}.resume .progress{margin-top:10px}.resume-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:13.5px;display:flex}.resume.skeleton{background:var(--surface-2);min-height:170px;box-shadow:none}.solver .resume,.challenge .resume{margin-bottom:0}.modules,.lessons{gap:10px;margin:0 0 28px;padding:0;list-style:none;display:grid}.module,.lesson-row{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:inherit;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.module:hover,.lesson-row:hover{border-color:var(--line-strong)}.module.cur,.lesson-row.cur{border-color:var(--accent-line);background:var(--accent-soft)}.module.cur .step-num,.lesson-row.cur .step-num{background:var(--accent);color:#fff}.module.done .step-num,.lesson-row.done .step-num{background:var(--go);color:#fff}.module .step-num svg,.lesson-row .step-num svg{width:16px;height:16px}.module-tx{flex:1;gap:4px;min-width:0;display:grid}.module-tx b{font-size:15.5px;font-weight:600}.module-tx>span{color:var(--muted);font-size:14px}.module-tx .progress{max-width:320px;margin-top:6px}.module-meta{flex:none;font-size:13px}.lesson-row>svg{width:18px;height:18px;color:var(--muted);flex:none}.refs{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-bottom:12px;display:grid}.ref{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:inherit;align-items:flex-start;gap:4px;padding:14px;text-decoration:none;display:flex}.ref:hover{border-color:var(--line-strong)}.ref>span:last-child{gap:2px;display:grid}.ref b{font-size:14.5px;font-weight:600}.ref span span{color:var(--muted);font-size:13.5px}.sets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.set{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:inherit;gap:6px;padding:16px;text-decoration:none;display:grid}.set:hover{border-color:var(--line-strong)}.set b{font-weight:600}.set>span.muted{font-size:13.5px}.tools-row{gap:8px;margin:12px 0 28px}.back-link{color:var(--muted);align-items:center;gap:4px;margin-bottom:10px;font-size:13.5px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink)}.back-link svg{width:15px;height:15px}.lesson{max-width:900px}.lesson .page-head{margin-bottom:14px}.lesson-dots{gap:6px;margin-bottom:22px;display:flex}.lesson-dots a{flex:1;max-width:72px;padding:8px 0;display:block}.lesson-dots i{background:var(--surface-3);border-radius:999px;height:6px;display:block}.lesson-dots a.done i{background:var(--go)}.lesson-dots a.cur i{background:var(--accent)}.lesson-body{gap:16px;display:grid}.lesson-body .guide{gap:12px;max-width:70ch;display:grid}.lesson-body .guide p{color:var(--ink-2);margin:0;font-size:15.5px;line-height:1.6}.lesson-body .cards{margin:0}.lesson-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:18px;display:flex}.lesson-main{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:14px;display:flex}.lesson-state{text-align:right;align-items:center;gap:6px;max-width:44ch;font-size:13.5px;display:inline-flex}.lesson-state svg{width:15px;height:15px;color:var(--go)}@media (max-width:640px){.lesson-foot{flex-direction:column-reverse;align-items:stretch}.lesson-main{flex-direction:column;align-items:stretch}.lesson-main .btn{justify-content:center;min-height:48px}.lesson-state{text-align:left;max-width:none}.lesson-foot>.btn-ghost{align-self:flex-start}.module,.lesson-row{padding:12px}.module-meta{display:none}.resume{padding:18px}.resume h2{font-size:19px}.resume-foot .btn{flex:1;justify-content:center}}.pl-mirror{width:96px;left:10px;right:auto}.slot-algs{gap:10px;margin:10px 0 0;display:grid}.slot-algs dt{font-size:14px;font-weight:600}.slot-algs dt .muted{font-weight:400}.slot-algs dd{margin:2px 0 0}.seg.slots{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mirror-note{color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-m);padding:10px 12px;font-size:13.5px}.mirror-note b{color:var(--ink)}.mirror-note ul{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}@media (max-width:760px){.pl-mirror{width:76px}}body.is-focus .subnav{display:none}@media (max-width:1023px){body.is-focus .mobile-top,body.is-focus .tabbar{display:none}body.is-focus .content-inner{padding-top:0;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}body.is-focus .toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}.flow{gap:8px;max-width:680px;margin:0 auto;display:grid}.flow-top{z-index:20;background:var(--bg);padding:calc(10px + env(safe-area-inset-top,0px)) 0 10px;align-items:center;gap:12px;display:flex;position:sticky;top:0}.flow-bar{flex:1;gap:4px;min-width:0;display:flex}.flow-bar button{background:var(--surface-3);cursor:pointer;border:0;border-radius:999px;flex:1;height:6px;padding:0}.flow-bar button:disabled{cursor:default}.flow-bar button.done{background:var(--go)}.flow-bar button.cur{background:var(--accent)}.flow-step{white-space:nowrap;font-size:13px}.flow-body{animation:.22s ease-out flow-in}@keyframes flow-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.flow-body{animation:none}}.flow-screen{align-content:start;gap:14px;padding:8px 0 16px;display:grid}.flow-title{letter-spacing:-.02em;margin:0;font-size:28px;line-height:1.15}.flow-h{letter-spacing:-.01em;margin:0;font-size:21px;line-height:1.25}.flow-lead{color:var(--ink-2);margin:0;font-size:16.5px;line-height:1.55}.flow-text{margin:0;font-size:18px;line-height:1.6}.flow-text.sm{color:var(--ink-2);font-size:15px}.flow-note{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:14.5px;display:flex}.flow-note svg{width:16px;height:16px;color:var(--go)}.flow-fig{aspect-ratio:auto;cursor:default;height:230px}.flow-fig:hover{background:var(--surface-2)}.flow-fig svg{max-height:200px}.flow-fig .under{width:62px}.flow-demo{background:var(--surface-2);border-radius:var(--r-l);justify-items:center;gap:8px;padding:10px 12px 12px;display:grid}.flow-3d{aspect-ratio:1;width:100%;max-width:260px}.flow-say{justify-content:center;min-height:30px}.hand-say{color:var(--ink-2);align-items:flex-start;gap:8px;margin:6px 0 0;font-size:14px;line-height:1.45;display:flex}.hand-say svg{width:17px;height:17px;color:var(--accent);flex:none;margin-top:1px}.flow-say.hand-say{text-align:center;justify-content:center}.sb-opts{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.flow-foot{z-index:20;background:var(--bg);padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:10px;display:grid;position:sticky;bottom:0}.flow-foot .btn{justify-content:center;min-height:50px;font-size:16px}.flow-foot>span{display:none}.flow-foot>span+.btn,.flow-foot>span+a{grid-column:1/-1}.flow-back{width:50px;padding:0}@media (max-width:1023px){.flow-foot{padding-left:16px;padding-right:16px;position:fixed;left:0;right:0}}.flow-other{justify-self:start;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.flow-other svg{width:15px;height:15px}.picks{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.pick{text-align:left;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);font:inherit;color:inherit;cursor:pointer;gap:8px;padding:8px 8px 12px;transition:border-color .12s,box-shadow .12s;display:grid}.pick:hover,.pick:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-1)}.pick .fig{aspect-ratio:1}.pick .fig:hover{background:var(--surface-2)}.pick b{padding:0 4px;font-size:14px;line-height:1.3}.runner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;display:grid}.runner .flow-3d{background:var(--surface-2);border-radius:var(--r-l);justify-self:center;max-width:300px}.runner-side{gap:10px;display:grid}.runner-rep{margin:0;font-size:15px}.runner-btns{grid-template-columns:auto 1fr auto;gap:8px;display:grid}.runner-btns .btn{justify-content:center;min-height:46px}@media (max-width:640px){.runner{grid-template-columns:minmax(0,1fr)}.runner .flow-3d{max-width:250px}.flow-title{font-size:25px}.flow-text{font-size:17px}}.flow-done{text-align:center;justify-items:center;padding-top:28px}.flow-check{background:var(--go);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.flow-check svg{width:30px;height:30px}.flow-path{gap:6px;width:100%;max-width:360px;margin:4px 0 0;padding:0;list-style:none;display:flex}.flow-path li{background:var(--surface-3);border-radius:999px;flex:1;height:8px}.flow-path li.done{background:var(--go)}.flow-path li.cur{background:var(--accent)}.hero-cta{justify-self:start;min-height:48px;padding-left:22px;padding-right:22px;font-size:16px}.beg-path{border-top:1px solid var(--line);gap:2px;margin:6px 0 0;padding:14px 0 0;list-style:none;display:grid}.beg-path a{border-radius:var(--r-s);color:var(--muted);align-items:center;gap:12px;padding:7px 6px;font-size:14.5px;text-decoration:none;display:flex}.beg-path a:hover{background:var(--surface-2)}.beg-path .step-num{flex:none;width:26px;height:26px;font-size:12px}.beg-path a.done{color:var(--ink-2)}.beg-path a.done .step-num{background:var(--go);color:#fff}.beg-path a.cur{color:var(--ink);background:var(--accent-soft);font-weight:600}.beg-path a.cur .step-num{background:var(--accent);color:#fff}.help-link{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.help-link>span:nth-child(2){flex:1;gap:2px;font-size:14.5px;display:grid}.help-link>svg{width:18px;height:18px;color:var(--muted)}.flow-dev{display:none}@media (max-width:1023px){.flow-dev{margin-left:-6px;display:block}}.flow-foot>.btn:not(.btn-primary):not(.flow-back){background:var(--surface)}.beg-path{margin-top:12px}.flow-keys{margin:4px 0 0;font-size:13.5px}.flow-copy{align-content:start;gap:14px;min-width:0;display:grid}.pick .fig{position:relative}.pick-key{position:absolute;top:8px;right:8px}.btn .kbd-hint{font-size:11px;line-height:17px}@media (min-width:1024px){body.is-focus .sidebar{display:none}body.is-focus .content{margin-left:0}body.is-focus .content-inner{max-width:none;padding:0 40px 120px}.flow{max-width:1040px}.flow-dev{display:block}.flow-body{align-content:center;min-height:calc(100dvh - 190px);display:grid}.flow-screen.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px}.flow-screen.split .flow-fig{aspect-ratio:1;height:auto;max-height:440px}.flow-screen.split .flow-fig svg{max-height:340px}.flow-screen.split .flow-demo{padding:18px}.flow-screen.split .flow-3d{max-width:380px}.flow-screen.split .flow-text{font-size:20px}.flow-title{font-size:34px}.flow-foot{grid-template-columns:auto minmax(0,420px);justify-content:end;padding:14px max(40px,50vw - 520px) 18px;position:fixed;bottom:0;left:0;right:0}.flow-foot>span+.btn,.flow-foot>span+a{grid-column:2}.flow-done{padding-top:0}.runner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px}.runner .flow-3d{max-width:400px}.picks{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:1023px){.flow .kbd-hint{display:none!important}}.link-like{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.lib-top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.lib-top .search-wrap{max-width:none}.lib-methods button{min-width:72px;font-weight:600}.lib-note{margin:0 0 18px;font-size:14px}.lib-note b{color:var(--ink)}.next-up{border-radius:var(--r-l);background:var(--accent-soft);border:1px solid var(--accent-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:26px;padding:16px 20px;display:grid}.next-up h2{margin:2px 0;font-size:20px}.next-up p{margin:0;font-size:14px}.next-up .eyebrow{color:var(--accent);font-size:12.5px;font-weight:600}.thumbs{gap:6px;display:flex}.thumb{border-radius:var(--r-s);background:var(--surface-2);place-items:center;width:52px;height:52px;padding:5px;display:grid}.next-up .thumb{background:var(--surface);width:58px;height:58px}.thumb svg{width:100%;height:100%}.lib-steps{gap:30px;margin:0;padding:0;list-style:none;display:grid}.lib-step-head{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.lib-step-head .step-num{flex:none;width:28px;height:28px;margin-top:1px;font-size:13px}.lib-step-head h2{margin:0;font-size:18px}.lib-step-head p{margin:2px 0 0;font-size:14px}.lib-intuitive{border:1px dashed var(--line-strong);border-radius:var(--r-m);color:var(--ink-2);align-items:center;gap:10px;margin:0 0 0 40px;padding:12px 14px;font-size:14px;display:flex}.lib-intuitive svg{width:18px;height:18px;color:var(--muted);flex:none}.sets-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-left:40px;display:grid}.set-tile{text-align:left;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-1);font:inherit;color:inherit;cursor:pointer;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"th tx""th bd""pg pg";align-items:center;gap:6px 14px;padding:14px;transition:border-color .12s,box-shadow .12s;display:grid}.set-tile:hover,.set-tile:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-2)}.set-tile.focus{border-color:var(--accent-line)}.set-tile .thumbs{grid-area:th;align-self:start}.set-tile .thumb{width:60px;height:60px;padding:5px}.set-tile .thumb:nth-child(n+2){display:none}.set-tx{grid-area:tx;gap:1px;min-width:0;display:grid}.set-tx b{font-size:15.5px}.set-tx .muted{font-size:13px}.set-badges{flex-wrap:wrap;grid-area:bd;gap:6px;display:flex}.set-prog{grid-area:pg;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:4px;font-size:12.5px;display:grid}.fam-head{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:28px;margin:6px 0 18px;display:grid}.fam-tx h2{letter-spacing:-.01em;margin:2px 0 6px;font-size:26px}.fam-tx p{max-width:70ch;margin:0;font-size:14.5px}.fam-tx .eyebrow{color:var(--muted);font-size:13px;font-weight:500}.fam-side{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);gap:12px;padding:14px 16px;display:grid}.fam-prog{gap:8px;font-size:14px;display:grid}.fam-actions{flex-wrap:wrap;gap:8px;display:flex}.fam-bar{z-index:15;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;padding:10px 0;display:flex;position:sticky;top:0}.fam-bar .fam-chips{flex:1;min-width:0}.rows{grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:10px;margin-top:10px;display:grid}.arow{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-1);grid-template-columns:104px minmax(0,1fr);grid-template-areas:"fig main""fig st";gap:6px 14px;padding:10px 12px 10px 10px;transition:border-color .12s;display:grid}.arow[data-s="1"]{border-left:3px solid var(--warn)}.arow[data-s="2"]{border-left:3px solid var(--go)}.arow-fig{aspect-ratio:1;grid-area:fig;align-self:start;padding:8px}.arow-fig svg{height:100%;max-height:none}.arow-main{grid-area:main;align-content:start;gap:3px;min-width:0;display:grid}.arow .status3{grid-area:st;align-self:end;max-width:300px}.arow h3{margin:0;font-size:15px}.arow-fam{color:var(--muted);font-size:12px;font-weight:500}.arow-alg{color:var(--ink);word-spacing:.05em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14.5px;font-weight:600}.arow-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.arow-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.arow-meta span{align-items:center;gap:4px;display:inline-flex}.arow-meta svg{width:13px;height:13px}.fam-next{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding:16px 18px;display:flex}.fam-next>span{gap:2px;display:grid}.fam-next .muted{font-size:13px}.fam-next:hover{border-color:var(--accent)}.fam-next>svg{width:20px;height:20px;color:var(--muted)}@media (max-width:1023px){.fam-bar{position:static}}@media (max-width:760px){.fam-head{grid-template-columns:minmax(0,1fr);gap:14px}.rows{grid-template-columns:minmax(0,1fr)}.sets-grid{grid-template-columns:minmax(0,1fr);margin-left:0}.lib-intuitive{margin-left:0}.next-up{grid-template-columns:minmax(0,1fr);gap:12px}.next-up .thumbs{display:none}.lib-top .search-wrap{flex-basis:100%}.arow{grid-template-columns:84px minmax(0,1fr)}.fam-tx h2{font-size:22px}}.path{gap:12px;margin:22px 0 30px;padding:0;list-style:none;display:grid}.path-mod{grid-template-columns:36px minmax(0,1fr);gap:14px;display:grid;position:relative}.path-mod:before{content:"";background:var(--line);width:2px;position:absolute;top:40px;bottom:-14px;left:17px}.path-mod:last-child:before{display:none}.path-mod .node{background:var(--surface);border:2px solid var(--line-strong);width:36px;height:36px;color:var(--muted);z-index:1;border-radius:50%;place-items:center;font-size:14px;font-weight:600;display:grid;position:relative}.path-mod .node svg{width:16px;height:16px}.path-mod[data-st=done] .node{background:var(--go);border-color:var(--go);color:#fff}.path-mod[data-st=current] .node{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.path-mod[data-st=done]:before{background:var(--go)}.path-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);min-width:0}.path-mod[data-st=current] .path-card{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.path-head{color:inherit;border-radius:var(--r-l);grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:18px;padding:14px 18px;text-decoration:none;display:grid}.path-head:hover b{color:var(--accent)}.path-tx{gap:2px;min-width:0;display:grid}.path-tx b{font-size:16.5px;font-weight:600}.path-tx .muted{font-size:14px}.path-meta{color:var(--muted);font-size:12.5px;font-weight:500}.path-prog{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;font-size:13px;display:grid}.path-prog .badge{grid-column:1/-1;justify-self:end}.path-mod[data-st=next] .path-tx b{color:var(--ink-2)}.mod-content{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.mod-content.compact{gap:14px;padding:2px 18px 18px}.mod-content.compact .lessons{gap:6px;margin:0}.mod-content.compact .lesson-row{padding:9px 12px}.mod-content.compact .module-tx b{font-size:14.5px;font-weight:500}.mod-content .lessons{margin:0}.mod-h{margin:8px 0 -6px;font-size:18px}.goals{border:1px dashed var(--line-strong);border-radius:var(--r-m);padding:12px 12px 8px}.goals-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:0 8px 6px;display:flex}.goals-head h3{margin:0;font-size:15px}.goals-head .muted{font-size:13px}.go-ic{vertical-align:-2px;width:14px;height:14px;margin-left:2px;display:inline-grid}.path-settings{gap:4px;margin-top:8px;display:grid}.path-settings h2{margin-bottom:6px;font-size:17px}.path-settings .setting{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.path-settings .setting>div{gap:2px;display:grid}.path-settings .setting span{color:var(--muted);font-size:13.5px}.flow-goals{text-align:left;width:100%;max-width:560px}a.fam-next{text-decoration:none}@media (max-width:640px){.path-mod{grid-template-columns:28px minmax(0,1fr);gap:10px}.path-mod .node{width:28px;height:28px;font-size:12px}.path-mod:before{top:32px;left:13px}.path-head{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 14px}.path-prog{grid-template-columns:auto minmax(0,1fr) auto}.path-prog .badge{grid-column:auto;justify-self:start}.mod-content.compact .lesson-row .badge{display:none}.mod-content.compact{padding:0 12px 12px}.path-settings .setting{flex-wrap:wrap}}.subnav-2{gap:6px;margin-top:-12px;display:flex}.subnav-2 .chip[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.nota-ex{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-1);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:24px;margin-bottom:16px;padding:18px;display:grid}.nota-ex-cube{gap:12px;display:grid;position:sticky;top:12px}.nota-ex-3d{aspect-ratio:1;background:var(--surface-2);border-radius:var(--r-l);justify-self:center;width:100%;max-width:360px}.nota-ex-say{border-radius:var(--r-m);background:var(--surface-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:12px 14px;font-size:15px;display:grid}.nota-ex-say .tok{min-width:36px;font-size:24px}.nota-ex-pad{gap:16px;display:grid}.nota-ex-group h2{color:var(--muted);margin:0 0 8px;font-size:14px;font-weight:600}.nota-ex-btns{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.nota-ex-btns button{border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);min-height:42px;font:inherit;color:var(--ink);cursor:pointer;font-size:15px;font-weight:600}.nota-ex-btns button:hover{border-color:var(--accent)}.nota-ex-btns button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.nota-facts{margin-top:4px}@media (max-width:760px){.nota-ex{grid-template-columns:minmax(0,1fr);padding:14px}.nota-ex-cube{position:static}.nota-ex-3d{max-width:240px}}.prog-empty{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-1);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:16px;padding:20px 22px;display:grid}.prog-empty h2{margin:0 0 4px;font-size:18px}.prog-empty p{margin:0;font-size:14.5px}@media (max-width:640px){.prog-empty{grid-template-columns:minmax(0,1fr)}.prog-empty .tile-ic{display:none}.goals{padding:10px 6px 6px}.goals .checks li{flex-wrap:wrap;row-gap:0}.goals .checks li>a{flex-basis:100%;min-height:32px;margin:0 0 0 28px}.goals .checks .auto{white-space:normal;margin-left:0;display:block}}.flow-all{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);grid-column:1/-1;margin-top:6px}.flow-all summary{cursor:pointer;align-items:center;gap:8px;padding:11px 14px;font-size:14.5px;font-weight:600;list-style:none;display:flex}.flow-all summary::-webkit-details-marker{display:none}.flow-all summary svg{width:16px;height:16px;color:var(--muted)}.flow-all-body{color:var(--ink-2);gap:10px;max-width:72ch;padding:0 16px 16px;font-size:15px;display:grid}.flow-all-body p{margin:0}.flow-all-body h3{color:var(--ink);margin:6px 0 0;font-size:15px}.flow-all-body ul{gap:6px;margin:0;padding-left:18px;display:grid}.flow-all-body dl{gap:8px;margin:0;display:grid}.flow-all-body dt{color:var(--ink);font-weight:600}.flow-all-body dd{margin:0}.subnav .lbl-short{display:none}@media (max-width:640px){.subnav-learn .seg{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.subnav-learn .seg a{text-align:center;padding-left:4px;padding-right:4px}.subnav .lbl-long{display:none}.subnav .lbl-short{display:inline}}.runner-live{border-radius:var(--r-m);background:var(--accent-soft);color:var(--ink-2);align-items:flex-start;gap:8px;margin:0;padding:9px 12px;font-size:14px;display:flex}.runner-live svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:2px}.runner-live.warn{background:color-mix(in srgb,var(--warn) 14%,transparent)}.runner-live.warn svg{color:var(--warn)}.runner-live .tok{font-size:15px}@media (max-width:640px){.subnav-2{flex-wrap:wrap}}
