:root{--brand-lavender-50:#f2eefd;--brand-lavender-100:#e2d9fa;--brand-lavender-200:#c7b7f2;--brand-lavender-300:#aa94ea;--brand-lavender-400:#9278e2;--brand-lavender-500:#7b5cd9;--brand-lavender-600:#6748c7;--brand-lavender-700:#5639b0;--brand-lavender-800:#4a2ea0;--brand-lavender-900:#382279;--brand-amber-50:#fff5d7;--brand-amber-100:#fcefcb;--brand-amber-200:#f8dfa0;--brand-amber-300:#f4cb68;--brand-amber-400:#f2be45;--brand-amber-500:#f0b428;--brand-amber-600:#d89a10;--brand-amber-700:#b77c00;--brand-amber-800:#8f6400;--brand-amber-900:#6b4d08;--brand-magenta-50:#fdeaf2;--brand-magenta-100:#fad2e3;--brand-magenta-200:#f4a6c8;--brand-magenta-300:#ed78aa;--brand-magenta-400:#e94691;--brand-magenta-500:#dc1464;--brand-magenta-600:#bf0f56;--brand-magenta-700:#9d0b47;--brand-magenta-800:#790838;--brand-magenta-900:#5a062a;--ink-50:#f0edf7;--ink-100:#e5e0f0;--ink-200:#c5bee0;--ink-300:#a89bcf;--ink-400:#8a79be;--ink-500:#6e5f9c;--ink-600:#57477f;--ink-700:#3c2864;--ink-800:#261f40;--ink-900:#1a1530;--neutral-0:#ffffff;--neutral-50:#faf9fd;--neutral-100:#f2f0f8;--neutral-200:#eceaf4;--neutral-300:#e8e5f0;--neutral-400:#d8d4e4;--neutral-500:#a8a4b8;--neutral-600:#6e6890;--neutral-700:#4a4270;--neutral-800:#2f294a;--neutral-900:#14102a;--neutral-1000:#0c081f;--state-green-50:#eaf7ef;--state-green-100:#dceedf;--state-green-200:#bfe0c6;--state-green-300:#8bc99a;--state-green-400:#41a95d;--state-green-500:#00712e;--state-green-600:#006329;--state-green-700:#005322;--state-green-800:#00461c;--state-green-900:#003816;--state-amber-50:var(--brand-amber-50);--state-amber-100:var(--brand-amber-100);--state-amber-200:var(--brand-amber-200);--state-amber-300:var(--brand-amber-300);--state-amber-400:var(--brand-amber-400);--state-amber-500:var(--brand-amber-500);--state-amber-600:var(--brand-amber-600);--state-amber-700:var(--brand-amber-700);--state-amber-800:var(--brand-amber-800);--state-amber-900:var(--brand-amber-900);--state-red-50:#fcecec;--state-red-100:#fce4e4;--state-red-200:#f6c4c4;--state-red-300:#e69a9a;--state-red-400:#d95c5c;--state-red-500:#b22020;--state-red-600:#9e1a1a;--state-red-700:#7a1414;--state-red-800:#641010;--state-red-900:#4f0d0d;--state-blue-50:#edf4fe;--state-blue-100:#dce8f8;--state-blue-200:#bfd4f0;--state-blue-300:#90b5e5;--state-blue-400:#5f8fd4;--state-blue-500:#2864b4;--state-blue-600:#1f559d;--state-blue-700:#174783;--state-blue-800:#163e72;--state-blue-900:#11305b;--font-sans:"Golos Text","Segoe UI",system-ui,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.06em;--sp-0:0;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:28px;--sp-8:32px;--sp-9:36px;--sp-10:40px;--sp-11:44px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;--fs-display:clamp(40px,5vw,64px);--fs-h1:clamp(28px,3.5vw,40px);--fs-h2:clamp(22px,2.5vw,30px);--fs-h3:20px;--fs-h4:18px;--fs-body-lg:17px;--fs-body:15px;--fs-sm:13px;--fs-xs:11px;--fs-2xs:10px;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.5;--lh-relaxed:1.65;--icon-xs:12px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-xl:32px;--avatar-xs:20px;--avatar-sm:28px;--avatar-md:36px;--avatar-lg:48px;--avatar-xl:64px;--radius-none:0;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-3xl:32px;--radius-pill:9999px;--radius-circle:50%;--border-w-sm:1px;--border-w-md:2px;--border-w-lg:3px;--border-w-xl:4px;--shadow-none:none;--shadow-sm:0 1px 3px rgba(26,21,48,0.06);--shadow-md:0 1px 4px rgba(26,21,48,0.06),0 0 0 1px rgba(26,21,48,0.04);--shadow-lg:0 4px 16px rgba(26,21,48,0.08);--shadow-xl:0 8px 32px rgba(26,21,48,0.14);--shadow-popover:0 8px 24px rgba(26,21,48,0.12),0 0 0 1px rgba(26,21,48,0.06);--shadow-modal:0 24px 80px rgba(26,21,48,0.24),0 0 0 1px rgba(26,21,48,0.08);--duration-instant:80ms;--duration-fast:120ms;--duration-base:200ms;--duration-slow:380ms;--duration-slower:520ms;--ease-linear:linear;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--opacity-disabled:0.48;--opacity-hover-overlay:0.08;--opacity-scrim:0.56;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px;--color-action:var(--brand-lavender-500);--color-action-hover:var(--brand-lavender-600);--color-action-active:var(--brand-lavender-700);--color-action-soft:var(--brand-lavender-50);--color-action-soft-hover:var(--brand-lavender-100);--color-action-strong:var(--brand-lavender-800);--color-action-disabled:var(--neutral-300);--color-accent:var(--brand-amber-500);--color-accent-hover:var(--brand-amber-600);--color-accent-active:var(--brand-amber-700);--color-accent-soft:var(--brand-amber-50);--color-accent-strong:var(--brand-amber-900);--color-accent-secondary:var(--brand-magenta-500);--color-ink:var(--ink-900);--color-ink-hover:var(--ink-800);--color-ink-active:var(--ink-700);--color-ink-soft:var(--ink-50);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-700);--text-muted:var(--neutral-600);--text-subtle:var(--neutral-500);--text-disabled:var(--neutral-400);--text-placeholder:color-mix(in srgb,var(--neutral-500) 84%,var(--neutral-0));--text-on-action:var(--neutral-0);--text-on-accent:var(--neutral-900);--text-on-ink:var(--neutral-0);--text-inverse:var(--neutral-0);--text-code:var(--color-action-strong);--surface-page:var(--neutral-0);--surface-1:var(--neutral-50);--surface-2:var(--neutral-100);--surface-3:var(--neutral-300);--surface-4:var(--neutral-400);--surface-overlay:rgba(26,21,48,0.56);--surface-inverse:var(--ink-900);--surface-disabled:var(--neutral-50);--surface-hover:color-mix(in srgb,var(--text-primary) 4%,transparent);--surface-selected:var(--brand-lavender-50);--surface-code:var(--surface-2);--border-subtle:var(--neutral-200);--border-default:var(--neutral-400);--border-strong:var(--neutral-500);--border-inverse:rgba(255,255,255,0.2);--border-focus:var(--color-action);--state-success:var(--state-green-400);--state-success-hover:var(--state-green-500);--state-success-active:var(--state-green-600);--state-success-bg:var(--state-green-100);--state-success-bg-strong:var(--state-green-200);--state-success-text:var(--state-green-800);--state-success-border:var(--state-green-300);--state-warning:var(--state-amber-700);--state-warning-hover:var(--state-amber-800);--state-warning-active:var(--state-amber-900);--state-warning-bg:var(--state-amber-100);--state-warning-bg-strong:var(--state-amber-200);--state-warning-text:var(--state-amber-900);--state-warning-border:var(--state-amber-300);--state-error:var(--state-red-500);--state-error-hover:var(--state-red-600);--state-error-active:var(--state-red-700);--state-error-bg:var(--state-red-100);--state-error-bg-strong:var(--state-red-200);--state-error-text:var(--state-red-700);--state-error-border:var(--state-red-300);--state-info:var(--state-blue-500);--state-info-hover:var(--state-blue-600);--state-info-active:var(--state-blue-700);--state-info-bg:var(--state-blue-100);--state-info-bg-strong:var(--state-blue-200);--state-info-text:var(--state-blue-800);--state-info-border:var(--state-blue-300);--focus-ring-color:rgba(123,92,217,0.3);--focus-ring-width:3px;--focus-ring-offset:2px;--shadow-focus:0 0 0 var(--focus-ring-width) var(--focus-ring-color);--surface-selection:var(--brand-lavender-100);--text-link:var(--color-action);--text-link-hover:var(--color-action-hover);--text-link-active:var(--color-action-active);--control-h-xs:24px;--control-h-sm:28px;--control-h-md:36px;--control-h-lg:44px;--control-h-xl:52px;--control-px-xs:var(--sp-2);--control-px-sm:10px;--control-px-md:14px;--control-px-lg:18px;--control-px-xl:var(--sp-6);--control-py-xs:var(--sp-1);--control-py-sm:6px;--control-py-md:10px;--control-py-lg:var(--sp-3);--control-py-xl:14px;--control-gap-sm:var(--sp-1);--control-gap-md:var(--sp-2);--control-gap-lg:var(--sp-3);--control-border-w:var(--border-w-sm);--container-xs:360px;--container-sm:560px;--container-md:720px;--container-lg:960px;--container-xl:1200px;--header-h:64px;--sidebar-w:280px;--gutter:24px;--pad-x:clamp(16px,4vw,48px);--z-base:0;--z-dropdown:100;--z-sticky:200;--z-popover:300;--z-overlay:400;--z-modal:500;--z-toast:600;--z-tooltip:700;--aspect-square:1/1;--aspect-video:16/9;--aspect-card:4/3;--scrollbar-w:10px;--scrollbar-thumb:var(--neutral-400);--scrollbar-thumb-hover:var(--neutral-500);--scrollbar-track:transparent;--backdrop-blur:8px;--hover-lift:-2px;--press-scale:0.98}@custom-media --bp-sm (min-width: 480px);@custom-media --bp-md (min-width: 768px);@custom-media --bp-lg (min-width: 1024px);@custom-media --bp-xl (min-width: 1280px);@custom-media --bp-2xl (min-width: 1536px);@custom-media --bp-sm-down (max-width: 479.98px);@custom-media --bp-md-down (max-width: 767.98px);@custom-media --bp-lg-down (max-width: 1023.98px);@custom-media --bp-xl-down (max-width: 1279.98px);:root,[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark;--color-action:var(--brand-lavender-300);--color-action-hover:var(--brand-lavender-200);--color-action-active:var(--brand-lavender-100);--color-action-soft:rgba(170,148,234,0.16);--color-action-soft-hover:rgba(170,148,234,0.24);--color-action-strong:var(--brand-lavender-100);--color-action-disabled:var(--neutral-800);--color-accent:var(--brand-amber-300);--color-accent-hover:var(--brand-amber-200);--color-accent-active:var(--brand-amber-100);--color-accent-soft:rgba(244,203,104,0.16);--color-accent-strong:var(--brand-amber-100);--color-ink:var(--neutral-0);--color-ink-hover:var(--neutral-100);--color-ink-active:var(--neutral-200);--color-ink-soft:rgba(255,255,255,0.08);--text-primary:var(--neutral-50);--text-secondary:var(--neutral-300);--text-muted:var(--neutral-400);--text-subtle:var(--neutral-500);--text-disabled:var(--neutral-600);--text-placeholder:var(--neutral-500);--text-on-action:var(--neutral-900);--text-on-accent:var(--neutral-900);--text-on-ink:var(--neutral-900);--text-inverse:var(--neutral-900);--text-code:var(--brand-lavender-100);--text-link:var(--color-action);--text-link-hover:var(--color-action-hover);--text-link-active:var(--color-action-active);--surface-page:#070707;--surface-1:#101010;--surface-2:#181818;--surface-3:#242424;--surface-4:#303030;--surface-overlay:rgba(0,0,0,0.72);--surface-inverse:var(--neutral-0);--surface-disabled:color-mix(in srgb,var(--neutral-800) 72%,transparent);--surface-hover:rgba(255,255,255,0.08);--surface-selected:rgba(170,148,234,0.18);--surface-code:rgba(255,255,255,0.08);--surface-selection:rgba(170,148,234,0.36);--border-subtle:rgba(255,255,255,0.1);--border-default:rgba(255,255,255,0.18);--border-strong:rgba(255,255,255,0.28);--border-inverse:rgba(20,16,42,0.2);--border-focus:var(--color-action);--state-success:var(--state-green-300);--state-success-hover:var(--state-green-200);--state-success-active:var(--state-green-100);--state-success-bg:color-mix(in srgb,var(--state-green-300) 16%,transparent);--state-success-bg-strong:color-mix(in srgb,var(--state-green-300) 24%,transparent);--state-success-text:var(--state-green-100);--state-success-border:color-mix(in srgb,var(--state-green-300) 44%,transparent);--state-warning:var(--state-amber-300);--state-warning-hover:var(--state-amber-200);--state-warning-active:var(--state-amber-100);--state-warning-bg:color-mix(in srgb,var(--state-amber-300) 16%,transparent);--state-warning-bg-strong:color-mix(in srgb,var(--state-amber-300) 24%,transparent);--state-warning-text:var(--state-amber-100);--state-warning-border:color-mix(in srgb,var(--state-amber-300) 44%,transparent);--state-error:var(--state-red-300);--state-error-hover:var(--state-red-200);--state-error-active:var(--state-red-100);--state-error-bg:color-mix(in srgb,var(--state-red-300) 16%,transparent);--state-error-bg-strong:color-mix(in srgb,var(--state-red-300) 24%,transparent);--state-error-text:var(--state-red-100);--state-error-border:color-mix(in srgb,var(--state-red-300) 44%,transparent);--state-info:var(--state-blue-300);--state-info-hover:var(--state-blue-200);--state-info-active:var(--state-blue-100);--state-info-bg:color-mix(in srgb,var(--state-blue-300) 16%,transparent);--state-info-bg-strong:color-mix(in srgb,var(--state-blue-300) 24%,transparent);--state-info-text:var(--state-blue-100);--state-info-border:color-mix(in srgb,var(--state-blue-300) 44%,transparent);--focus-ring-color:rgba(170,148,234,0.44);--scrollbar-thumb:var(--neutral-600);--scrollbar-thumb-hover:var(--neutral-500);--scrollbar-track:transparent}[data-theme=hc]{color-scheme:light;--text-primary:var(--neutral-1000);--text-secondary:var(--neutral-900);--text-muted:var(--neutral-800);--surface-page:var(--neutral-0);--surface-1:var(--neutral-0);--surface-2:var(--neutral-50);--border-subtle:var(--neutral-700);--border-default:var(--neutral-800);--border-strong:var(--neutral-900);--border-focus:var(--state-blue-700);--focus-ring-color:color-mix(in srgb,var(--state-blue-700) 55%,transparent)}[data-density=compact]{--control-h-xs:22px;--control-h-sm:26px;--control-h-md:32px;--control-h-lg:40px;--control-h-xl:48px;--control-px-xs:6px;--control-px-sm:var(--sp-2);--control-px-md:var(--sp-3);--control-px-lg:var(--sp-4);--control-px-xl:var(--sp-5);--control-py-xs:2px;--control-py-sm:var(--sp-1);--control-py-md:6px;--control-py-lg:10px;--control-py-xl:var(--sp-3);--control-gap-sm:2px;--control-gap-md:6px;--control-gap-lg:10px;--gutter:var(--sp-4)}[data-density=comfortable]{--control-h-xs:28px;--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;--control-h-xl:56px;--control-px-xs:10px;--control-px-sm:var(--sp-3);--control-px-md:var(--sp-4);--control-px-lg:var(--sp-5);--control-px-xl:var(--sp-7);--control-py-xs:6px;--control-py-sm:var(--sp-2);--control-py-md:10px;--control-py-lg:var(--sp-4);--control-py-xl:18px;--control-gap-sm:6px;--control-gap-md:10px;--control-gap-lg:var(--sp-4);--gutter:var(--sp-8)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}*,:after,:before{box-sizing:border-box}@media (--bp-md-down ){:root{--header-h:56px;--gutter:16px}}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-relaxed);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{color:var(--text-primary);background:var(--surface-selection)}.h1,h1{font-size:var(--fs-h1);line-height:var(--lh-tight)}.h1,.h2,h1,h2{font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight)}.h2,h2{font-size:var(--fs-h2)}.h2,.h3,h2,h3{line-height:var(--lh-snug)}.h3,h3{font-size:var(--fs-h3)}.h3,.h4,h3,h4{font-weight:var(--fw-semibold)}.h4,h4{font-size:var(--fs-h4);line-height:var(--lh-normal)}p{line-height:var(--lh-relaxed)}.text-sm,small{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.mono,code,pre{font-family:var(--font-mono);font-size:var(--fs-sm)}code{color:var(--text-code);background:var(--surface-code);border-radius:var(--radius-xs);padding:.1em .35em}pre code{color:inherit;background:transparent;border-radius:0;padding:0}a{color:var(--text-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--text-link-hover)}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}*{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}::-webkit-scrollbar{width:var(--scrollbar-w);height:var(--scrollbar-w)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid transparent;border-radius:var(--radius-pill);background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}html{color-scheme:light;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans)}.roadmap-account-selector{display:inline-flex;align-items:center;box-sizing:border-box;width:fit-content;max-width:100%;height:52px;min-width:0;margin-bottom:var(--sp-4);border:var(--border-w-sm) solid transparent;border-radius:var(--radius-md);color:var(--text-primary);transition:background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.roadmap-account-selector select{width:auto;max-width:min(100%,32rem);height:100%;padding:0 var(--sp-8) 0 var(--sp-3);overflow:hidden;border:0;background:transparent;color:var(--text-primary);cursor:pointer;font-size:var(--fs-h2);font-weight:700;line-height:38px;text-overflow:ellipsis}.roadmap-account-selector:hover{background:var(--surface-1);box-shadow:inset 0 0 0 var(--border-w-sm) var(--border-subtle)}.roadmap-account-selector select:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.roadmap-account-title{display:block;width:fit-content;min-width:0;max-width:min(100%,32rem);margin-bottom:var(--sp-4);overflow:hidden;color:var(--text-primary);font-size:var(--fs-h2);font-weight:700;line-height:38px;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.roadmap-account-selector{display:flex;width:min(100%,280px);height:44px;margin-inline:auto}.roadmap-account-selector select{width:100%;max-width:100%;height:100%;font-size:var(--fs-h3);line-height:32px;text-align:left}.roadmap-account-title{display:block;max-width:100%;margin-inline:auto;font-size:var(--fs-h3);line-height:32px;text-align:center}}body{margin:0}a{color:inherit}button{font:inherit}.roadmap-shell{min-height:100vh}p{color:var(--text-muted)}h1,h2,h3,p{margin:0}h1{font-size:var(--fs-h2);line-height:38px}h2{font-size:var(--fs-h4);line-height:26px}h3{font-size:var(--fs-body-lg);line-height:24px}.modern-roadmap-page{--roadmap-control-height:38px;--roadmap-topic-meter-size:24px;--roadmap-module-dot-size:10px;--roadmap-section-heading-gap:8px;--roadmap-topic-dot-size:16px;--roadmap-control-px:14px;--roadmap-object-py:11px;--roadmap-radius:8px;--roadmap-text-title:16px;--roadmap-text-dialog-title:18px;--roadmap-text-body:16px;--roadmap-text-topic:15px;--roadmap-text-meta:14px;--roadmap-leading-title:22px;--roadmap-leading-dialog-title:24px;--roadmap-leading-body:22px;--roadmap-leading-topic:21px;--roadmap-leading-meta:20px;--roadmap-status-completed-fill:var(--state-success);--roadmap-status-completed-soft:var(--state-success-bg);--roadmap-status-completed-text:var(--state-success-text);--roadmap-status-completed-border:var(--state-success-border);--roadmap-status-enrolled-fill:var(--state-info);--roadmap-status-enrolled-soft:var(--state-info-bg);--roadmap-status-enrolled-text:var(--state-info-text);--roadmap-status-enrolled-border:var(--state-info-border);--roadmap-status-warning-fill:var(--state-warning-bg);--roadmap-status-warning-soft:var(--state-warning-bg);--roadmap-status-warning-text:var(--state-warning-text);--roadmap-status-warning-border:var(--state-amber-500);min-height:100vh;width:100%;display:flex;justify-content:center;overflow-x:hidden;background:linear-gradient(180deg,var(--surface-page),var(--surface-1) 42%);color:var(--text-primary)}.modern-roadmap-container{width:min(100%,60rem);box-sizing:border-box;padding:var(--sp-4) var(--sp-3) var(--sp-7)}.modern-roadmap-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.modern-roadmap-picker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-bottom:11px}.modern-roadmap-picker-dropdown{position:relative}.modern-roadmap-picker-dropdown>summary::-webkit-details-marker{display:none}.modern-roadmap-picker-button{height:var(--roadmap-control-height);display:inline-flex;align-items:center;justify-content:center;gap:6px;border:var(--border-w-sm) solid var(--border-subtle);border-radius:var(--roadmap-radius);background:var(--surface-1);padding:0 var(--roadmap-control-px);color:var(--text-primary);font-size:var(--roadmap-text-body);font-weight:var(--fw-medium);line-height:var(--roadmap-control-height);text-decoration:none;cursor:pointer;list-style:none}.modern-roadmap-picker-button:hover,.modern-roadmap-picker-dropdown[open]>.modern-roadmap-picker-button{border-color:var(--border-default);background:var(--surface-2);color:var(--text-primary)}.modern-roadmap-picker-dropdown[open] .modern-roadmap-picker-button svg:last-child{transform:rotate(180deg)}.modern-roadmap-picker-menu{position:absolute;left:0;top:calc(100% + var(--sp-1));z-index:var(--z-dropdown);min-width:220px;max-height:320px;overflow-y:auto;border:var(--border-w-sm) solid var(--border-default);border-radius:var(--roadmap-radius);background:var(--surface-1);box-shadow:var(--shadow-lg);padding:var(--sp-1)}.modern-roadmap-picker-dropdown.level .modern-roadmap-picker-menu{min-width:150px}.modern-roadmap-picker-menu a{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);border-radius:var(--roadmap-radius);color:var(--text-secondary);padding:0 var(--roadmap-control-px);font-size:var(--roadmap-text-body);text-decoration:none;white-space:nowrap}.modern-roadmap-picker-menu a:hover{background:var(--surface-2);color:var(--text-primary)}.modern-roadmap-picker-menu a[aria-current=page]{background:var(--color-action-soft);color:var(--color-action-strong);font-weight:var(--fw-medium)}.modern-roadmap-selector-status{width:9px;height:9px;flex:0 0 auto;box-sizing:border-box;border:var(--border-w-sm) solid transparent;border-radius:50%;background:var(--text-subtle);box-shadow:0 0 0 2px var(--surface-1)}.modern-roadmap-selector-status.is-status-completed{border-color:var(--roadmap-status-completed-fill);background:var(--roadmap-status-completed-fill)}.modern-roadmap-selector-status.is-status-enrolled{border-color:var(--roadmap-status-enrolled-fill);background:var(--roadmap-status-enrolled-fill)}.modern-roadmap-selector-status.is-status-not-started,.modern-roadmap-selector-status.is-status-partial{border-color:var(--roadmap-status-warning-border);background:var(--roadmap-status-warning-fill)}.modern-roadmap-picker-separator{color:var(--text-muted)}.modern-roadmap-content,.modern-roadmap-hero,.modern-roadmap-module-card,.modern-roadmap-state{border:var(--border-w-sm) solid var(--border-subtle);border-radius:var(--roadmap-radius);background:var(--surface-1);box-shadow:0 1px 2px color-mix(in srgb,var(--text-primary) 4%,transparent)}.modern-roadmap-hero{width:100%;max-width:100%;min-width:0;box-sizing:border-box;display:grid;gap:var(--roadmap-section-heading-gap);padding:var(--roadmap-object-py) var(--roadmap-control-px);background:var(--surface-page)}.modern-roadmap-state{min-height:180px;display:grid;align-content:center;justify-items:center;gap:var(--sp-3);padding:var(--sp-6);text-align:center}.modern-roadmap-state svg{color:var(--color-action)}.modern-roadmap-state strong{color:var(--text-primary);font-size:var(--roadmap-text-title);line-height:var(--roadmap-leading-title)}.modern-roadmap-state span{max-width:56ch;color:var(--text-secondary);font-size:var(--roadmap-text-body);line-height:var(--roadmap-leading-body)}.modern-roadmap-loading{min-height:55vh;align-content:center;justify-content:center;border-color:transparent;background:transparent;box-shadow:none;padding:0}.modern-roadmap-hero-heading{height:var(--roadmap-topic-meter-size);flex:0 0 auto;display:inline-flex;align-items:center;gap:.35em;line-height:var(--roadmap-leading-topic);white-space:nowrap}.modern-roadmap-hero-title{flex:0 0 auto;height:100%;display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:var(--roadmap-text-topic);line-height:inherit}.modern-roadmap-hero-title svg{width:var(--roadmap-topic-meter-size);height:var(--roadmap-topic-meter-size);color:var(--text-secondary)}.modern-roadmap-hero-count{flex:0 0 auto;height:100%;display:inline-flex;align-items:center;color:var(--text-secondary);font-size:var(--roadmap-text-topic);font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:inherit}.modern-roadmap-topic-progress{width:100%;min-height:var(--roadmap-topic-meter-size);min-width:0;max-width:100%;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px;overflow:visible;contain:paint;padding:0}.modern-roadmap-topic-progress-dot{--roadmap-status-glow:color-mix(in srgb,var(--text-muted) 16%,transparent);appearance:none;box-sizing:border-box;width:var(--roadmap-topic-dot-size);height:var(--roadmap-topic-dot-size);flex:0 0 auto;border:var(--border-w-sm) solid var(--border-default);border-radius:50%;background:var(--surface-1);cursor:pointer;padding:0;overflow:hidden;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.modern-roadmap-topic-progress-dot:hover{box-shadow:0 0 0 3px var(--roadmap-status-glow);transform:translateY(-1px)}.modern-roadmap-topic-progress-dot:focus-visible{outline:var(--border-w-md) solid var(--border-focus);outline-offset:2px}.modern-roadmap-topic-progress-dot.is-completed{--roadmap-status-glow:color-mix(in srgb,var(--roadmap-status-completed-fill) 20%,transparent);border:var(--border-w-sm) solid var(--roadmap-status-completed-fill);background:var(--roadmap-status-completed-fill)}.modern-roadmap-topic-progress-dot.is-in-progress{--roadmap-status-glow:color-mix(in srgb,var(--roadmap-status-enrolled-fill) 20%,transparent);border:var(--border-w-sm) solid var(--roadmap-status-enrolled-fill);background:var(--surface-1)}.modern-roadmap-topic-progress-dot.is-available{--roadmap-status-glow:color-mix(in srgb,var(--roadmap-status-warning-border) 22%,transparent);border:var(--border-w-sm) solid var(--roadmap-status-warning-border);background:var(--surface-1)}.modern-roadmap-topic-progress-dot.is-locked{--roadmap-status-glow:color-mix(in srgb,var(--text-subtle) 18%,transparent);background:var(--surface-2)}.modern-roadmap-topic-progress-dot.is-status-completed{--roadmap-status-glow:color-mix(in srgb,var(--roadmap-status-completed-fill) 20%,transparent);border-color:var(--roadmap-status-completed-fill);background:var(--roadmap-status-completed-fill)}.modern-roadmap-topic-progress-dot.is-status-enrolled{--roadmap-status-glow:color-mix(in srgb,var(--roadmap-status-enrolled-fill) 20%,transparent);border-color:var(--roadmap-status-enrolled-fill);background:var(--roadmap-status-enrolled-fill)}.modern-roadmap-topic-progress-dot.is-status-not-started,.modern-roadmap-topic-progress-dot.is-status-partial{--roadmap-status-glow:color-mix(in srgb,var(--roadmap-status-warning-border) 22%,transparent);border-color:var(--roadmap-status-warning-border);background:var(--surface-1)}.modern-roadmap-topic-progress-dot:not(.has-homework) .modern-roadmap-progress-half{display:none}.modern-roadmap-topic-progress-dot.has-homework{--roadmap-progress-pending-color:var(--roadmap-status-warning-border);position:relative;display:grid;grid-template-columns:1fr 1fr;border-color:transparent;background:var(--surface-1)}.modern-roadmap-topic-progress-dot.has-homework.is-status-completed{border-color:var(--roadmap-status-completed-fill)}.modern-roadmap-topic-progress-dot.has-homework.is-status-enrolled{--roadmap-progress-pending-color:var(--roadmap-status-enrolled-fill);border-color:transparent}.modern-roadmap-topic-progress-dot.has-homework.is-status-not-started,.modern-roadmap-topic-progress-dot.has-homework.is-status-partial{--roadmap-progress-pending-color:var(--roadmap-status-warning-border);border-color:transparent}.modern-roadmap-progress-half{position:relative;min-width:0;min-height:0;box-sizing:border-box;background:transparent}.modern-roadmap-progress-half.is-completed{background:var(--roadmap-status-completed-fill)}.modern-roadmap-progress-half.is-pending{border:var(--border-w-sm) solid var(--roadmap-progress-pending-color);background:transparent}.modern-roadmap-progress-half.attendance.is-pending{border-right:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.modern-roadmap-progress-half.homework.is-pending{border-left:0;border-radius:0 var(--radius-pill) var(--radius-pill) 0}.modern-roadmap-topic-progress-dot.has-homework.is-status-enrolled:hover,.modern-roadmap-topic-progress-dot.has-homework.is-status-not-started:hover,.modern-roadmap-topic-progress-dot.has-homework.is-status-partial:hover{box-shadow:0 0 0 3px var(--roadmap-status-glow)}.modern-roadmap-topic-progress-dot.has-homework.is-status-enrolled:hover .modern-roadmap-progress-half.is-pending{background:color-mix(in srgb,var(--roadmap-status-enrolled-fill) 10%,transparent);border-color:var(--roadmap-status-enrolled-fill)}.modern-roadmap-topic-progress-dot.has-homework.is-status-not-started:hover .modern-roadmap-progress-half.is-pending,.modern-roadmap-topic-progress-dot.has-homework.is-status-partial:hover .modern-roadmap-progress-half.is-pending{background:color-mix(in srgb,var(--roadmap-status-warning-border) 12%,transparent);border-color:var(--roadmap-status-warning-border)}.modern-roadmap-module-card.is-roadmap-highlighted,.modern-roadmap-topic-row.is-roadmap-highlighted{--roadmap-highlight-border:var(--roadmap-status-warning-border);--roadmap-highlight-ring:color-mix(in srgb,var(--roadmap-status-warning-border) 18%,transparent);--roadmap-highlight-bg:var(--roadmap-status-warning-soft);animation:roadmap-target-flash 1.2s ease-out}.modern-roadmap-module-card.is-completed.is-roadmap-highlighted,.modern-roadmap-topic-row.is-completed.is-roadmap-highlighted{--roadmap-highlight-border:var(--roadmap-status-completed-fill);--roadmap-highlight-ring:color-mix(in srgb,var(--roadmap-status-completed-fill) 18%,transparent);--roadmap-highlight-bg:var(--roadmap-status-completed-soft)}.modern-roadmap-module-card.is-in-progress.is-roadmap-highlighted,.modern-roadmap-topic-row.is-in-progress.is-roadmap-highlighted{--roadmap-highlight-border:var(--roadmap-status-enrolled-fill);--roadmap-highlight-ring:color-mix(in srgb,var(--roadmap-status-enrolled-fill) 18%,transparent);--roadmap-highlight-bg:var(--roadmap-status-enrolled-soft)}.modern-roadmap-module-card.is-locked.is-roadmap-highlighted,.modern-roadmap-topic-row.is-locked.is-roadmap-highlighted{--roadmap-highlight-border:var(--text-subtle);--roadmap-highlight-ring:color-mix(in srgb,var(--text-subtle) 18%,transparent);--roadmap-highlight-bg:var(--surface-2)}@keyframes roadmap-target-flash{0%,55%{border-color:var(--roadmap-highlight-border);box-shadow:0 0 0 4px var(--roadmap-highlight-ring);background:var(--roadmap-highlight-bg)}to{box-shadow:none}}.modern-roadmap-loading .spinner-status{display:inline-flex}.modern-roadmap-loading-label{color:var(--text-secondary);font-size:var(--roadmap-text-body)}.modern-roadmap-content{min-width:0;display:grid;gap:12px;margin-top:10px;background:transparent;border-color:transparent;box-shadow:none}.modern-roadmap-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.modern-roadmap-mode-tabs{width:fit-content;min-width:0;max-width:100%;background:var(--surface-2);padding:2px;overflow-x:auto}.modern-roadmap-mode-tab,.modern-roadmap-mode-tabs{display:inline-flex;border-radius:var(--roadmap-radius)}.modern-roadmap-mode-tab{height:var(--roadmap-control-height);align-items:center;gap:6px;color:var(--text-secondary);padding:0 var(--roadmap-control-px);font-size:var(--roadmap-text-body);font-weight:var(--fw-medium);line-height:var(--roadmap-control-height);text-decoration:none;white-space:nowrap}.modern-roadmap-mode-tab[aria-current=page]{background:var(--surface-1);color:var(--text-primary);box-shadow:0 1px 1px color-mix(in srgb,var(--text-primary) 7%,transparent)}.modern-roadmap-context-filter{position:relative;flex:0 0 auto}.modern-roadmap-context-filter>summary{height:var(--roadmap-control-height);display:inline-flex;align-items:center;gap:6px;border:var(--border-w-sm) solid var(--border-subtle);border-radius:var(--roadmap-radius);background:var(--surface-1);color:var(--text-secondary);padding:0 var(--roadmap-control-px);font-size:var(--roadmap-text-body);font-weight:var(--fw-medium);line-height:var(--roadmap-control-height);cursor:pointer;list-style:none;white-space:nowrap}.modern-roadmap-context-filter>summary::-webkit-details-marker{display:none}.modern-roadmap-context-filter>summary:hover,.modern-roadmap-context-filter[open]>summary{border-color:var(--border-default);background:var(--surface-2);color:var(--text-primary)}.modern-roadmap-context-filter[open]>summary svg:last-child{transform:rotate(180deg)}.modern-roadmap-context-filter>div{position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-dropdown);min-width:132px;border:var(--border-w-sm) solid var(--border-subtle);border-radius:var(--roadmap-radius);background:var(--surface-1);box-shadow:0 10px 24px color-mix(in srgb,var(--text-primary) 10%,transparent);padding:4px}.modern-roadmap-context-filter a{min-height:34px;display:flex;align-items:center;border-radius:var(--roadmap-radius);color:var(--text-secondary);padding:0 var(--roadmap-control-px);font-size:var(--roadmap-text-body);text-decoration:none}.modern-roadmap-context-filter a:hover{background:var(--surface-2);color:var(--text-primary)}.modern-roadmap-context-filter a[aria-current=page]{background:var(--color-action-soft);color:var(--color-action-strong)}.modern-roadmap-module-nav-frame{box-sizing:border-box;display:grid;gap:var(--roadmap-section-heading-gap);min-width:0;border:var(--border-w-sm) solid var(--border-subtle);border-radius:var(--roadmap-radius);background:var(--surface-page);box-shadow:var(--shadow-sm);padding:var(--roadmap-object-py) var(--roadmap-control-px)}.modern-roadmap-module-nav-heading{justify-self:start}.modern-roadmap-module-nav-body{position:relative;min-width:0}.modern-roadmap-module-nav{--visible-module-chips:6;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--visible-module-chips) - 1) * var(--sp-2)) / var(--visible-module-chips));gap:var(--sp-2);overflow-x:auto;padding-bottom:2px;scroll-snap-type:x proximity;scrollbar-width:none}.modern-roadmap-module-nav::-webkit-scrollbar{display:none}.modern-roadmap-module-nav-body:after,.modern-roadmap-module-nav-body:before{content:"";position:absolute;top:0;bottom:2px;z-index:1;width:28px;display:none;pointer-events:none}.modern-roadmap-module-nav-body:before{left:0;background:linear-gradient(90deg,var(--surface-page),transparent)}.modern-roadmap-module-nav-body:after{right:0;background:linear-gradient(270deg,var(--surface-page),transparent)}.modern-roadmap-module-nav-frame[data-roadmap-scroll-end=false] .modern-roadmap-module-nav-body:after,.modern-roadmap-module-nav-frame[data-roadmap-scroll-start=false] .modern-roadmap-module-nav-body:before{display:block}.modern-roadmap-module-nav-arrow{position:absolute;top:50%;z-index:3;width:30px;height:30px;display:grid;place-items:center;border:var(--border-w-sm) solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-page);color:var(--text-muted);box-shadow:var(--shadow-sm);cursor:pointer;padding:0;touch-action:manipulation;transform:translateY(-50%)}.modern-roadmap-module-nav-arrow[hidden]{display:none}.modern-roadmap-module-nav-arrow:hover{border-color:var(--border-default);background:var(--surface-1);color:var(--text-primary)}.modern-roadmap-module-nav-arrow:focus-visible{outline:var(--border-w-md) solid var(--border-focus);outline-offset:2px}.modern-roadmap-module-nav-arrow.left{left:0}.modern-roadmap-module-nav-arrow.right{right:0}.modern-roadmap-module-nav-arrow svg{width:16px;height:16px;stroke-width:2}.modern-roadmap-module-chip{border:var(--border-w-sm) solid var(--border-subtle);border-radius:var(--roadmap-radius);background:var(--surface-page);color:var(--text-secondary);font:inherit;text-decoration:none;text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.modern-roadmap-module-chip:hover{border-color:var(--border-default);background:var(--surface-1)}.modern-roadmap-module-chip.is-in-progress{border-color:var(--state-info);background:var(--surface-page);box-shadow:none}.modern-roadmap-module-chip.is-in-progress:hover{border-color:var(--state-info);background:var(--surface-1)}.modern-roadmap-module-chip:focus-visible{outline:var(--border-w-md) solid var(--border-focus);outline-offset:2px}.modern-roadmap-module-chip{display:grid;gap:2px;padding:var(--roadmap-object-py) var(--roadmap-control-px);scroll-snap-align:start}.modern-roadmap-module-chip span{color:var(--text-primary);font-size:var(--roadmap-text-body);overflow:hidden;text-overflow:ellipsis;line-height:var(--roadmap-leading-body);white-space:nowrap}.modern-roadmap-module-chip small{color:var(--text-muted);font-size:var(--roadmap-text-meta);line-height:var(--roadmap-leading-meta)}.modern-roadmap-module-chip small.is-completed{color:var(--roadmap-status-completed-text)}.modern-roadmap-module-chip.is-completed,.modern-roadmap-module-chip.is-completed:hover{border-color:var(--roadmap-status-completed-fill)}.modern-roadmap-module-chip.is-available{border-color:var(--roadmap-status-warning-border);background:var(--surface-page)}.modern-roadmap-module-chip.is-available:hover{border-color:var(--roadmap-status-warning-border);background:var(--surface-1)}.modern-roadmap-module-chip.is-status-completed{border-color:var(--roadmap-status-completed-fill)}.modern-roadmap-module-chip.is-status-enrolled{border-color:var(--roadmap-status-enrolled-fill)}.modern-roadmap-module-chip.is-status-not-started,.modern-roadmap-module-chip.is-status-partial{border-color:var(--roadmap-status-warning-border);background:var(--surface-page)}.modern-roadmap-module-chip.is-status-completed:hover{border-color:var(--roadmap-status-completed-fill)}.modern-roadmap-module-chip.is-status-enrolled:hover{border-color:var(--roadmap-status-enrolled-fill)}.modern-roadmap-module-chip.is-status-not-started:hover,.modern-roadmap-module-chip.is-status-partial:hover{border-color:var(--roadmap-status-warning-border);background:var(--surface-1)}.modern-roadmap-module-stack,.modern-roadmap-topic-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.modern-roadmap-module-card{width:100%;min-width:0;box-sizing:border-box;overflow:hidden;scroll-margin-top:var(--sp-5)}.modern-roadmap-module-summary{list-style:none;cursor:pointer}.modern-roadmap-module-summary::-webkit-details-marker{display:none}.modern-roadmap-module-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:var(--roadmap-object-py) var(--roadmap-control-px);transition:background var(--duration-fast) var(--ease-out)}.modern-roadmap-module-summary:hover{background:var(--surface-2)}.modern-roadmap-module-status-dot{box-sizing:border-box;width:var(--roadmap-module-dot-size);height:var(--roadmap-module-dot-size);border:var(--border-w-sm) solid var(--border-default);border-radius:4px;background:var(--surface-1)}.modern-roadmap-module-card.is-completed .modern-roadmap-module-status-dot{border:var(--border-w-sm) solid var(--roadmap-status-completed-fill);background:var(--roadmap-status-completed-fill)}.modern-roadmap-module-card.is-in-progress .modern-roadmap-module-status-dot{border:var(--border-w-sm) solid var(--roadmap-status-enrolled-fill);background:var(--surface-1)}.modern-roadmap-module-card.is-available .modern-roadmap-module-status-dot{border:var(--border-w-sm) solid var(--roadmap-status-warning-border);background:var(--surface-1)}.modern-roadmap-module-card.is-status-completed .modern-roadmap-module-status-dot{border-color:var(--roadmap-status-completed-fill);background:var(--roadmap-status-completed-fill)}.modern-roadmap-module-card.is-status-enrolled .modern-roadmap-module-status-dot{border-color:var(--roadmap-status-enrolled-fill);background:var(--roadmap-status-enrolled-fill)}.modern-roadmap-module-card.is-status-not-started .modern-roadmap-module-status-dot,.modern-roadmap-module-card.is-status-partial .modern-roadmap-module-status-dot{border-color:var(--roadmap-status-warning-border);background:var(--surface-1)}.modern-roadmap-module-title{min-width:0;overflow:hidden}.modern-roadmap-module-title>span:first-child{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-primary);font-size:var(--roadmap-text-title);line-height:var(--roadmap-leading-title);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-roadmap-module-meta{display:inline-flex;align-items:center;color:var(--text-secondary);font-size:var(--roadmap-text-meta);line-height:var(--roadmap-leading-meta);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.modern-roadmap-module-card.is-completed .modern-roadmap-module-meta{color:var(--state-success-text)}.modern-roadmap-module-card[open]>.modern-roadmap-module-summary>svg{transform:rotate(180deg)}.modern-roadmap-module-summary>svg{color:var(--text-subtle);transition:transform var(--duration-fast) var(--ease-out)}.modern-roadmap-topic-list{box-sizing:border-box;border-top:var(--border-w-sm) solid var(--border-subtle);background:var(--surface-page);padding:var(--roadmap-object-py) var(--roadmap-control-px)}.modern-roadmap-topic-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}.modern-roadmap-topic-row{position:relative;width:100%;box-sizing:border-box;min-height:37px;display:flex;align-items:center;gap:9px;border:var(--border-w-sm) solid var(--border-subtle);border-radius:var(--roadmap-radius);background:var(--surface-1);padding:var(--roadmap-object-py) var(--roadmap-control-px) var(--roadmap-object-py) 18px;color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.modern-roadmap-topic-row:hover{border-color:var(--border-default);background:var(--surface-2)}.modern-roadmap-topic-row:disabled{cursor:not-allowed;opacity:.56}.modern-roadmap-topic-row-stripe{position:absolute;inset:6px auto 6px 6px;box-sizing:border-box;width:4px;border:var(--border-w-sm) solid var(--border-default);border-radius:var(--radius-pill);background:transparent}.modern-roadmap-topic-row-stripe.has-progress-parts{display:grid;grid-template-rows:minmax(0,1fr);gap:0;overflow:hidden;border:0}.modern-roadmap-topic-row-stripe.has-progress-parts.has-homework{grid-template-rows:repeat(2,minmax(0,1fr))}.modern-roadmap-topic-row-stripe-part{box-sizing:border-box;min-width:0;min-height:0;border:var(--border-w-sm) solid var(--roadmap-status-warning-border);background:transparent}.modern-roadmap-topic-row-stripe-part.attendance{border-radius:var(--radius-pill)}.modern-roadmap-topic-row-stripe.has-homework .modern-roadmap-topic-row-stripe-part.attendance{border-radius:var(--radius-pill) var(--radius-pill) 0 0;border-bottom-width:0}.modern-roadmap-topic-row-stripe-part.homework{border-radius:0 0 var(--radius-pill) var(--radius-pill)}.modern-roadmap-topic-row-stripe.has-homework .modern-roadmap-topic-row-stripe-part.homework{border-top-width:0}.modern-roadmap-topic-row-stripe-part.is-completed{border-color:var(--roadmap-status-completed-fill);background:var(--roadmap-status-completed-fill)}.modern-roadmap-topic-row-stripe-part.is-pending{border-color:var(--roadmap-status-warning-border)}.modern-roadmap-topic-row.is-status-enrolled .modern-roadmap-topic-row-stripe-part.is-pending{border-color:var(--roadmap-status-enrolled-fill);background:transparent}.modern-roadmap-topic-row.is-completed .modern-roadmap-topic-row-stripe{border-color:var(--roadmap-status-completed-fill)}.modern-roadmap-topic-row.is-in-progress .modern-roadmap-topic-row-stripe{border-color:var(--roadmap-status-enrolled-fill)}.modern-roadmap-topic-row.is-available .modern-roadmap-topic-row-stripe{border-color:var(--roadmap-status-warning-border)}.modern-roadmap-topic-row.is-status-completed .modern-roadmap-topic-row-stripe{border-color:var(--roadmap-status-completed-fill)}.modern-roadmap-topic-row.is-status-enrolled .modern-roadmap-topic-row-stripe{border-color:var(--roadmap-status-enrolled-fill)}.modern-roadmap-topic-row.is-status-not-started .modern-roadmap-topic-row-stripe,.modern-roadmap-topic-row.is-status-partial .modern-roadmap-topic-row-stripe{border-color:var(--roadmap-status-warning-border)}.modern-roadmap-topic-row-main{flex:1 1 auto;align-self:center;min-width:0;display:grid;gap:2px}.modern-roadmap-topic-row-title{min-width:0;display:flex;align-items:center;gap:var(--sp-2)}.modern-roadmap-topic-row-title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--roadmap-text-topic);line-height:var(--roadmap-leading-topic);font-weight:400}.modern-roadmap-topic-row-state{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--roadmap-text-meta);line-height:var(--roadmap-leading-meta)}.modern-roadmap-topic-row.is-completed .modern-roadmap-topic-row-state{color:var(--roadmap-status-completed-fill)}.modern-roadmap-topic-row.is-in-progress .modern-roadmap-topic-row-state{color:var(--roadmap-status-enrolled-fill)}.modern-roadmap-topic-row.is-available .modern-roadmap-topic-row-state{min-height:auto;border:0;background:transparent;color:var(--roadmap-status-warning-border);padding:0;font-weight:var(--fw-medium);line-height:var(--roadmap-leading-meta)}.modern-roadmap-topic-row.is-status-completed .modern-roadmap-topic-row-state{color:var(--roadmap-status-completed-fill)}.modern-roadmap-topic-row.is-status-enrolled .modern-roadmap-topic-row-state{color:var(--roadmap-status-enrolled-fill)}.modern-roadmap-topic-row.is-status-not-started .modern-roadmap-topic-row-state,.modern-roadmap-topic-row.is-status-partial .modern-roadmap-topic-row-state{color:var(--roadmap-status-warning-border)}.modern-roadmap-topic-row.is-available:hover .modern-roadmap-topic-row-state{background:transparent}.modern-roadmap-topic-progress-chip{min-height:28px;display:inline-grid;grid-auto-flow:column;align-items:stretch;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--roadmap-radius);background:var(--surface-page);color:var(--text-secondary);font-size:var(--roadmap-text-meta);line-height:26px}.modern-roadmap-topic-progress-chip>span{min-width:0;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sp-2);white-space:nowrap}.modern-roadmap-topic-progress-chip.has-homework>span+span{border-left:1px solid var(--border-default)}.modern-roadmap-topic-progress-chip>span.is-completed{background:var(--roadmap-status-completed-soft);color:var(--roadmap-status-completed-text)}.modern-roadmap-topic-progress-chip>span.is-pending{background:var(--roadmap-status-warning-fill);color:var(--roadmap-status-warning-text)}.modern-roadmap-dialog-body{overflow-y:auto;padding:3px 16px 12px}.modern-roadmap-dialog-body>p{padding:0 0 6px;color:var(--text-muted);font-size:var(--roadmap-text-meta);line-height:var(--roadmap-leading-meta)}.modern-roadmap-dialog-session{min-height:40px;display:flex;align-items:center;gap:var(--sp-2);border-bottom:var(--border-w-sm) solid var(--border-subtle);padding:9px 0}.modern-roadmap-dialog-session:last-child{border-bottom:0}.modern-roadmap-dialog-session-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:var(--roadmap-radius);background:var(--surface-2);color:var(--text-secondary)}.modern-roadmap-dialog-session-main{flex:1 1 auto;min-width:0;display:grid;gap:0}.modern-roadmap-dialog-session-main strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:var(--roadmap-text-body);line-height:19px;font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap}.modern-roadmap-dialog-session-main small{min-width:0;overflow:hidden;color:var(--text-muted);font-size:var(--roadmap-text-meta);line-height:17px;text-overflow:ellipsis;white-space:nowrap}.modern-roadmap-dialog-session-main small.is-warning{color:var(--state-warning)}.modern-roadmap-dialog-session-side{flex:0 0 auto;display:flex;align-items:center;gap:var(--sp-2)}.modern-roadmap-dialog-session-side>svg{color:var(--state-success)}.modern-roadmap-dialog-session-side a,.modern-roadmap-dialog-session-side button,.modern-roadmap-dialog-session-side>span:not(.modern-roadmap-dialog-badge){min-height:26px;display:inline-flex;align-items:center;border:var(--border-w-sm) solid var(--border-default);border-radius:var(--roadmap-radius);background:var(--surface-1);color:var(--text-primary);padding:0 10px;font-size:var(--roadmap-text-meta);line-height:var(--roadmap-leading-meta);text-decoration:none}.modern-roadmap-dialog-session-side button{cursor:pointer}.modern-roadmap-dialog-session-side button:disabled{cursor:wait;opacity:.7}.modern-roadmap-dialog-badge{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-pill);padding:2px 7px;font-size:var(--roadmap-text-meta);line-height:var(--roadmap-leading-meta)}.modern-roadmap-dialog-badge.completed{background:var(--state-success-bg);color:var(--state-success-text)}.modern-roadmap-dialog-badge.enrolled{background:var(--state-info-bg);color:var(--state-info-text)}.modern-roadmap-dialog-badge.past{background:var(--surface-2);color:var(--text-secondary)}.modern-roadmap-dialog-session-side a.modern-roadmap-dialog-details-link{min-height:auto;border:0;border-radius:0;background:transparent;color:var(--text-secondary);padding:0;font-weight:var(--fw-medium);line-height:var(--roadmap-leading-meta)}.modern-roadmap-dialog-session-side a.modern-roadmap-dialog-details-link:hover{color:var(--text-primary);text-decoration:underline}.modern-roadmap-dialog-empty{min-height:96px;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--text-muted);font-size:var(--roadmap-text-body);line-height:var(--roadmap-leading-body)}@media (min-width:981px){.modern-roadmap-container{padding:var(--sp-5) var(--sp-5) var(--sp-8)}}@media (max-width:980px){.modern-roadmap-module-nav{--visible-module-chips:4}}@media (max-width:640px){html{overflow-y:scroll;scrollbar-gutter:stable both-edges}.modern-roadmap-container{padding-left:12px;padding-right:12px}.modern-roadmap-controls{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);justify-items:start}.modern-roadmap-module-nav{--visible-module-chips:2.6}.modern-roadmap-hero{padding:var(--roadmap-object-py) var(--roadmap-control-px)}.modern-roadmap-topic-progress{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;overflow:visible}.modern-roadmap-mode-tabs{width:fit-content;min-width:0;max-width:100%;scrollbar-width:none}.modern-roadmap-mode-tabs::-webkit-scrollbar{display:none}.modern-roadmap-context-filter{min-width:0}.modern-roadmap-module-summary{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"status title icon" "status meta icon";column-gap:9px;row-gap:2px;padding:var(--roadmap-object-py) var(--roadmap-control-px)}.modern-roadmap-module-status-dot{grid-area:status;align-self:start;margin-top:5px}.modern-roadmap-module-title{grid-area:title}.modern-roadmap-module-title>span:first-child{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.modern-roadmap-module-meta{grid-area:meta;justify-self:start;margin-top:0}.modern-roadmap-module-summary>svg{grid-area:icon}.modern-roadmap-module-nav-arrow{width:36px;height:36px}.modern-roadmap-module-chip{gap:0}.modern-roadmap-topic-progress-dot{position:relative;width:var(--roadmap-topic-dot-size);height:var(--roadmap-topic-dot-size);border:var(--border-w-sm) solid var(--border-default);background:var(--surface-1)}.modern-roadmap-topic-progress-dot:hover{box-shadow:0 0 0 3px var(--roadmap-status-glow);transform:translateY(-1px)}.modern-roadmap-topic-progress-dot:before{content:none}.modern-roadmap-topic-progress-dot:hover:before{box-shadow:none;transform:none}.modern-roadmap-topic-progress-dot:active:before{transform:none}.modern-roadmap-topic-progress-dot.has-homework{width:var(--roadmap-topic-dot-size);height:var(--roadmap-topic-dot-size);display:grid;grid-template-columns:1fr 1fr;border-color:transparent;background:var(--surface-1)}.modern-roadmap-topic-progress-dot.has-homework:after,.modern-roadmap-topic-progress-dot.has-homework:before{content:none}.modern-roadmap-topic-list{padding:var(--roadmap-object-py) var(--roadmap-control-px)}.modern-roadmap-topic-row-title{display:grid;gap:2px}.modern-roadmap-topic-row-title>span{white-space:normal}}