:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-gutter:stable;color:var(--text-primary);background:var(--surface);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color:#9bbaff;--primary-hover:#c3d5ff;--background:#131e30;--surface:#0c1424;--surface-hover:#22324b;--border:#35445b;--control-border:#7b8aa4;--connector:#63738e;--text-primary:#e4ecf8;--text-secondary:#b0bfd4;--text-muted:#99aac1;--radius:8px;--radius-lg:12px;--branch-color:#b3ceff;--branch-tint:#1e304d;--branch-border:#425f86;--certification-color:#d9c5f7;--certification-tint:#342641;--certification-border:#6f528a;--company-color:#a6dbc5;--company-tint:#1b362f;--company-border:#45695a;font-family:Avenir Next,Segoe UI,system-ui,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary-color:#2454bf;--primary-hover:#173e97;--background:#fff;--surface:#f5f7fb;--surface-hover:#edf1f8;--border:#d6deea;--control-border:#7d8da5;--connector:#7d8da5;--text-primary:#1b2b43;--text-secondary:#52617a;--text-muted:#617089;--branch-color:#284f9d;--branch-tint:#e8efff;--branch-border:#c6d5f1;--certification-color:#62428c;--certification-tint:#eee7f8;--certification-border:#d9caec;--company-color:#215d4c;--company-tint:#e0f0e9;--company-border:#bedccf}*{box-sizing:border-box}body{min-width:0;margin:0;line-height:1.6}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{text-wrap:balance}button,input{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}a{color:var(--primary-color);text-underline-offset:4px}a:hover{color:var(--primary-hover)}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px}[hidden]{display:none!important}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;border-radius:var(--radius);background:var(--text-primary);color:var(--background);padding:12px 20px;position:absolute;top:12px;left:16px;transform:translateY(-180%)}.skip-link:focus{color:var(--background);transform:translateY(0)}.icon-button{border-radius:var(--radius);flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.icon-button:hover{background:var(--surface-hover)}.text-button{min-height:44px;color:var(--primary-color);text-underline-offset:4px;font-weight:650;text-decoration:underline}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app{min-height:100vh}.main-content{max-width:1600px;margin:0 auto;padding:52px 48px 36px}.page-intro{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px;display:flex}.page-intro h1{letter-spacing:-.035em;max-width:760px;font-size:clamp(2rem,3.4vw,3.1rem);font-weight:750;line-height:1.12}.page-intro p{color:var(--text-secondary);margin-top:14px;font-size:1rem}.page-intro .roadmap-overview{flex-shrink:0;margin:0 0 3px;font-size:.8125rem}.roadmap-workspace{align-items:start;gap:28px;display:grid}.atlas-pane{min-width:0}.roadmap-search{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.search-field{border:1px solid var(--control-border);border-radius:var(--radius);background:var(--background);width:min(100%,470px);min-width:0;min-height:52px;color:var(--text-secondary);align-items:center;gap:10px;padding:3px 6px 3px 16px;display:flex}.search-field:focus-within{border-color:var(--primary-color);outline:2px solid var(--primary-color);outline-offset:2px}.search-field input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:none;padding:8px 0;font-size:.9375rem}.search-field input::placeholder{color:var(--text-muted);opacity:1}.search-field input::-webkit-search-cancel-button{-webkit-appearance:none}.search-status{color:var(--text-secondary);font-size:.8125rem}.atlas-origin{justify-content:center;margin-bottom:28px;display:flex;position:relative}.atlas-origin>span{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);align-items:center;gap:10px;padding:10px 20px;font-size:.875rem;font-weight:650;display:inline-flex}.atlas-origin svg{color:var(--primary-color)}.atlas-origin:after{content:"";background:var(--connector);width:1px;height:28px;position:absolute;top:100%;left:50%}.roadmap-sections{grid-template-columns:repeat(var(--branch-count), minmax(0, 1fr));column-gap:28px;display:grid}.branch-certifications{--branch-color:var(--certification-color);--branch-tint:var(--certification-tint);--branch-border:var(--certification-border)}.branch-company{--branch-color:var(--company-color);--branch-tint:var(--company-tint);--branch-border:var(--company-border)}.atlas-note{color:var(--text-secondary);margin-top:32px;font-size:.8125rem}.empty-search{text-align:center;border-block:1px solid var(--border);padding:64px 24px}.empty-search>svg{width:28px;height:28px;color:var(--text-muted);margin-bottom:12px}.empty-search h2{margin-bottom:8px;font-size:1.5rem}.empty-search p{color:var(--text-secondary);margin-bottom:12px}@media (width<=1180px){.page-intro{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=900px){.main-content{padding-inline:28px}.roadmap-search{flex-direction:column;align-items:stretch;gap:10px}.search-field{width:100%}.roadmap-sections{grid-template-columns:minmax(0,1fr);gap:28px}}@media (width<=580px){.main-content{padding:32px 20px 24px}.page-intro{margin-bottom:24px}.page-intro h1{max-width:440px}.page-intro p{font-size:.9375rem}.atlas-origin{justify-content:flex-start}.atlas-origin:after{left:24px}}.header{background:var(--background);border-bottom:1px solid var(--border)}.header-content{justify-content:space-between;align-items:center;gap:24px;max-width:1600px;margin:0 auto;padding:20px 48px;display:flex}.header-brand{min-height:44px;color:var(--text-primary);letter-spacing:-.015em;align-items:center;gap:12px;font-size:.9375rem;font-weight:750;line-height:1.3;text-decoration:none;display:inline-flex}.header-brand img{flex-shrink:0}.brand-subtitle{color:var(--text-secondary);letter-spacing:0;margin-top:3px;font-size:.75rem;font-weight:500;display:block}.header-links{align-items:center;gap:24px;font-size:.8125rem;font-weight:600;display:flex}.header-links a{min-height:44px;color:var(--text-secondary);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.header-links a:hover{color:var(--primary-color)}.header-links .contribute-link{border:1px solid var(--control-border);border-radius:var(--radius);color:var(--text-primary);padding:8px 16px}.contribute-link:hover{border-color:var(--primary-color)}.theme-toggle{border:1px solid var(--control-border);color:var(--text-secondary)}:root[data-theme=dark] .theme-toggle{color:var(--primary-color)}@media (width<=900px){.header-content{padding-inline:28px}}@media (width<=580px){.header-content{flex-wrap:wrap;gap:16px;padding:16px 20px}.header-links{gap:16px}}.topic-item{margin-bottom:12px;position:relative}.topic-item:before{content:"";background:var(--connector);width:20px;height:1px;position:absolute;top:28px;left:-21px}.topic-item:last-child{margin-bottom:0}.topic-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text-primary);padding:16px;text-decoration:none;transition:border-color .15s;display:block}.topic-card:hover,.topic-card[aria-current=true]{border-color:var(--branch-color);color:var(--branch-color)}.topic-card[aria-current=true]{background:var(--branch-tint)}.topic-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.topic-title{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:.9375rem;font-weight:700;line-height:1.4}.topic-arrow{width:17px;height:17px;color:var(--text-muted);margin-top:2px;transform:rotate(-90deg)}.topic-description{-webkit-line-clamp:2;color:var(--text-secondary);-webkit-box-orient:vertical;margin-top:7px;font-size:.8125rem;line-height:1.6;display:-webkit-box;overflow:hidden}.topic-count{color:var(--branch-color);margin-top:12px;font-size:.75rem;font-weight:550;display:block}.roadmap-section{min-width:0;padding-top:26px;position:relative}.roadmap-section:before,.roadmap-section:after{content:"";background:var(--connector);position:absolute}.roadmap-section:before{height:1px;top:0;left:-14px;right:-14px}.roadmap-section:first-child:before{left:50%}.roadmap-section:last-child:before{right:50%}.roadmap-section:after{width:1px;height:26px;top:0;left:50%}.section-header{margin-bottom:20px}.section-heading{border:1px solid var(--branch-border);border-radius:var(--radius);background:var(--branch-tint);min-height:82px;color:var(--branch-color);justify-content:space-between;align-items:center;gap:8px;padding:14px 14px 14px 18px;display:flex}.section-title{letter-spacing:-.02em;font-size:1.125rem;font-weight:700;line-height:1.3}.section-count{margin-top:4px;font-size:.75rem}.section-toggle:hover{background:var(--background)}.chevron-collapsed{transform:rotate(-90deg)}.section-description{min-height:3.2em;color:var(--text-secondary);margin-top:12px;font-size:.8125rem;line-height:1.6}.topics-list{border-left:1px solid var(--connector);margin:0 0 0 18px;padding:0 0 0 20px;list-style:none}@media (width<=900px){.roadmap-section{padding-top:0}.roadmap-section:before,.roadmap-section:after{display:none}.section-description{min-height:0}}.topic-details{overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);width:min(820px,100% - 48px);min-width:0;max-width:none;height:fit-content;max-height:calc(100dvh - 48px);color:var(--text-primary);margin:auto;padding:0;position:fixed;inset:0;overflow-y:auto;box-shadow:0 24px 80px #0000004d}.topic-details::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0409128c}.detail-toolbar{z-index:1;border-bottom:1px solid var(--border);background:var(--background);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:0}.detail-close{color:var(--text-secondary);margin-left:auto}.detail-close:hover{color:var(--primary-color)}.detail-section{color:var(--branch-color);font-size:.75rem}.detail-body{padding:26px}.detail-title{letter-spacing:-.03em;overflow-wrap:anywhere;margin-bottom:16px;scroll-margin-top:100px;font-size:1.875rem;line-height:1.2}.detail-description{max-width:70ch;color:var(--text-secondary);font-size:.9375rem;line-height:1.75}.detail-areas,.detail-resources{margin-top:32px}.topic-details h3{letter-spacing:-.015em;align-items:baseline;gap:10px;margin-bottom:16px;font-size:1rem;display:flex}.topic-details h3>span{color:var(--text-secondary);font-size:.75rem;font-weight:500}.key-areas-list,.resource-list{margin:0;padding:0;list-style:none}.key-areas-list li{border-top:1px solid var(--border);padding:14px 0}.key-areas-list h4{margin-bottom:4px;font-size:.875rem;font-weight:650}.key-areas-list p{color:var(--text-secondary);font-size:.8125rem;line-height:1.7}.resource-list a{border-top:1px solid var(--border);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:12px 0;font-size:.875rem;text-decoration:none;display:flex}.resource-list a:hover>span{text-decoration:underline}@media (prefers-reduced-motion:no-preference){.topic-details{animation:.16s ease-out reveal-topic}@keyframes reveal-topic{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}@media (width<=580px){.topic-details{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.detail-body{padding:24px 20px}.detail-title{font-size:1.65rem}}.footer{border-top:1px solid var(--border);margin-top:24px}.footer-content{justify-content:space-between;align-items:center;gap:24px;max-width:1600px;margin:0 auto;padding:28px 48px;display:flex}.footer-info p{color:var(--text-secondary);font-size:.8125rem}.footer-info .footer-note{color:var(--text-primary);margin-bottom:6px;font-size:.875rem;font-weight:650}.footer-link{color:var(--text-primary);font-weight:600}.contribute-button{border-radius:var(--radius);min-height:44px;color:var(--text-primary);align-items:center;gap:8px;padding:10px 0;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.contribute-button:hover{color:var(--primary-color)}@media (width<=900px){.footer-content{padding-inline:28px}}@media (width<=580px){.footer-content{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 20px}}
