:root{color:#f3f7fb;font-synthesis:none;text-rendering:optimizelegibility;background:#071018;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 18% 12%,#39c5bb38,#0000 28%),radial-gradient(circle at 86% 8%,#ff747429,#0000 24%),linear-gradient(145deg,#071018 0%,#0d1620 44%,#111720 100%);min-width:320px;min-height:100vh;margin:0}a{color:inherit}.app-shell{min-height:100vh;padding:0 22px 22px}.site-header{border-bottom:1px solid #bdd3e621;justify-content:space-between;align-items:center;width:100%;max-width:1780px;height:76px;margin:0 auto;display:flex}.brand,.header-link{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.brand{gap:10px}.brand-mark{color:#7be7dd;background:#7be7dd1a;border:1px solid #7be7dd57;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.brand strong{letter-spacing:-.02em;font-size:17px}.brand small{color:#7f91a3;border-left:1px solid #bdd3e62e;padding-left:10px;font-size:12px}.header-link,.hero-cta{gap:7px;font-size:13px;font-weight:750}.header-link{color:#b8c5d4}.hero-panel{grid-template-columns:minmax(0,1fr) minmax(420px,620px);align-items:center;gap:64px;max-width:1780px;min-height:430px;margin:0 auto;padding:58px 0 64px;display:grid}.title-block h1{letter-spacing:-.065em;max-width:900px;margin:18px 0 20px;font-size:clamp(48px,6vw,92px);line-height:.98}.title-block h1 em{color:#7be7dd;font-style:normal}.title-block p{color:#b8c5d4;max-width:800px;margin:0;font-size:16px;line-height:1.7}.eyebrow{color:#7be7dd;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.eyebrow span{background:#7be7dd;border-radius:50%;width:7px;height:7px;box-shadow:0 0 16px #7be7dd}.hero-cta{color:#071018;background:#7be7dd;border:1px solid #7be7dd4d;border-radius:8px;align-items:center;margin-top:26px;padding:12px 16px;text-decoration:none;display:inline-flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric{background:#0b1822b8;border:1px solid #bdd3e629;border-radius:8px;min-height:132px;padding:18px}.metric-icon{color:#7be7dd;display:inline-flex}.metric-value{margin-top:8px;font-size:32px;font-weight:800;display:block}.metric-label{color:#96a6b8;font-size:13px}.workspace{grid-template-columns:minmax(0,1fr) 490px;gap:18px;max-width:1780px;height:min(900px,100vh - 44px);min-height:680px;margin:0 auto;display:grid}.workspace-tabs{gap:8px;max-width:1780px;margin:-28px auto 18px;display:flex}.workspace-tabs button{color:#aebdcb;font:inherit;cursor:pointer;background:#09141db3;border:1px solid #bdd3e629;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:750}.workspace-tabs button:hover,.workspace-tabs button:focus-visible{color:#e7fffc;border-color:#7be7dd94;outline:none}.workspace-tabs button[aria-pressed=true]{color:#9df4eb;background:#7be7dd29;border-color:#7be7ddb8}.product-workspace{grid-template-columns:minmax(0,1fr) 490px;gap:18px;max-width:1780px;height:min(900px,100vh - 44px);min-height:680px;margin:0 auto;display:grid}.product-loading{max-width:1780px;margin:0 auto}.product-role-main{background:radial-gradient(circle at 12% 10%,#ffe06621,#0000 28%),radial-gradient(circle at 84% 18%,#4dd6ff1f,#0000 26%),#071018eb;border:1px solid #bdd3e629;border-radius:8px;min-height:0;padding:18px;overflow:auto;box-shadow:0 24px 80px #00000047}.product-role-summary{background:#09141db8;border:1px solid #bdd3e61f;border-radius:8px;justify-content:space-between;align-items:start;gap:18px;padding:18px;display:flex}.product-role-summary h2{color:#f7fbff;margin:0 0 8px;font-size:30px;line-height:1.15}.product-role-summary p:last-child{max-width:680px;margin-bottom:0}.product-role-stats{grid-template-columns:repeat(3,minmax(88px,1fr));gap:8px;min-width:min(360px,42%);display:grid}.product-role-stats span{background:#ffffff0f;border-radius:8px;padding:12px}.product-role-stats strong{color:#f7fbff;font-size:24px;display:block}.product-role-stats small{color:#8fa4b6;font-size:12px}.product-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.product-category-grid button{--role-color:#7be7dd;color:#dce8f4;min-height:132px;font:inherit;text-align:left;cursor:pointer;background:#09141dbd;border:1px solid #bdd3e624;border-radius:8px;gap:12px;padding:16px;display:grid;position:relative;overflow:hidden}.product-category-grid button:hover,.product-category-grid button:focus-visible,.product-category-grid button.is-active{border-color:var(--role-color);box-shadow:0 0 22px color-mix(in srgb, var(--role-color) 18%, transparent);outline:none}.product-category-grid span{color:#aebdcb;font-size:13px;font-weight:800}.product-category-grid strong{color:#f7fbff;align-self:end;font-size:36px;line-height:1}.product-category-grid i{background:var(--role-color);height:4px;box-shadow:0 0 14px var(--role-color);position:absolute;bottom:0;left:0}.product-ability-section{background:#09141db8;border:1px solid #bdd3e61f;border-radius:8px;margin-top:18px;padding:18px}.product-section-heading{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:14px;display:flex}.product-section-heading h3{color:#ecf5ff;margin:0;font-size:18px}.product-ability-cloud{flex-wrap:wrap;gap:9px;display:flex}.product-ability-cloud span{color:#e9fbf9;background:#7be7dd14;border:1px solid #7be7dd38;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-weight:750;display:inline-flex}.product-ability-cloud b{color:#7be7dd;font-size:12px}.product-role-panel-header h2{margin-bottom:6px}.product-search{color:#7be7dd;background:#07121bc2;border:1px solid #bdd3e629;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;display:flex}.product-search input{color:#f3f7fb;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.product-search input::placeholder{color:#718396}.product-job-list{max-height:420px;padding-right:4px;overflow:auto}.product-selected-abilities{margin-top:14px}.course-workspace{grid-template-columns:minmax(0,1fr) 390px;gap:18px;max-width:1780px;height:min(900px,100vh - 44px);min-height:680px;margin:0 auto;display:grid}.course-graph-main{background:radial-gradient(circle at 12%,#7be7dd1f,#0000 25%),radial-gradient(circle at 78% 18%,#5b8cff1a,#0000 30%),#071018;border:1px solid #bdd3e629;border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000047}.course-graph-heading{background:#071018bd;border-bottom:1px solid #bdd3e61f;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;display:flex}.course-graph-heading h2,.course-graph-heading p{margin:0}.course-graph-heading h2{color:#f2f8ff;font-size:20px}.course-graph-heading>div:first-child>p:last-child{color:#96a6b8;margin-top:5px;font-size:12px}.course-size-legend{color:#91a3b4;white-space:nowrap;align-items:center;gap:14px;font-size:11px;display:flex}.course-graph-controls{align-items:center;gap:16px;display:flex}.course-math-toggle{color:#b7c6d3;white-space:nowrap;cursor:pointer;align-items:center;gap:7px;font-size:12px;display:inline-flex}.course-math-toggle input{accent-color:#65ddd3;cursor:pointer;width:15px;height:15px;margin:0}.course-size-legend span{align-items:center;gap:7px;display:inline-flex}.course-size-legend i{background:#4dc9ff66;border:1px solid #80d8ffc7;border-radius:50%;display:inline-block;box-shadow:0 0 8px #4dc9ff47}.course-size-legend i.is-small{width:9px;height:9px}.course-size-legend i.is-large{width:20px;height:20px}.course-graph-stage{flex:1;min-height:0;position:relative;overflow:hidden}.course-galaxy{width:100%;height:100%;position:relative;overflow:hidden}.course-galaxy canvas{touch-action:none;width:100%;height:100%;display:block}.course-3d-layer-legend{z-index:3;pointer-events:none;flex-wrap:wrap;gap:7px;max-width:420px;display:flex;position:absolute;top:16px;left:16px}.course-3d-layer-legend span{color:#bdcbd8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060f16b8;border:1px solid #bdd3e629;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;display:inline-flex}.course-3d-layer-legend i{border-radius:50%;width:7px;height:7px;box-shadow:0 0 7px}.course-3d-layer-legend i.major{color:#7be7dd;background:#7be7dd}.course-3d-layer-legend i.course{color:#7abfe0;background:#7abfe0}.course-3d-hint{z-index:3;color:#8294a6;pointer-events:none;margin:0;font-size:11px;position:absolute;top:16px;right:16px}.course-3d-label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.course-3d-label{color:#c6d7e6;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 3px #071018,0 0 5px #071018;white-space:nowrap;max-width:118px;font-size:9px;font-weight:800;line-height:1.2;transition:opacity .12s;position:absolute;top:0;left:0;overflow:hidden}.course-3d-label.major{color:#bffbf5}.course-tooltip{z-index:4;color:#f7fbff;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071018f0;border:1px solid #7be7dd47;border-radius:8px;gap:3px;max-width:240px;padding:9px 10px;font-size:12px;display:grid;position:absolute;transform:translateY(-100%);box-shadow:0 12px 28px #00000057}.course-tooltip span{color:#96a6b8}.course-tooltip b{color:#7be7dd;font-size:11px}.course-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.course-panel-title{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.course-panel-title h2{min-width:0;margin-bottom:0}.course-major-code{color:#8bece3;letter-spacing:.03em;white-space:nowrap;background:#7be7dd14;border:1px solid #7be7dd47;border-radius:999px;flex:none;padding:3px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;font-weight:700}.course-stat-grid span{background:#ffffff0e;border-radius:8px;gap:3px;padding:10px;display:grid}.course-stat-grid strong{color:#f3f7fb;font-size:22px}.course-stat-grid small{color:#8294a6;font-size:11px}.course-ranking{scrollbar-width:none;gap:7px;max-height:560px;padding-right:4px;display:grid;overflow:auto}.course-info-panel{scrollbar-width:none}.course-grouped-ranking{scrollbar-width:none;gap:20px;max-height:560px;padding-right:4px;display:grid;overflow:auto}.course-ranking::-webkit-scrollbar{display:none}.course-grouped-ranking::-webkit-scrollbar{display:none}.course-info-panel::-webkit-scrollbar{display:none}.course-ranking-group h4{color:#c9d8e5;margin:0 0 9px;font-size:13px}.course-grouped-ranking .course-ranking{max-height:none;padding-right:0;overflow:visible}@media (width>=1121px){.course-info-panel.is-major-selected{flex-direction:column;display:flex;overflow:hidden}.course-info-panel.is-major-selected>.panel-section:last-child{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.course-info-panel.is-major-selected .course-grouped-ranking{flex:1;min-height:0;max-height:none}}.course-ranking>div{background:#ffffff0d;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;padding:9px 10px;display:grid}.course-ranking span{color:#76899c;text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:10px;overflow:hidden}.course-ranking strong{color:#dbe7f2;text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:13px;overflow:hidden}.course-row-main{grid-column:1;gap:3px;min-width:0;display:grid}.course-row-title-line{align-items:center;gap:5px;min-width:0;display:flex}.course-row-select{outline-offset:3px;min-width:0;max-width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.course-row-select strong{min-width:0;display:block}.course-ranking-course:hover,.course-ranking-course:focus-within{background:#7be7dd17}.course-row-select:hover strong,.course-row-select:focus-visible strong{color:#f3ffff}.course-description-info{flex:none;display:inline-flex;overflow:visible}.course-description-info button{outline-offset:2px;color:#7e93a6;cursor:help;background:0 0;border:0;border-radius:50%;place-items:center;width:16px;height:16px;padding:0;display:inline-grid}.course-description-info button:hover,.course-description-info button:focus-visible{color:#7be7dd}.course-description-tooltip{z-index:1000;color:#cbd9e5;pointer-events:none;background:#071018fa;border:1px solid #7be7dd4d;border-radius:8px;gap:5px;width:min(300px,100vw - 24px);padding:10px 11px;font-size:12px;line-height:1.55;display:grid;position:fixed;transform:translateY(-100%);box-shadow:0 12px 28px #0000006b}.course-description-tooltip.is-below{transform:none}.course-description-tooltip strong{color:#7be7dd;font-size:11px}.course-ranking b{color:#7be7dd;grid-area:1/2/span 2;font-size:14px}.scene-wrap{background:#071018;border:1px solid #bdd3e629;border-radius:8px;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000047}.galaxy{width:100%;height:100%;position:relative}.galaxy canvas{display:block}.layer-legend{z-index:2;color:#dbe7f2;gap:8px;font-size:12px;display:flex;position:absolute;top:18px;left:18px}.layer-legend button{color:inherit;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060f16b3;border:1px solid #ffffff24;border-radius:999px;padding:7px 10px;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.layer-legend button:hover{border-color:#7be7dd7a}.layer-legend button[aria-pressed=true]{color:#9df4eb;background:#7be7dd2e;border-color:#7be7ddb8;box-shadow:0 0 18px #7be7dd29}.layer-legend button:focus-visible{outline-offset:2px;outline:2px solid #7be7dd}.skill-view-toggle{z-index:3;border-left:1px solid #bdd3e62e;gap:6px;padding-left:12px;display:flex;position:absolute;top:18px;left:174px}.skill-view-toggle button{color:#aebdcb;font:inherit;cursor:pointer;background:#060f16b3;border:1px solid #ffffff24;border-radius:999px;padding:7px 10px;font-size:12px}.skill-view-toggle button[aria-pressed=true]{color:#b9ceff;background:#5b8cff2e;border-color:#5b8cffb8}.skill-view-toggle button:focus-visible{outline-offset:2px;outline:2px solid #7be7dd}.skill-dag-shell{background:radial-gradient(circle at 50% 16%,#5b8cff1a,#0000 34%),#071018;height:100%;padding-top:66px;overflow:auto}.skill-dag-heading{z-index:2;pointer-events:none;justify-items:end;display:grid;position:absolute;top:18px;right:18px}.skill-dag-heading span,.skill-dag-heading small{color:#8092a5;font-size:11px}.skill-dag-heading strong{color:#e9f4ff;margin:2px 0;font-size:14px}.skill-dag-map{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.skill-dag-layer-label{fill:#718396;letter-spacing:.06em;font-size:13px;font-weight:700}.skill-dag-edges{pointer-events:none}.skill-dag-edges path{fill:none;stroke:#9fb7d824;stroke-width:1px;transition:stroke .16s,stroke-width .16s,opacity .16s}.skill-dag-edges path.is-active{stroke:#7be7ddc7;stroke-width:2.2px;filter:drop-shadow(0 0 5px #7be7dd75)}#skill-dag-arrow path{fill:#7be7dd}.skill-dag-category,.skill-dag-skill{cursor:grab;outline:none}.skill-dag-category:active,.skill-dag-skill:active{cursor:grabbing}.skill-dag-category-core{fill:#09141df5;stroke:color-mix(in srgb, var(--category-color) 58%, #9fb7d8);stroke-width:2px;transition:fill .16s,stroke-width .16s,filter .16s}.skill-dag-category-halo{fill:none;stroke:#0000;stroke-width:2px}.skill-dag-category-visual{transform-box:fill-box;transform-origin:50%;transition:transform .18s,filter .18s}.skill-dag-category:hover .skill-dag-category-visual{filter:drop-shadow(0 0 7px #9fb7d83d);transform:scale(1.2)}.skill-dag-category-label{fill:#dce8f4;pointer-events:none;font-size:14px;font-weight:800}.skill-dag-category-score{fill:#8294a6;pointer-events:none;font-size:10px;font-weight:700}.skill-dag-category.is-matched .skill-dag-category-core{fill:color-mix(in srgb, var(--category-color) 18%, #09141d)}.skill-dag-category.is-recommended .skill-dag-category-core{stroke-width:4px;filter:drop-shadow(0 0 11px var(--category-color))}.skill-dag-category.is-unlocked .skill-dag-category-core{fill:#4e4d31;stroke:#ffe066}.skill-dag-category.is-unlocked .skill-dag-category-halo{stroke:#ffe0666b}.skill-dag-category.is-unlocked .skill-dag-category-score{fill:#ffe892}.skill-dag-skill-core{fill:#101c26f5;stroke:#9fb7d875;stroke-width:1.2px;transition:fill .15s,stroke .15s,filter .15s}.skill-dag-skill-visual{transform-box:fill-box;transform-origin:50%;transition:transform .16s,filter .16s}.skill-dag-skill-label{fill:#d8e4ef;pointer-events:none;font-size:10px;font-weight:700}.skill-dag-skill:hover .skill-dag-skill-core,.skill-dag-skill:focus-visible .skill-dag-skill-core{fill:#182a35fa;stroke:#7be7dd}.skill-dag-skill:hover .skill-dag-skill-visual,.skill-dag-skill:focus-visible .skill-dag-skill-visual{filter:drop-shadow(0 0 5px #7be7dd47);transform:scale(1.1)}.skill-dag-skill.is-selected .skill-dag-skill-core{fill:#7be7dd33;stroke:#7be7dd;stroke-width:2.2px;filter:none}.skill-dag-skill.is-selected .skill-dag-skill-label{fill:#e7fffc}.skill-dag-selected-list{flex-wrap:wrap;gap:7px;display:flex}.skill-dag-selected-list button{color:#e4f8f6;cursor:pointer;background:#7be7dd17;border:1px solid #7be7dd4d;border-radius:999px;align-items:center;gap:7px;padding:7px 9px;display:inline-flex}.skill-dag-selected-list span{color:#7be7dd}.skill-dag-recommendations{gap:8px;display:grid}.skill-dag-recommendations>div{background:#ffffff0e;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:4px 9px;padding:11px;display:grid}.skill-dag-recommendations>div>span{border:1px solid var(--category-color);color:#dbe7f2;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:800;display:grid}.skill-dag-recommendations strong{color:#ecf5ff}.skill-dag-recommendations em{color:#7be7dd;font-style:normal;font-weight:800}.skill-dag-recommendations small{color:#8798aa;grid-column:2/-1;line-height:1.45}.skill-dag-recommendations .is-best{box-shadow:inset 3px 0 #7be7dd}.skill-dag-suggestions{border-top:1px solid #7be7dd24;grid-column:2/-1;margin-top:5px;padding-top:9px}.skill-dag-suggestions>b{color:#aebdcb;margin-bottom:7px;font-size:11px;display:block}.skill-dag-suggestions ol{gap:5px;margin:0;padding:0;list-style:none;display:grid}.skill-dag-suggestions li{grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.skill-dag-suggestions li>span{color:#64778a;font-variant-numeric:tabular-nums;font-size:10px}.skill-dag-suggestions li>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.skill-dag-suggestions li.is-language-group>strong{white-space:normal;line-height:1.35}.skill-dag-suggestions li>em{color:#8fa4b6;font-size:11px;font-weight:700}.skill-heat-legend{z-index:2;color:#dbe7f2;flex-wrap:wrap;gap:8px;font-size:12px;display:flex;position:absolute;top:64px;left:18px}.skill-heat-legend span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060f16b3;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.skill-heat-legend span:before{background:var(--heat-color);width:8px;height:8px;box-shadow:0 0 12px var(--heat-color);content:"";border-radius:999px}.job-heat-legend{z-index:2;color:#dbe7f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060f16b3;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;display:flex;position:absolute;top:108px;left:18px}.job-heat-legend strong{font-size:inherit}.job-heat-legend i{background:linear-gradient(90deg,#6ee7a8,#d6e85f,#ffb347,#ff5f57);border-radius:999px;width:96px;height:8px;box-shadow:0 0 12px #ffb34752}.career-path-shell{background:radial-gradient(circle at 50% 35%,#7be7dd14,#0000 34%),#071018;flex-direction:column;height:100%;min-height:0;padding:70px 18px 18px;display:flex}.career-overview{scrollbar-width:thin;flex:none;gap:9px;padding:2px 2px 12px;display:flex;overflow-x:auto}.career-badge{--route-color:#7be7dd;--progress:0deg;color:#dce8f4;text-align:left;cursor:pointer;background:#09141db8;border:1px solid #bdd3e624;border-radius:8px;flex:1 0 108px;grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:1px 8px;min-width:108px;padding:9px 10px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid}.career-badge:hover,.career-badge:focus-visible{border-color:color-mix(in srgb, var(--route-color) 70%, white);transform:translateY(-1px)}.career-badge:focus-visible{outline-offset:2px;outline:2px solid #7be7dd}.career-badge.is-active{border-color:var(--route-color);background:color-mix(in srgb, var(--route-color) 12%, #09141de6);box-shadow:0 0 22px color-mix(in srgb, var(--route-color) 24%, transparent)}.career-badge.is-unlocked{color:#fff1a8}.career-badge-ring{background:conic-gradient(var(--route-color) var(--progress), #ffffff1a 0);border-radius:50%;grid-row:1/3;width:32px;height:32px;position:relative}.career-badge-ring i{border-radius:inherit;background:#0a1720;position:absolute;inset:4px}.career-badge.is-unlocked .career-badge-ring{background:conic-gradient(#ffe066 360deg, #ffe066 0);box-shadow:0 0 15px #ffe06680}.career-badge strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;overflow:hidden}.career-badge small{color:#8fa4b6;font-size:10px}.career-route-stage{background-color:#050e15b8;background-image:linear-gradient(#7be7dd09 1px,#0000 1px),linear-gradient(90deg,#7be7dd09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #bdd3e61f;border-radius:8px;flex:auto;min-height:0;position:relative;overflow:hidden}.career-route-heading{z-index:2;color:#aebdcb;pointer-events:none;align-items:baseline;gap:9px;display:flex;position:absolute;top:16px;left:18px}.career-route-heading span,.career-route-heading small{font-size:11px}.career-route-heading strong{color:#ecf5ff;font-size:15px}.career-route-map{width:100%;height:100%;min-height:500px}.career-route-edges path{fill:none;stroke:#8fa4b633;stroke-width:2px;transition:stroke .18s,filter .18s}.career-route-edges path.is-mastered{stroke:#7be7dd;filter:drop-shadow(0 0 5px #7be7dd7a)}.career-route-stage.is-unlocked .career-route-edges path.is-mastered{stroke:#ffe066}.career-tier-label{fill:#71889b;letter-spacing:.16em;font-size:14px;font-weight:800}.career-skill-node{cursor:pointer;outline:none}.career-skill-core{fill:#101d27;stroke:#bdd3e642;stroke-width:2px;transition:fill .16s,stroke .16s,filter .16s}.career-skill-glow{fill:#0000;stroke:#0000;stroke-width:2px}.career-skill-mark{fill:#8195a7;pointer-events:none;font-size:13px;font-weight:900}.career-skill-label{fill:#aebdcb;paint-order:stroke;stroke:#071018;stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:13px;font-weight:800}.career-skill-node.is-needed .career-skill-core{stroke:#ffe066b8;stroke-dasharray:5 4}.career-skill-node:hover .career-skill-core,.career-skill-node:focus-visible .career-skill-core{stroke:#ecf5ff;filter:brightness(1.2)}.career-skill-node.is-mastered .career-skill-core{fill:#7be7dd38;stroke:#7be7dd;filter:drop-shadow(0 0 10px #7be7dd80)}.career-skill-node.is-mastered .career-skill-glow{stroke:#7be7dd3d}.career-skill-node.is-mastered .career-skill-mark,.career-skill-node.is-mastered .career-skill-label{fill:#bffbf5}.career-endpoint-core{fill:#101d27;stroke:var(--route-color);stroke-width:3px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--route-color) 44%, transparent))}.career-endpoint-halo{fill:#0000;stroke:#bdd3e61f;stroke-width:2px}.career-endpoint-score{fill:#ecf5ff;font-size:16px;font-weight:900}.career-endpoint-label{fill:#ecf5ff;paint-order:stroke;stroke:#071018;stroke-width:4px;font-size:16px;font-weight:900}.career-route-stage.is-unlocked .career-endpoint-core{fill:#ffe06638;stroke:#ffe066;filter:drop-shadow(0 0 18px #ffe066b8)}.career-route-stage.is-unlocked .career-endpoint-halo{stroke:#ffe0667a}.career-route-stage.is-celebrating .career-endpoint-halo{animation:.72s ease-out career-unlock-pulse}.career-route-stage.is-celebrating .career-route-edges path.is-mastered{animation:.72s ease-out career-line-flash}@keyframes career-unlock-pulse{0%{opacity:1;transform-origin:50%;transform:scale(.72)}to{opacity:0;transform-origin:50%;transform:scale(1.45)}}@keyframes career-line-flash{0%,to{stroke-width:2px}45%{stroke-width:5px;filter:drop-shadow(0 0 12px #ffe066e6)}}.career-panel-header{border-top:3px solid var(--route-color)}.career-progress-row{grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:18px;display:grid}.career-progress-row strong{color:#f7fbff;font-size:14px}.career-progress-row>span{background:#ffffff1a;border-radius:999px;height:8px;overflow:hidden}.career-progress-row i{border-radius:inherit;background:var(--route-color);height:100%;box-shadow:0 0 12px var(--route-color);transition:width .18s;display:block}.career-skill-checklist{flex-wrap:wrap;gap:8px;display:flex}.career-skill-checklist button{color:#aebdcb;font:inherit;cursor:pointer;background:#07121bb8;border:1px solid #bdd3e629;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.career-skill-checklist button:hover,.career-skill-checklist button:focus-visible{border-color:#7be7ddb3;outline:none}.career-skill-checklist button.is-mastered{color:#c8fffa;background:#7be7dd29;border-color:#7be7dd}.career-skill-checklist i{background:#ffffff14;border-radius:50%;place-items:center;width:19px;height:19px;font-size:12px;font-style:normal;font-weight:900;display:grid}.career-missing-section{background:#ffe06609}.career-job-links{gap:8px;display:grid}.career-job-links a{color:#dce8f4;border:1px solid #bdd3e61f;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;text-decoration:none;display:flex}.career-job-links a:hover{background:#7be7dd0f;border-color:#7be7dd75}.career-job-links span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.career-job-links small{color:#7be7dd;flex:none}.skill-selection-summary{z-index:3;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09141de6;border:1px solid #bdd3e629;border-radius:8px;width:min(200px,100% - 36px);padding:14px;position:absolute;top:18px;right:18px;box-shadow:0 18px 48px #0000004d}.skill-selection-summary span{color:#7be7dd;letter-spacing:.08em;margin-bottom:12px;font-size:12px;font-weight:800;display:block}.skill-selection-summary strong{color:#f7fbff;font-size:22px;display:block}.skill-selection-summary p{color:#aebdcb;margin:14px 0 0;font-size:12px}.tooltip{z-index:20;color:#f7fbff;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071018eb;border:1px solid #ffffff29;border-radius:8px;max-width:min(360px,100vw - 40px);padding:10px 12px;position:fixed;box-shadow:0 12px 32px #00000052}.tooltip span{color:#7be7dd;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.fixed-label-layer{z-index:4;pointer-events:none;position:absolute;inset:0}.fixed-node-label{color:#f7fbff;opacity:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071018e6;border:1px solid #ffffff24;border-radius:8px;max-width:260px;padding:10px 12px;transition:opacity .14s;position:absolute;top:0;left:0;transform:translate(-9999px,-9999px);box-shadow:0 14px 34px #00000057}.fixed-node-label.skill{background:#071018c7;max-width:180px;padding:7px 9px}.fixed-node-label span{color:#7be7dd;margin-bottom:4px;font-size:12px;font-weight:800;display:block}.fixed-node-label strong{text-overflow:ellipsis;font-size:14px;line-height:1.35;display:block;overflow:hidden}.fixed-node-label.job strong{font-size:16px}.info-panel{background:#09141ddb;border:1px solid #bdd3e629;border-radius:8px;height:100%;min-height:0;overflow:auto;box-shadow:0 24px 80px #00000038}.panel-section{border-bottom:1px solid #bdd3e61f;padding:18px}.panel-section h2,.panel-section h3,.panel-section p{margin-top:0}.panel-section h2{letter-spacing:0;margin-bottom:10px;font-size:25px;line-height:1.25}.panel-section h3{color:#ecf5ff;margin-bottom:12px;font-size:15px}.panel-kicker{color:#7be7dd;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:800}.muted{color:#aebdcb;line-height:1.65}.pie-section{min-height:0;padding-top:8px;padding-bottom:22px}.pie-layout{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.pie-chart{width:100%;height:430px;position:relative}.pie-chart .recharts-sector:focus{outline:none}.pie-chart .recharts-sector:focus-visible{stroke:#f3f7fbd1;stroke-width:2px}.pie-sector{cursor:pointer;transform-box:view-box;transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s}.pie-sector.is-active{filter:brightness(1.08)drop-shadow(0 0 7px #ffffff6b);transform:scale(1.08)}.pie-slice-label{paint-order:stroke;stroke:#071018;stroke-width:3px;stroke-linejoin:round;font-size:11px;font-weight:800}.pie-data-label{cursor:pointer}.pie-sector.is-static,.pie-data-label.is-static{cursor:default}.pie-data-label:focus{outline:none}.pie-data-label:focus-visible .pie-slice-label{filter:brightness(1.25)drop-shadow(0 0 5px #7be7dd80)}.pie-slice-meta{fill:#b8c5d4;font-size:10px;font-weight:700}.pie-tooltip{color:#f7fbff;background:#071018f0;border:1px solid #ffffff24;border-radius:8px;gap:4px;padding:9px 10px;display:grid;box-shadow:0 12px 28px #00000052}.pie-tooltip span{color:#aebdcb;font-size:12px}.ranking{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rank-row{background:#ffffff0e;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.rank-row span{color:#75879a;font-variant-numeric:tabular-nums}.rank-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-row em{color:#7be7dd;font-style:normal;font-weight:800}.skill-combination-table{border-collapse:separate;border-spacing:0 7px;width:100%;font-size:12px}.skill-combination-table th{color:#75879a;text-align:left;padding:0 9px 2px;font-weight:700}.skill-combination-table th:not(:first-child),.skill-combination-table td:not(:first-child){text-align:right;white-space:nowrap;width:48px}.skill-combination-table td{color:#c2cfdb;font-variant-numeric:tabular-nums;background:#ffffff0e;padding:9px}.skill-combination-table td:first-child{border-radius:8px 0 0 8px}.skill-combination-table td:last-child{color:#7be7dd;border-radius:0 8px 8px 0;font-weight:800}.skill-combination-chips{flex-wrap:wrap;gap:5px;display:flex}.skill-combination-chips span{color:#e8f4f7;background:#7be7dd12;border:1px solid #7be7dd33;border-radius:999px;padding:3px 6px;font-weight:700}.skill-combination-note{color:#75879a;margin:5px 0 0;font-size:11px;line-height:1.5}.job-list,.job-list-item{gap:8px;display:grid}.category-job-groups{gap:16px;display:grid}.category-job-group{gap:10px;display:grid}.group-title{color:#ecf5ff;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-weight:800;list-style:none;display:flex}.group-title::-webkit-details-marker{display:none}.group-title:before{content:"";border-bottom:2px solid #7be7dd;border-right:2px solid #7be7dd;width:8px;height:8px;transition:transform .16s;transform:rotate(-45deg)}.category-job-group[open] .group-title:before{transform:rotate(45deg)}.group-title b{color:#7be7dd;text-align:center;background:#7be7dd1f;border-radius:999px;min-width:28px;padding:3px 8px;font-size:12px}.job-list a,.job-list button{color:#dce8f4;width:100%;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#ffffff0e;border:0;border-radius:8px;padding:10px 12px;text-decoration:none;display:block;overflow:hidden}.job-list a:hover,.job-list button:hover,.job-list button.active,.primary-link:hover{color:#7be7dd}.job-list button.active{background:#7be7dd1f;outline:1px solid #7be7dd73}.primary-link{color:#f2d375;margin-top:8px;font-weight:700;text-decoration:none;display:inline-flex}.skill-cloud{flex-wrap:wrap;gap:8px;display:flex}.skill-cloud span{color:#e9fbf9;background:#7be7dd14;border:1px solid #7be7dd38;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:8px 10px;display:inline-flex}.skill-cloud b{color:#7be7dd;font-size:12px}.requirement-text{color:#c5d1de;white-space:pre-line;line-height:1.72}.selected-job-card h3{color:#f7fbff;margin-bottom:8px;font-size:18px;line-height:1.35}.selected-job-card.embedded{background:#07121bb8;border:1px solid #7be7dd3d;border-radius:8px;max-height:360px;padding:14px;overflow:auto}.selected-job-card.embedded h3{font-size:16px}.job-detail-block{margin-top:16px}.job-detail-block h4{color:#ecf5ff;margin:0 0 8px;font-size:14px}.job-detail-block p{color:#c5d1de;white-space:pre-line;margin:0;line-height:1.72}@media (width<=1120px){.hero-panel,.workspace,.product-workspace,.course-workspace{grid-template-columns:1fr}.hero-panel{gap:36px;padding:52px 0}.scene-wrap{height:68vh;min-height:520px}.info-panel{height:auto;min-height:0;max-height:none}.product-workspace,.course-workspace{height:auto}.course-graph-main{height:720px}}@media (width<=720px){.app-shell{padding:0 14px 14px}.site-header{height:66px}.brand small{display:none}.hero-panel{gap:30px;min-height:0;padding:44px 0 48px}.title-block h1{font-size:clamp(46px,15vw,68px)}.title-block p{font-size:15px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{gap:12px}.workspace-tabs{margin-top:-22px;padding-bottom:2px;overflow-x:auto}.scene-wrap{height:62vh;min-height:430px}.product-role-summary{display:grid}.product-role-stats,.product-category-grid{grid-template-columns:1fr;min-width:0}.product-category-grid button{min-height:104px}.course-workspace{gap:12px}.course-graph-main{height:620px}.course-graph-heading{align-items:start}.course-size-legend{gap:6px;display:grid}.course-graph-stage{overflow:hidden}.course-3d-hint{display:none}.layer-legend{flex-wrap:wrap;top:10px;left:10px}.skill-view-toggle{top:10px;left:148px}.skill-dag-heading{display:none}.skill-dag-shell{padding-top:54px}.skill-dag-map{width:780px}.skill-heat-legend{top:54px;left:10px}.job-heat-legend{top:98px;left:10px}.career-path-shell{padding:58px 10px 10px}.career-overview{gap:7px}.career-badge{flex-basis:104px}.career-route-stage{overflow:auto}.career-route-map{min-width:720px}.skill-selection-summary{width:min(300px,100% - 20px);padding:14px;top:10px;right:10px}.skill-selection-summary strong{font-size:22px}.pie-layout{grid-template-columns:1fr}.pie-chart{height:380px;margin:0 auto}.ranking{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.career-route-stage.is-celebrating .career-endpoint-halo,.career-route-stage.is-celebrating .career-route-edges path.is-mastered{animation:none}.career-badge,.career-route-edges path,.career-skill-core,.career-progress-row i,.skill-dag-edges path,.skill-dag-category-visual,.skill-dag-category-core,.skill-dag-skill-visual,.skill-dag-skill-core{transition:none}.skill-dag-skill:hover .skill-dag-skill-visual,.skill-dag-skill:focus-visible .skill-dag-skill-visual,.skill-dag-category:hover .skill-dag-category-visual{transform:none}}
