@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.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:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_f524cf{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_f524cf{--font-sans:"Manrope","Manrope Fallback"}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.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:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_5e81af{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_5e81af{--font-display:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_a3cc63{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_a3cc63{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--primary-50:#eef3fe;--primary-100:#dce6fd;--primary-200:#bacdfb;--primary-300:#8eacf7;--primary-400:#5e84f0;--primary-500:#3a62e4;--primary-600:#2a4acb;--primary-700:#243ca4;--primary-800:#223582;--primary-900:#1f2f66;--reward-50:#fff8eb;--reward-100:#feedc7;--reward-200:#fdd98a;--reward-300:#fbc04d;--reward-400:#f6a623;--reward-500:#e48a0c;--reward-600:#c26a07;--reward-700:#9a4e0a;--reward-800:#7d3f0f;--reward-900:#673510;--success-50:#ecfbf3;--success-100:#d1f5e1;--success-200:#a6eac7;--success-300:#6dd8a6;--success-400:#37be82;--success-500:#17a26a;--success-600:#0e8356;--success-700:#0e6848;--success-800:#10533b;--success-900:#0f4432;--warning-50:#fff5ed;--warning-100:#ffe7d3;--warning-200:#fecba6;--warning-300:#fda66e;--warning-400:#fb7b36;--warning-500:#f25c12;--warning-600:#d94408;--warning-700:#b3330b;--warning-800:#8e2b11;--warning-900:#742611;--error-50:#fef2f2;--error-100:#fee2e1;--error-200:#fdcbc9;--error-300:#faa5a1;--error-400:#f4716b;--error-500:#e9453f;--error-600:#d42c26;--error-700:#b2221d;--error-800:#93201c;--error-900:#7a211e;--neutral-50:#f7f8fa;--neutral-100:#eef0f4;--neutral-200:#dfe3ea;--neutral-300:#c5cbd6;--neutral-400:#9aa3b3;--neutral-500:#6e788a;--neutral-600:#525c6e;--neutral-700:#3d4656;--neutral-800:#262d3a;--neutral-900:#161b24;--neutral-950:#0e1117;--bg:oklch(0.975 0.004 264);--surface:oklch(1 0 0);--surface-2:oklch(0.955 0.006 264);--surface-3:oklch(0.925 0.008 264);--border:oklch(0.905 0.009 264);--border-strong:oklch(0.84 0.012 264);--text:oklch(0.2 0.02 264);--text-muted:oklch(0.45 0.02 264);--text-subtle:oklch(0.56 0.018 264);--accent:oklch(0.49 0.2 266);--accent-hover:oklch(0.43 0.18 266);--accent-soft:oklch(0.96 0.025 266);--accent-fg:var(--accent);--accent-text:oklch(0.99 0 0);--reward:oklch(0.6 0.15 60);--reward-soft:oklch(0.97 0.03 80);--reward-fill:oklch(0.79 0.16 72);--success:oklch(0.54 0.13 158);--success-soft:oklch(0.97 0.03 158);--success-fill:var(--success);--warning:oklch(0.56 0.17 42);--warning-soft:oklch(0.97 0.03 50);--danger:oklch(0.57 0.21 27);--danger-soft:oklch(0.97 0.02 20);--track:oklch(0.925 0.008 264);--focus:oklch(0.6 0.19 266);--avatar-bg:var(--accent-soft);--avatar-fg:var(--accent);--shadow-subtle:0 1px 2px oklch(0.2 0.02 264/0.06);--shadow-medium:0 1px 2px oklch(0.2 0.02 264/0.05),0 4px 12px oklch(0.2 0.02 264/0.06);--shadow-elevated:0 2px 4px oklch(0.2 0.02 264/0.05),0 12px 28px oklch(0.2 0.02 264/0.1);--shadow-floating:0 8px 16px oklch(0.2 0.02 264/0.08),0 24px 56px oklch(0.2 0.02 264/0.16);--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius:var(--radius-md);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--font:var(--font-sans,system-ui),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:var(--font-mono,ui-monospace),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--display:var(--font-display,var(--font-sans,system-ui)),ui-sans-serif,system-ui,sans-serif;--ease:cubic-bezier(0.2,0,0,1);--ease-emph:cubic-bezier(0.3,0,0,1);--ease-exit:cubic-bezier(0.4,0,1,1);--d-fast:120ms;--d-base:180ms;--d-slow:280ms;--d-progress:700ms;--sidebar-w:232px;--content-max:1200px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:oklch(0.165 0.012 264);--surface:oklch(0.205 0.014 264);--surface-2:oklch(0.235 0.016 264);--surface-3:oklch(0.27 0.018 264);--border:oklch(0.29 0.018 264);--border-strong:oklch(0.36 0.02 264);--text:oklch(0.93 0.008 264);--text-muted:oklch(0.72 0.015 264);--text-subtle:oklch(0.62 0.015 264);--accent:oklch(0.68 0.16 266);--accent-hover:oklch(0.74 0.14 266);--accent-soft:oklch(0.28 0.06 266);--accent-fg:var(--accent);--accent-text:oklch(0.16 0.02 264);--reward:oklch(0.8 0.14 75);--reward-soft:oklch(0.28 0.05 70);--reward-fill:oklch(0.78 0.15 72);--success:oklch(0.74 0.14 158);--success-soft:oklch(0.27 0.05 158);--success-fill:var(--success);--warning:oklch(0.75 0.15 50);--warning-soft:oklch(0.28 0.05 45);--danger:oklch(0.7 0.17 25);--danger-soft:oklch(0.28 0.06 25);--track:oklch(0.29 0.018 264);--focus:oklch(0.72 0.15 266);--avatar-bg:var(--accent-soft);--avatar-fg:var(--accent);--shadow-subtle:0 1px 2px oklch(0 0 0/0.3);--shadow-medium:0 1px 2px oklch(0 0 0/0.3),0 4px 12px oklch(0 0 0/0.25);--shadow-elevated:0 0 0 1px oklch(1 0 0/0.04),0 12px 28px oklch(0 0 0/0.4);--shadow-floating:0 0 0 1px oklch(1 0 0/0.05),0 24px 56px oklch(0 0 0/0.5);color-scheme:dark}}:root[data-theme=dark]{--bg:oklch(0.165 0.012 264);--surface:oklch(0.205 0.014 264);--surface-2:oklch(0.235 0.016 264);--surface-3:oklch(0.27 0.018 264);--border:oklch(0.29 0.018 264);--border-strong:oklch(0.36 0.02 264);--text:oklch(0.93 0.008 264);--text-muted:oklch(0.72 0.015 264);--text-subtle:oklch(0.62 0.015 264);--accent:oklch(0.68 0.16 266);--accent-hover:oklch(0.74 0.14 266);--accent-soft:oklch(0.28 0.06 266);--accent-fg:var(--accent);--accent-text:oklch(0.16 0.02 264);--reward:oklch(0.8 0.14 75);--reward-soft:oklch(0.28 0.05 70);--reward-fill:oklch(0.78 0.15 72);--success:oklch(0.74 0.14 158);--success-soft:oklch(0.27 0.05 158);--success-fill:var(--success);--warning:oklch(0.75 0.15 50);--warning-soft:oklch(0.28 0.05 45);--danger:oklch(0.7 0.17 25);--danger-soft:oklch(0.28 0.06 25);--track:oklch(0.29 0.018 264);--focus:oklch(0.72 0.15 266);--avatar-bg:var(--accent-soft);--avatar-fg:var(--accent);--shadow-subtle:0 1px 2px oklch(0 0 0/0.3);--shadow-medium:0 1px 2px oklch(0 0 0/0.3),0 4px 12px oklch(0 0 0/0.25);--shadow-elevated:0 0 0 1px oklch(1 0 0/0.04),0 12px 28px oklch(0 0 0/0.4);--shadow-floating:0 0 0 1px oklch(1 0 0/0.05),0 24px 56px oklch(0 0 0/0.5);color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);font:400 15px/24px var(--font);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,h1,h2,h3,h4{margin:0;color:var(--text)}h1,h2,h3,h4{text-wrap:balance;font-family:var(--display);letter-spacing:-.02em}h1{font-size:30px;line-height:1.15}h1,h2{font-weight:600}h2{font-size:20px;line-height:1.25}h3{font-size:15px;line-height:1.35;letter-spacing:-.01em}h3,h4{font-weight:600}h4{font-size:14px;line-height:1.4;letter-spacing:0}p{margin:0}a{color:var(--accent-fg);text-underline-offset:2px}a:hover{color:var(--accent-hover)}ol,ul{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--primary-200);color:var(--neutral-900)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.small{font-size:13px;line-height:20px}.eyebrow{font-family:var(--mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--space-4);top:var(--space-4);background:var(--surface);padding:var(--space-2) var(--space-3);z-index:50;border-radius:var(--radius-md);box-shadow:var(--shadow-elevated)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--border);padding:var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:var(--space-6)}.brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.01em;padding:0 var(--space-2);color:var(--text);text-decoration:none}.brand-mark{width:22px;height:22px;border-radius:6px;background:var(--accent);flex:none;position:relative}.brand-mark:after,.brand-mark:before{content:"";position:absolute;left:22%;height:14%;border-radius:999px;background:var(--accent-text)}.brand-mark:before{bottom:44%;width:34%;opacity:.6}.brand-mark:after{bottom:22%;width:56%;opacity:.9}.nav{flex-direction:column;gap:2px}.nav,.nav a{display:flex}.nav a{position:relative;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:var(--radius-md);color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:600;transition:background var(--d-fast) var(--ease),color var(--d-fast) var(--ease)}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-fg)}.sidebar .nav a[aria-current=page]:before{content:"";position:absolute;left:calc(-1 * var(--space-3));top:8px;bottom:8px;width:3px;border-radius:0 999px 999px 0;background:var(--accent)}.nav svg{width:18px;height:18px;flex:none}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2) 0;border-top:1px solid var(--border)}.user-block{display:flex;flex-direction:column;min-width:0}.user-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:32px;height:32px;border-radius:50%;background:var(--avatar-bg);color:var(--avatar-fg);display:grid;place-content:center;font-weight:700;font-size:12px;flex:none}.bottom-nav,.topbar{display:none}.main{padding:var(--space-8) var(--space-8) var(--space-12);width:100%;max-width:calc(var(--content-max) + 2 * var(--space-8));min-width:0}.page-enter{animation:page-in var(--d-slow) var(--ease-emph) backwards}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dash>*{animation:page-in var(--d-slow) var(--ease-emph) backwards}.dash>:nth-child(2){animation-delay:40ms}.dash>:nth-child(3){animation-delay:80ms}.dash>:nth-child(4){animation-delay:.12s}.dash>:nth-child(5){animation-delay:.16s}.dash>:nth-child(n+6){animation-delay:.2s}@media (max-width:1023px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);position:-webkit-sticky;position:sticky;top:0;padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + env(safe-area-inset-top, 0px));background:color-mix(in srgb,var(--surface) 88%,transparent);border-bottom:1px solid var(--border)}.bottom-nav,.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-nav{display:block;position:fixed;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--surface) 94%,transparent);border-top:1px solid var(--border);padding:var(--space-1) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom, 0px))}.bottom-nav .nav{flex-direction:row;justify-content:space-around;gap:0}.bottom-nav .nav a{flex:1 1;flex-direction:column;gap:2px;padding:4px;min-height:52px;justify-content:center;font-size:10.5px;font-weight:600;background:none;text-align:center;color:var(--text-subtle)}.bottom-nav .nav a:hover{background:none}.bottom-nav .nav a[aria-current=page]{background:none;color:var(--accent-fg)}.bottom-nav .nav svg{width:48px;height:28px;padding:5px 15px;border-radius:999px;transition:background var(--d-base) var(--ease)}.bottom-nav .nav a[aria-current=page] svg{background:var(--accent-soft)}.main{padding:var(--space-5) var(--space-4) calc(88px + env(safe-area-inset-bottom, 0px))}}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-header>div{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.page-header>.row{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.page-header.is-top{align-items:flex-start}.page-header p{color:var(--text-muted);max-width:70ch}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:13px;font-weight:600;text-decoration:none;margin-bottom:var(--space-3);color:var(--text-muted)}.back-link:hover{color:var(--text)}.stack{gap:var(--space-4)}.stack,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:var(--space-2)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid>*{min-width:0}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-subtle);padding:var(--space-5);min-width:0}.card-head,.card>h2{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}.card-head,.card-head h2,.card>h2{font-size:15px;line-height:22px}.card-head a,.card>h2 a{font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.card-head:last-child,.card.stack>.card-head,.card.stack>h2,.card>h2:last-child{margin-bottom:0}a.card-link{display:block;color:inherit;text-decoration:none;transition:box-shadow var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease)}a.card-link:hover{box-shadow:var(--shadow-medium);border-color:var(--border-strong);color:inherit;transform:translateY(-1px)}.list{list-style:none;margin:0;padding:0}.list>li{padding:var(--space-3) 0;border-top:1px solid var(--border)}.list>li:first-child{border-top:0;padding-top:0}.list>li:last-child{padding-bottom:0}.list-item-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;min-width:0}.list-item-head>a,.list-item-head>strong{min-width:0;overflow-wrap:anywhere}.list a{font-weight:600;text-decoration:none;color:var(--text)}.list a:hover{color:var(--accent-fg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-size:14px;font-weight:600;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease),opacity var(--d-fast) var(--ease)}.btn,.btn:hover{color:var(--text)}.btn:hover{background:var(--surface-2)}.btn:active{transform:scale(.98)}.btn[aria-disabled=true],.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.btn[aria-busy=true]{opacity:.85;cursor:progress}.btn[aria-busy=true]:before{content:"";width:14px;height:14px;flex:none;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-subtle)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-text)}.btn-primary[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.btn-danger,.btn-danger:hover{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-sm{min-height:32px;padding:0 var(--space-3);font-size:13px;border-radius:var(--radius-sm)}.btn-link{border:0;background:none;padding:0;min-height:0;color:var(--accent-fg);text-decoration:underline;font-weight:600;box-shadow:none}.btn-link:hover{background:none;color:var(--accent-hover)}@media (max-width:1023px){.btn{min-height:44px}.btn-link,.btn-sm{min-height:36px}.btn-link{min-height:0}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600;font-size:13px}.field .hint{font-size:12px;color:var(--text-subtle)}.field .error{font-size:12px;color:var(--danger);font-weight:500}input,select,textarea{font:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:8px var(--space-3);min-height:40px;width:100%;transition:border-color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:hover,select:hover,textarea:hover{border-color:var(--text-subtle)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 20%,transparent)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-subtle)}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;padding:0;flex:none;accent-color:var(--accent)}textarea{min-height:88px;resize:vertical}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in oklch,var(--danger) 15%,transparent)}form.stack{max-width:520px}fieldset{border:0;padding:0;margin:0}.alert{border-radius:var(--radius-lg);padding:12px 16px;border:1px solid transparent;font-size:14px}.alert-info{background:var(--accent-soft);color:var(--accent-fg);border-color:color-mix(in oklch,var(--accent) 30%,transparent)}.alert-success{background:var(--success-soft);color:var(--success);border-color:color-mix(in oklch,var(--success) 30%,transparent);animation:pop-in var(--d-slow) var(--ease-emph) both}.alert-warning{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in oklch,var(--warning) 30%,transparent)}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in oklch,var(--danger) 30%,transparent)}.alert a{color:inherit;font-weight:600}@keyframes pop-in{0%{opacity:.3;transform:translateY(4px) scale(.99)}to{opacity:1;transform:none}}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:18px;font-weight:600;padding:1px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);white-space:nowrap}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.badge-accent{background:var(--accent-soft);color:var(--accent-fg)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-reward{background:var(--reward-soft);color:var(--reward)}.badge.is-status{height:24px;padding:0 10px}.status-shape{width:8px;height:8px;flex:none;border-radius:50%;border:1.5px solid}.status-shape.is-in-progress{background:linear-gradient(90deg,currentColor 50%,transparent 0)}.status-shape.is-completed{background:currentColor}.tabs{display:flex;gap:4px;padding:4px;margin-bottom:var(--space-6);overflow-x:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);width:-moz-fit-content;width:fit-content;max-width:100%}.tabs a{display:inline-flex;align-items:center;padding:6px 14px;min-height:32px;border-radius:var(--radius-md);color:var(--text-muted);text-decoration:none;font-weight:600;font-size:13px;white-space:nowrap;transition:color var(--d-fast) var(--ease),background var(--d-base) var(--ease),box-shadow var(--d-base) var(--ease)}.tabs a:hover{color:var(--text)}.tabs a[aria-current=page]{color:var(--text);background:var(--surface);box-shadow:var(--shadow-subtle)}@media (max-width:1023px){.tabs a{min-height:40px}}.progress{display:flex;flex-direction:column;gap:6px}.progress-head{display:flex;justify-content:space-between;gap:var(--space-3);font-size:13.5px;line-height:20px}.progress-label{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-value{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.bar{height:6px;border-radius:999px;background:var(--track);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:inherit;background:var(--accent);transform-origin:left center;animation:bar-grow var(--d-progress) var(--ease-emph) both}.bar.is-complete .bar-fill{background:var(--success-fill)}.bar.is-reward .bar-fill{background:var(--reward-fill)}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ring{position:relative;width:132px;height:132px;flex:none}.ring svg{width:100%;height:100%;transform:rotate(-90deg);display:block}.ring-track{fill:none;stroke:var(--track);stroke-width:10}.ring-value{fill:none;stroke:var(--accent);stroke-width:10;stroke-linecap:round;animation:ring-draw var(--d-progress) var(--ease-emph) both}.ring.is-complete .ring-value{stroke:var(--success-fill)}.ring-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.ring-label b{font-family:var(--display);font-size:30px;line-height:1;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.overall-card .ring{width:148px;height:148px}.ring-label span{font-size:12px;color:var(--text-muted);margin-top:var(--space-1)}@keyframes ring-draw{0%{stroke-dashoffset:var(--ring-c)}}.big-number{font-family:var(--display);font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.dash-header>div{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.dash{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr))}.dash>*{grid-column:span 12;min-width:0}@media (min-width:900px){.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-6{grid-column:span 6}}.next-action{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center;padding:var(--space-6);border-color:color-mix(in oklch,var(--accent) 25%,var(--border));box-shadow:var(--shadow-medium)}.next-action:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.next-action h2{font-size:24px;line-height:1.2;overflow-wrap:anywhere}.next-action .eyebrow{color:var(--accent-fg)}.next-action-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.week-goals{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.week-goals>*{min-width:0}.week-goal .progress-head{flex-wrap:wrap;row-gap:2px}.week-goal .progress-label{white-space:normal;overflow:visible}.week-card .card-head{flex-wrap:wrap;row-gap:var(--space-1)}.week-card .card-head h2{white-space:nowrap}.week-met{margin-right:var(--space-2)}.recovery-card{border-left:3px solid var(--accent)}.recovery-card p{margin:0}.week-goal p{margin:var(--space-1) 0 0}.week-impact{margin:0;padding-left:var(--space-3);border-left:3px solid var(--success)}.week-impact.is-warn{border-left-color:var(--warning)}.diag-card .card-head{flex-wrap:wrap;row-gap:var(--space-1)}.diag-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.diag-block{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding-left:var(--space-3);border-left:3px solid var(--border)}.diag-block h3{font-size:15px;line-height:22px}.diag-block p{margin:0}.diag-block.is-ok{border-left-color:var(--success)}.diag-block.is-warn{border-left-color:var(--warning)}.diag-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.mistake-form-row{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(0,2fr) minmax(140px,1fr)}@media (max-width:560px){.mistake-form-row{grid-template-columns:1fr}}.mistake,.mistake-list{display:flex;flex-direction:column}.mistake{gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--border)}.mistake p{margin:0}.mistake-head{display:flex;gap:var(--space-2);align-items:flex-start;justify-content:space-between}.mistake-text{overflow-wrap:anywhere;white-space:pre-wrap}.mistake-dates{margin:var(--space-2) 0 0;padding-left:var(--space-5);display:grid;grid-gap:2px;gap:2px}.mistake-dates button{min-width:28px;min-height:28px;text-decoration:none;font-size:16px}.mistake-filter{align-items:flex-end;margin:var(--space-4) 0}.mistake-summary{grid-gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.mistake-summary,.review-list{display:grid;gap:var(--space-3)}.review-list{margin:0;padding:0;list-style:none;grid-gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.review-list>li{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere;padding-left:var(--space-3);border-left:3px solid var(--warning)}.review-list ul{margin:var(--space-1) 0 0;padding-left:var(--space-4);display:grid;grid-gap:2px;gap:2px}.review-card>p{margin:0}.charts-note{margin:0 0 var(--space-4)}.material-form-row{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(120px,1fr) minmax(0,2fr)}@media (max-width:560px){.material-form-row{grid-template-columns:1fr}}.material-list{margin:0;padding:0;list-style:none}.material,.material-list{display:flex;flex-direction:column}.material{gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--border)}.material p{margin:0}.material-head{display:flex;gap:var(--space-2);align-items:baseline;flex-wrap:wrap;min-width:0}.material-title{overflow-wrap:anywhere;font-weight:600}a.material-title{color:var(--accent-fg);text-decoration:underline;text-underline-offset:2px}.material-note{white-space:pre-wrap;overflow-wrap:anywhere}.material-actions{gap:var(--space-2);flex-wrap:wrap}.material-add{padding-top:var(--space-3);border-top:1px solid var(--border)}.material-group-title{font-weight:600}.material-mini{margin:0;padding-left:var(--space-4);display:grid;grid-gap:var(--space-1);gap:var(--space-1);font-size:14px;overflow-wrap:anywhere}.material-group+.material-group{padding-top:var(--space-3);border-top:1px solid var(--border)}.edital summary{cursor:pointer;list-style-position:outside}.edital summary h2{display:inline}.edital[open] summary{margin-bottom:var(--space-3)}.edital-group{display:flex;flex-direction:column;gap:var(--space-2)}.edital-group h3{font-size:15px;margin:0}.edital-group p{margin:0}.edital-group ul{margin:0;padding-left:var(--space-4);display:grid;grid-gap:var(--space-1);gap:var(--space-1);overflow-wrap:anywhere}.edital-group.is-review{padding-left:var(--space-3);border-left:3px solid var(--warning)}.edital-check{display:inline-flex;gap:var(--space-2);align-items:baseline;cursor:pointer}.edital-result>p{margin:0}.check-row{display:inline-flex;gap:var(--space-2);align-items:center;cursor:pointer}.day-grid{border:0;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.day-grid legend{padding:0;margin-bottom:var(--space-2)}.session-questions{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}.mistake-badges{display:inline-flex;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end}.inline-select{min-height:32px;padding:2px var(--space-2);font-size:13px;width:auto}.chips-row{margin:var(--space-3) 0 0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.chips-row,.review-due{list-style:none;padding:0}.review-due{margin:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.review-due>li{gap:var(--space-2);padding-left:var(--space-3);border-left:3px solid var(--accent)}.review-due-head,.review-due>li{display:flex;flex-direction:column}.review-due-head{gap:2px}.review-buttons{gap:var(--space-2);flex-wrap:wrap}.review-history{margin:0;padding-left:var(--space-4);display:grid;grid-gap:2px;gap:2px}.edital-positions{border:0;margin:0;padding:0}.edital-disciplines{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.edital-disciplines>li{padding:var(--space-3) 0;border-top:1px solid var(--border)}.edital-discipline-head{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.edital-topics{list-style:none;margin:var(--space-2) 0 0;padding-left:var(--space-4);display:grid;grid-gap:2px;gap:2px}.edital-cards{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.edital-card{flex-direction:column;min-width:0}.edital-card,.edital-card-head{display:flex;gap:var(--space-2)}.edital-card-head{justify-content:space-between;align-items:flex-start}.edital-card-title{font-weight:600;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.edital-card-title:hover{color:var(--accent-fg);text-decoration:underline}.edital-card-facts,.edital-card-file{overflow-wrap:anywhere}.edital-card-facts{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px;color:var(--text-muted)}.edital-empty-upload{width:100%;max-width:440px;margin-top:var(--space-3);text-align:left}.edital-steps{margin:0;padding-left:var(--space-5);display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--text-subtle)}.edital-steps .is-done{color:var(--text-muted)}.edital-steps .is-done::marker{content:"✓  ";color:var(--success)}.edital-steps .is-current{color:var(--text);font-weight:600}.edital-section-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap}.edital-section-head h2{font-size:15px;line-height:22px}.edital-summary{margin:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.edital-summary>div{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.edital-summary>div:first-child{border-top:0;padding-top:0}.edital-summary dt{color:var(--text-muted);font-size:14px}.edital-summary dd{margin:0;overflow-wrap:anywhere}@media (max-width:599px){.edital-summary>div{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}}.edital-inline-list{margin:0;padding-left:var(--space-4);display:grid;grid-gap:2px;gap:2px}.edital-source{font-family:var(--mono);font-size:12px;color:var(--text-subtle);white-space:nowrap}.edital-facts{border-top:1px solid var(--border);padding-top:var(--space-3)}.edital-facts summary{cursor:pointer}.edital-facts[open] summary{margin-bottom:var(--space-2)}.edital-quotes{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.edital-quote{padding-left:var(--space-3);border-left:3px solid var(--accent-soft);font-size:14px;overflow-wrap:anywhere}.edital-quote .badge{margin-right:var(--space-2)}.edital-quote q{quotes:"“" "”"}.edital-external{border-style:dashed;border-color:var(--border-strong)}.diag-sim{border-top:1px solid var(--border);padding-top:var(--space-3)}.diag-sim summary{cursor:pointer;font-weight:600;font-size:14px}.diag-sim-form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.diag-sim-form p{margin:0}.diag-sim-fields{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.diag-sim-result{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.diag-sim-result h3{font-size:15px;line-height:22px}.diag-block h4{font-size:14px;font-weight:600;margin:0}.small.error{color:var(--danger)}.quick{grid-column:1/-1;flex-direction:column;padding-top:var(--space-4);border-top:1px solid var(--border)}.quick,.quick form{display:flex;gap:var(--space-2)}.quick form{flex-wrap:wrap;align-items:flex-end}.quick input{width:110px}.quick ol,.quick p{margin:0}.quick ol{padding-left:var(--space-5);display:grid;grid-gap:2px;gap:2px;font-size:14px}.diag-list li{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.next-estimate{align-self:flex-start;margin-top:var(--space-1)}.next-why{grid-column:1/-1;display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.next-why ul{margin:0;padding-left:var(--space-5);display:grid;grid-gap:2px;gap:2px;font-size:14px}.queue{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.chip,.queue{align-items:center}.chip{display:inline-flex;max-width:100%;font-size:13px;font-weight:500;padding:4px var(--space-3);border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease)}.chip:hover{border-color:var(--border-strong);color:var(--text)}@media (max-width:599px){.next-action{grid-template-columns:minmax(0,1fr);padding:var(--space-5)}.next-action .btn{width:100%}}.overall{display:flex;align-items:center;justify-content:center;gap:var(--space-5);flex:1 1}.activity-row>:first-child{min-width:0}.activity-row>:last-child{white-space:nowrap}@media (max-width:599px){.activity-row{flex-wrap:wrap;row-gap:2px}.activity-row>:last-child{width:100%}}.overall-card{display:flex;flex-direction:column;justify-content:center}.stats{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:767px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{display:flex;flex-direction:column;gap:4px;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0}.stat-label{font-size:12px;line-height:16px;font-weight:600;color:var(--text-muted)}.stat-value{font-family:var(--display);font-size:28px;line-height:1.1;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-value small{font-family:var(--font);font-size:15px;font-weight:500;color:var(--text-subtle);letter-spacing:0}.stat-hint{font-size:12px;color:var(--text-subtle)}.stat.is-reward .stat-value{color:var(--reward)}.stat.is-success .stat-value{color:var(--success)}.challenge{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2)}.challenge.is-done{background:var(--success-soft)}.challenge-head{display:flex;justify-content:space-between;gap:var(--space-2);font-size:14px;font-weight:600;align-items:center}.activity-meta{font-size:12.5px;color:var(--text-muted)}.item-title{display:block;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:var(--space-2);vertical-align:middle;flex:none}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .bar-mark{fill:var(--accent);transform-box:fill-box;transform-origin:bottom;animation:col-rise var(--d-progress) var(--ease-emph) both}.chart.is-reward .bar-mark{fill:var(--reward-fill)}.chart .axis{fill:var(--text-subtle);font-size:10px;font-family:var(--mono)}.chart .gridline{stroke:var(--border);stroke-width:1}.chart details{margin-top:var(--space-2);font-size:13px}.chart summary{cursor:pointer;color:var(--text-muted);font-weight:600}@keyframes col-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart .ref-line{stroke:var(--text-muted);stroke-width:1.5;stroke-dasharray:5 4}.chart-legend{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:12.5px;color:var(--text-muted)}.legend-dash{width:18px;height:0;border-top:2px dashed var(--text-muted);flex:none}.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.chart-total{font-size:15px;font-weight:600}.chart-delta{color:var(--text-muted)}.chart-delta.is-up{color:var(--success)}table{border-collapse:collapse;width:100%;font-size:13.5px}td,th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;font-weight:600;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em}.table-wrap{overflow-x:auto}.empty{text-align:center;padding:var(--space-10) var(--space-6);color:var(--text-muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.empty h3{color:var(--text);font-size:15px;line-height:22px}.skeleton{display:block;background:var(--surface-3);border-radius:var(--radius-sm);animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.55}50%{opacity:1}}.skel-line{height:12px}.skel-title{height:30px;width:min(320px,70%)}.empty p{font-size:14px;max-width:48ch}.steps{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding-left:var(--space-5)}.external{border-left:3px solid var(--border-strong);padding-left:var(--space-3)}.external .source{font-family:var(--mono)}.ad-slot,.external .source{font-size:12.5px;color:var(--text-subtle)}.ad-slot{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-3)}.prefs{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:520px}.auth{min-height:100vh;display:grid;place-items:center;padding:var(--space-6) var(--space-4);grid-gap:var(--space-4);gap:var(--space-4);align-content:center}.auth .card{width:100%;max-width:420px;padding:var(--space-8);box-shadow:var(--shadow-medium)}.auth .brand{padding:0;margin-bottom:var(--space-6)}.auth h1{font-size:24px;line-height:1.2}.auth-footer{width:100%;max-width:420px}@media (max-width:480px){.auth .card{padding:var(--space-6) var(--space-5)}}.breadcrumbs{margin-bottom:var(--space-3)}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:13px}.breadcrumbs li{display:flex;align-items:center;gap:var(--space-2);min-width:0}.breadcrumbs li+li:before{content:"/";color:var(--border-strong)}.breadcrumbs a{color:var(--text-muted);text-decoration:none;font-weight:600}.breadcrumbs a:hover{color:var(--text)}.breadcrumbs [aria-current=page]{color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}.nav-count{margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-family:var(--mono);font-size:10px;line-height:18px;font-weight:500;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bottom-nav .nav a{position:relative}.bottom-nav .nav-count{position:absolute;top:6px;left:calc(50% + 10px);margin:0;min-width:0;width:8px;height:8px;padding:0;box-shadow:0 0 0 2px var(--surface)}.bottom-nav .nav-count>[aria-hidden=true]{display:none}.subject-grid{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.subject-card{display:flex;flex-direction:column;gap:var(--space-3);height:100%}.subject-card h2{font-size:17px;line-height:1.3;overflow-wrap:anywhere}.subject-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.subject-icon{width:32px;height:32px;display:grid;place-content:center;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-fg)}.subject-chevron,.subject-icon svg{width:16px;height:16px}.subject-chevron{color:var(--text-subtle);transition:transform var(--d-fast) var(--ease),color var(--d-fast) var(--ease)}a.card-link:hover .subject-chevron{transform:translateX(2px);color:var(--accent-fg)}.subject-card .progress{margin-top:auto}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.topic-group+.topic-group{padding-top:var(--space-4);border-top:1px solid var(--border)}.group-title{display:flex;align-items:center;gap:var(--space-2);font-size:12px;line-height:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:var(--space-2)}.group-title .tabular{font-weight:600;padding:0 7px;border-radius:999px;background:var(--surface-2);letter-spacing:0}.group-title.is-in-progress{color:var(--accent-fg)}.group-title.is-completed{color:var(--success)}.row-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:32px;overflow-wrap:anywhere}.row-link:after{content:"›";color:var(--text-subtle);font-size:18px;transition:transform var(--d-fast) var(--ease)}.row-link:hover:after{transform:translateX(2px);color:var(--accent-fg)}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);align-self:flex-start}.segmented button{font:inherit;font-size:13.5px;font-weight:600;border:0;background:transparent;color:var(--text-muted);padding:7px var(--space-3);min-height:34px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--d-fast) var(--ease),color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.segmented button:hover:not([disabled]){color:var(--text);background:var(--surface)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--accent-fg);box-shadow:var(--shadow-subtle);cursor:default}.segmented button[aria-pressed=true].is-done{color:var(--success)}.segmented button[disabled]:not([aria-pressed=true]){opacity:.55;cursor:progress}@media (max-width:1023px){.segmented button{min-height:44px}}.topic-about{margin-bottom:var(--space-4)}.topic-layout{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start}@media (min-width:1024px){.topic-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.toast{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:40;max-width:min(380px,calc(100vw - 2 * var(--space-4)));display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);animation:toast-in var(--d-slow) var(--ease-emph) both}.toast-badge{flex:none;min-width:40px;height:40px;padding:0 var(--space-2);border-radius:999px;display:grid;place-content:center;background:var(--reward-soft);color:var(--reward);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;animation:reward-pop .52s var(--ease-emph) 80ms both}.toast-text{display:flex;flex-direction:column;font-size:13.5px;line-height:20px;min-width:0}.toast-text span{color:var(--text-muted)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes reward-pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@media (max-width:1023px){.toast{left:var(--space-4);right:var(--space-4);max-width:none;bottom:calc(80px + env(safe-area-inset-bottom, 0px))}}.dialog{border:1px solid var(--border);border-radius:var(--radius-2xl);padding:0;background:var(--surface);color:var(--text);box-shadow:var(--shadow-floating);width:min(440px,calc(100vw - 2 * var(--space-4)))}.dialog[open]{animation:dialog-in var(--d-base) var(--ease-emph) both}.dialog::-webkit-backdrop{background:rgb(14 17 23/.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog::backdrop{background:rgb(14 17 23/.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.dialog-body h2{font-size:18px;line-height:26px;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.btn-danger-solid,.btn-danger-solid:hover{background:var(--danger);border-color:var(--danger);color:var(--accent-text)}.btn-danger-solid:hover{opacity:.9}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}@media (max-width:599px){.dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:0}.dialog[open]{animation:sheet-in var(--d-slow) var(--ease-emph) both}.dialog-body{padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom, 0px))}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.tab-count{margin-left:6px;padding:0 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:600}.tabs a[aria-current=page] .tab-count{background:var(--accent-soft);color:var(--accent-fg)}.card.is-danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.danger-label{color:var(--danger)}.integration-head{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.integration-head h2{font-size:17px;line-height:24px}.integration-icon{width:40px;height:40px;flex:none;border-radius:var(--radius-lg);display:grid;place-content:center;background:var(--accent-soft);color:var(--accent-fg);font-weight:700;font-size:16px}.plan-card .big-number{font-size:32px;line-height:38px}.compare td,.compare th{padding:var(--space-3);vertical-align:middle}.compare tbody th,.compare thead th{font-size:14px;text-transform:none;letter-spacing:0;color:var(--text)}.compare tbody th{font-weight:500}.compare-you{margin-left:var(--space-2)}.password-field{position:relative;display:flex;align-items:center}.password-field input{padding-right:84px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);font:inherit;font-size:12.5px;font-weight:600;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;min-height:30px}.password-toggle:hover{color:var(--text);background:var(--surface-2)}.password-toggle[aria-pressed=true]{color:var(--accent-fg)}.auth{grid-template-columns:minmax(0,1fr)}.auth-form{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-4);justify-self:center}.auth-form .card{max-width:none}.auth-aside{display:none}@media (min-width:1024px){.auth:has(.auth-aside){grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;gap:0;align-content:stretch;place-items:stretch}.auth:has(.auth-aside) .auth-form{align-self:center;justify-self:center;padding:var(--space-8);box-sizing:content-box}.auth-aside{order:-1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-8);min-height:100vh;padding:var(--space-12);background:var(--accent);color:var(--accent-text)}.auth-aside h2{font-size:30px;line-height:1.15;max-width:16ch;color:var(--accent-text)}}.auth-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5);max-width:420px}.auth-steps li{display:flex;gap:var(--space-4);align-items:flex-start}.auth-steps li>div{display:flex;flex-direction:column;gap:2px}.auth-steps span:not(.auth-step-num){color:color-mix(in oklch,var(--accent-text) 78%,transparent);font-size:14px}.auth-step-num{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-content:center;background:color-mix(in oklch,var(--accent-text) 16%,transparent);color:var(--accent-text);font-family:var(--mono);font-weight:500;font-size:13px}.auth-preview{display:flex;flex-direction:column;gap:var(--space-3);max-width:420px;padding:var(--space-5);border:1px solid color-mix(in oklch,var(--accent-text) 20%,transparent);border-radius:var(--radius-xl);background:color-mix(in oklch,var(--accent-text) 8%,transparent)}.auth-preview .bar{background:color-mix(in oklch,var(--accent-text) 20%,transparent)}.auth-preview .bar-fill{background:var(--accent-text)}.auth-preview .bar:nth-child(2) .bar-fill{background:var(--reward-fill)}.auth-preview .bar:nth-child(2){animation-delay:.12s}::view-transition-new(root),::view-transition-old(root){animation-duration:.22s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.compare-price{display:block;font-size:12.5px;font-weight:500;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.structure-tree{list-style:none;margin:0;padding:0}.structure-topics{list-style:none;padding-left:var(--space-5);border-left:2px solid var(--border);margin:0 0 0 7px}.structure-name{flex:1 1 200px;min-width:0}