@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/9ebda9fe-c31b-4a9f-a31f-fcd0df4f1067.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/83854263-ddd6-472e-aecb-340ac57626f2.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/c60dafea-3e6b-4b40-ad16-fe06963db286.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/102a1355-a3df-4fda-bea1-87aa31c2f36e.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/9ebda9fe-c31b-4a9f-a31f-fcd0df4f1067.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/83854263-ddd6-472e-aecb-340ac57626f2.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/c60dafea-3e6b-4b40-ad16-fe06963db286.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/102a1355-a3df-4fda-bea1-87aa31c2f36e.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/9ebda9fe-c31b-4a9f-a31f-fcd0df4f1067.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/83854263-ddd6-472e-aecb-340ac57626f2.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/c60dafea-3e6b-4b40-ad16-fe06963db286.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/102a1355-a3df-4fda-bea1-87aa31c2f36e.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/9ebda9fe-c31b-4a9f-a31f-fcd0df4f1067.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/83854263-ddd6-472e-aecb-340ac57626f2.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/c60dafea-3e6b-4b40-ad16-fe06963db286.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/102a1355-a3df-4fda-bea1-87aa31c2f36e.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/07284ccb-8c3e-462f-82fa-8ace243838e4.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/094fd6e3-55a0-4707-9d78-04ee41d10117.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/32e65ac4-ac74-4b6c-9c05-f33616789caf.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/07284ccb-8c3e-462f-82fa-8ace243838e4.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/094fd6e3-55a0-4707-9d78-04ee41d10117.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/32e65ac4-ac74-4b6c-9c05-f33616789caf.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/4069456b-ce41-47db-a59d-a800aaa795c9.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/7a88e0f4-2a1f-4569-a8d0-5377cf5795c5.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/98b81ab7-1551-4a5c-8364-ce29cd2dbb73.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/4069456b-ce41-47db-a59d-a800aaa795c9.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/7a88e0f4-2a1f-4569-a8d0-5377cf5795c5.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/98b81ab7-1551-4a5c-8364-ce29cd2dbb73.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/4069456b-ce41-47db-a59d-a800aaa795c9.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/7a88e0f4-2a1f-4569-a8d0-5377cf5795c5.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/98b81ab7-1551-4a5c-8364-ce29cd2dbb73.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:PP Neue Montreal;font-style:normal;font-weight:400;src:local("PP Neue Montreal"),url(/fonts/052eb788-d754-4f9c-8589-78d12d1e011e.woff) format("woff")}@font-face{font-family:PP Neue Montreal;font-style:italic;font-weight:400;src:local("PP Neue Montreal"),url(/fonts/a1f161d7-efbe-4295-bf8e-6feba964a057.woff) format("woff")}@font-face{font-family:PP Neue Montreal;font-style:normal;font-weight:100;src:local("PP Neue Montreal"),url(/fonts/04ca6074-f8d1-421b-8975-124e419d099e.woff) format("woff")}@font-face{font-family:PP Neue Montreal;font-style:normal;font-weight:500;src:local("PP Neue Montreal"),url(/fonts/d54aec0c-6f5c-4275-ab9c-3843721f22b2.woff) format("woff")}@font-face{font-family:PP Neue Montreal;font-style:italic;font-weight:600;src:local("PP Neue Montreal"),url(/fonts/82c4be66-094a-44d6-a21b-fd88e35e5979.woff) format("woff")}@font-face{font-family:PP Neue Montreal;font-style:normal;font-weight:700;src:local("PP Neue Montreal"),url(/fonts/8cfd5d44-aafa-47fd-916f-34d5ed42efc5.woff) format("woff")}:root{--paper:#f6f8fa;--paper-2:#fcfdfe;--card:#fff;--card-sunk:#f2f3f6;--ink:#1b1a19;--ink-2:#565a60;--ink-3:#8b9096;--ink-on-dark:#edeef0;--line:#e4e8ec;--line-2:#d2d7dd;--line-soft:#eceff2;--blue:#7c2438;--blue-deep:#5f1a2b;--blue-soft:#f2e6e9;--blue-tint:#f8f0f2;--wine:#7c2438;--wine-deep:#5f1a2b;--wine-soft:#f2e6e9;--warm:#a9803c;--warm-deep:#856228;--warm-soft:#f1e8d6;--sage:#5c7456;--sage-soft:#e7ede3;--amber:#b5923c;--rose:#9c4254;--rose-soft:#f3e4e7;--dark:#1a1817;--dark-2:#262220;--serif:"PP Neue Montreal",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--sans:"PP Neue Montreal",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--r-xs:8px;--r-sm:10px;--r:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--sh-xs:0 1px 2px rgba(28,35,51,.04);--sh-sm:0 2px 10px rgba(28,35,51,.05);--sh-md:0 8px 26px rgba(28,35,51,.07);--sh-lg:0 22px 60px rgba(28,35,51,.13);--ease:cubic-bezier(0.22,1,0.36,1);--ease-io:cubic-bezier(0.6,0,0.3,1);--nav-w:248px;--maxw:1120px;--app-bg:var(--card-sunk);--frame-bg:var(--card);--frame-radius:24px;--frame-pad:30px;--frame-margin:18px;--frame-border:1px solid var(--line);--frame-shadow:var(--sh-sm)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.12;margin:0;color:var(--ink)}p{margin:0}button{font-family:inherit}a{color:inherit}::selection{background:var(--blue-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px;border:3px solid var(--paper)}::-webkit-scrollbar-track{background:transparent}.eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.foc:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@keyframes el-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes el-rise-soft{0%{transform:translateY(6px)}to{transform:none}}@keyframes el-fade{0%{opacity:0}to{opacity:1}}@keyframes el-pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes el-draw{to{stroke-dashoffset:0}}@keyframes el-spark{0%{transform:scale(0) rotate(0);opacity:0}40%{opacity:1}to{transform:scale(1) rotate(20deg);opacity:0}}.rise{animation:el-rise-soft .45s var(--ease)}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}@media (min-width:760px){.ob-grid{grid-template-columns:300px 1fr!important}}.ob-rail{display:none}@media (min-width:760px){.ob-rail{display:flex!important}}@media (max-width:900px){.el-side{display:none!important}.el-bottomnav,.el-topbar{display:flex!important}.el-main{padding:12px 12px 100px!important}.el-frame{padding:18px!important;border-radius:18px!important}.fb-grid,.journey-hero,.prog-grid,.task-grid,.today-grid{grid-template-columns:1fr!important}.practice-tabs{overflow:visible!important}.practice-tabs>div{display:grid!important;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;width:100%;border-radius:var(--r)!important}.practice-tabs>div>button{width:100%!important;flex:none!important}}@media (max-width:640px){.level-detail{grid-template-columns:1fr!important}}