.learning-map{--map-yellow:#f3bf31;--map-green:#2ac36f;--map-blue:#79adf7;--map-bubble-ink:#142035;width:100%;max-width:none;margin:10px 0 56px}.learning-map__heading,.learning-map__toolbar,.learning-map__footer,.learning-map__checklist-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.learning-map__heading{align-items:flex-end;margin-bottom:16px}.learning-map__heading h2{letter-spacing:-.055em;margin:5px 0 7px;font-size:clamp(2rem,3vw,2.8rem);line-height:1.1}.learning-map__heading p:last-child{color:var(--muted);margin:0}.learning-map__progress{text-align:right;white-space:nowrap}.learning-map__progress strong{color:var(--brand-strong);letter-spacing:-.05em;font-size:2rem;line-height:1.05;display:block}.learning-map__progress span{color:var(--muted);font-size:.9rem}.learning-map__toolbar{gap:12px;min-height:48px}.learning-map__toolbar p{margin:0 auto 0 0;font-size:.9rem;font-weight:700}.learning-map__back{background:var(--surface);color:var(--brand-strong);font:inherit;border:0;border-radius:8px;padding:7px 10px;font-weight:700}.learning-map__back:hover{background:var(--brand-soft)}.learning-map__legend{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:.8rem;display:inline-flex}.learning-map__legend i{background:var(--map-yellow);border-radius:50%;width:12px;height:12px}.learning-map__legend i:last-child{background:var(--map-green);margin-left:8px}.learning-map__canvas{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;position:relative;overflow:hidden}.learning-map__canvas--branch{height:430px}.learning-map__stage{position:absolute;inset:0}.learning-map__stage[data-map-overview],.learning-map__stage[data-career-overview]{padding:24px;position:relative}.learning-map[data-frontend-map] .learning-map__canvas--branch,.learning-map[data-career-map] .learning-map__canvas--branch{background:var(--surface-soft);height:auto}.learning-map[data-frontend-map] .learning-map__stage[data-map-branch-view]{padding:22px;position:relative;inset:auto}.learning-map[data-career-map] .learning-map__stage[data-career-topic-view]{padding:22px;display:block;position:relative;inset:auto}.frontend-skill-checklist{color:var(--ink)}.frontend-skill-checklist__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:24px;padding:2px 2px 18px;display:flex}.frontend-skill-checklist__header>div>span{color:var(--brand-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.69rem;font-weight:800}.frontend-skill-checklist__header h3{letter-spacing:-.03em;margin:5px 0 7px;font-size:1.35rem}.frontend-skill-checklist__header p{max-width:72ch;color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.frontend-skill-checklist__header>strong{color:var(--brand-strong);letter-spacing:-.035em;flex:none;font-size:1.35rem}.frontend-skill-checklist.map-bubble--complete .frontend-skill-checklist__header>strong{color:var(--teal)}.frontend-skill-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:18px;display:grid}.frontend-skill-index__item{border:1px solid var(--border);min-width:0;min-height:60px;color:var(--ink);background:var(--surface-raised);font:inherit;text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;display:grid}.frontend-skill-index__item:hover{border-color:var(--brand)}.frontend-skill-index__item:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.frontend-skill-index__item>span{color:var(--brand-strong);font-variant-numeric:tabular-nums;font-size:.69rem;font-weight:800}.frontend-skill-index__item>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;line-height:1.3;overflow:hidden}.frontend-skill-index__item>small{color:var(--muted);white-space:nowrap;font-size:.69rem;font-weight:720}.frontend-skill-index__item--started{border-color:var(--wisdom);background:var(--wisdom-soft)}.frontend-skill-index__item--started>span,.frontend-skill-index__item--started>small{color:var(--wisdom)}.frontend-skill-index__item.map-bubble--complete{border-color:var(--teal);background:var(--teal-soft)}.frontend-skill-index__item.map-bubble--complete>span,.frontend-skill-index__item.map-bubble--complete>small{color:var(--teal)}.frontend-selected-skill{border:1px solid var(--border);background:var(--surface-raised);border-radius:14px;margin-top:18px;overflow:hidden}.frontend-selected-skill__back{color:var(--brand-strong);background:var(--surface);font:inherit;cursor:pointer;border:0;border-radius:8px;margin:13px 22px 0;padding:7px 9px;font-size:.78rem;font-weight:750}.frontend-selected-skill__back:hover{background:var(--brand-soft)}.frontend-selected-skill__back:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.frontend-skill-checklist__levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;display:grid}.frontend-skill-checklist__level{min-width:0}.frontend-skill-checklist__level h4{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:16px 0 10px;font-size:.7rem;font-weight:800}.frontend-skill-checklist__level ul{border-bottom:1px solid var(--border);margin:0;padding:0;list-style:none}.frontend-skill-checklist__level li{border-top:1px solid var(--border)}.frontend-skill-checklist__level label{cursor:pointer;align-items:flex-start;gap:12px;min-height:116px;padding:14px 2px;display:flex}.frontend-skill-checklist__level input{width:20px;height:20px;accent-color:var(--teal);cursor:pointer;flex:none;margin:2px 0 0}.frontend-skill-checklist__level label>span{min-width:0}.frontend-skill-checklist__level label strong{margin-bottom:4px;font-size:.9rem;line-height:1.3;display:block}.frontend-skill-checklist__level label span span{color:var(--muted-strong);font-size:.8rem;line-height:1.5;display:block}.frontend-skill-checklist__level input:checked+span strong,.frontend-skill-checklist__level input:checked+span span{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--muted) 45%, transparent)}.progression-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;height:100%;display:grid}.progression-tier{min-width:0}.progression-tier h3{height:52px;color:var(--muted-strong);letter-spacing:.01em;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:4px 8px;margin:0 0 14px;font-size:.78rem;font-weight:720;display:grid}.progression-tier h3>span{color:var(--brand-strong);grid-column:1/-1;font-size:.67rem}.progression-tier__title{min-width:0;color:inherit;font:inherit;overflow-wrap:anywhere;line-height:1.3}.progression-tier__cards{gap:12px;display:grid;position:relative}.progression-tier__cards:before{display:none}.map-tier-card{z-index:1;border:1px solid var(--border);min-width:0;min-height:80px;color:var(--ink);background:color-mix(in srgb, var(--surface-raised) 94%, transparent);font:inherit;text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:10px 8px;padding:13px 14px 12px;display:grid;position:relative;box-shadow:0 10px 22px #1422370f}.map-tier-card:hover{border-color:var(--brand);background:var(--surface-raised)}.map-tier-card:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.map-tier-card[aria-expanded=true]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.map-tier-card__top{display:contents}.map-tier-card__top strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;font-size:.9rem;line-height:1.2;display:-webkit-box;overflow:hidden}.map-tier-card__top small{color:var(--brand-strong);white-space:nowrap;align-self:start;padding-top:1px;font-size:.64rem;font-weight:720}.map-tier-card__track{background:var(--border);border-radius:99px;height:5px;overflow:hidden}.map-tier-card__track i{border-radius:inherit;background:var(--brand);width:0;height:100%;display:block}.map-tier-card__progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.67rem;font-weight:720}.map-tier-card--started{border-color:var(--wisdom);background:var(--wisdom-soft)}.map-tier-card--started .map-tier-card__top small,.map-tier-card--started .map-tier-card__progress{color:var(--wisdom)}.map-tier-card--started .map-tier-card__track i{background:var(--wisdom)}.map-tier-card.map-bubble--complete{border-color:var(--teal);background:var(--teal-soft)}.map-tier-card.map-bubble--complete .map-tier-card__top small,.map-tier-card.map-bubble--complete .map-tier-card__progress{color:var(--teal)}.map-tier-card.map-bubble--complete .map-tier-card__track i{background:var(--teal)}.learning-map__lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.learning-map__lines line{stroke:#71809b;stroke-opacity:.55;stroke-width:1.35px;vector-effect:non-scaling-stroke}.learning-map__lines line.is-complete{stroke:var(--map-green);stroke-opacity:.8}.map-bubble{z-index:1;left:var(--map-x);top:var(--map-y);background:var(--map-yellow);width:82px;height:82px;color:var(--map-bubble-ink);text-align:center;font:inherit;border:2px solid #eff4ff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:8px;transition:background-color .18s,transform .18s;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-bubble:hover{transform:translate(-50%,-50%)scale(1.06)}.map-bubble:focus-visible{outline:4px solid var(--focus);outline-offset:4px}.map-bubble span{overflow-wrap:anywhere;max-width:100%;font-size:.7rem;font-weight:750;line-height:1.12;display:block}.map-bubble small{margin-top:4px;font-size:.61rem;font-weight:750;display:block}.map-bubble--complete{background:var(--map-green)}.map-bubble[aria-pressed=true],.map-bubble[aria-expanded=true]{outline-offset:5px;outline:4px solid #aebdff}.map-bubble--hub{border-width:2px;width:110px;height:110px;top:50%;left:50%}.map-bubble--hub span{font-size:.9rem}.map-bubble--hub small{font-size:.67rem}.learning-map__stage[data-map-overview] .map-bubble--hub:not(.map-bubble--complete){background:var(--map-blue)}.map-bubble--leaf{width:80px;height:80px}.map-bubble--leaf span{font-size:.66rem}.learning-map__stage:not([hidden]) .map-bubble--leaf{animation:.24s ease-out both map-bubble-open}@keyframes map-bubble-open{0%{opacity:.2;scale:.86}to{opacity:1;scale:1}}.learning-map__focus{margin-top:22px}.learning-map__step-label{color:var(--brand-strong);font-size:.8rem;font-weight:750}.learning-map__checklist{scroll-margin-top:92px}.learning-map__checklist h3{letter-spacing:-.035em;margin:6px 0 0;font-size:1.55rem;line-height:1.2}.learning-map__checklist-count{color:var(--muted);flex:none;font-size:.88rem;font-weight:700}.learning-map__checklist-count.is-complete{color:var(--teal)}.learning-map__checklist-lead{color:var(--muted);margin:8px 0 14px}.learning-map__workplace{border-left:3px solid var(--brand);color:var(--muted-strong);background:var(--surface);border-radius:0 10px 10px 0;margin:12px 0 0;padding:11px 14px;font-size:.85rem;line-height:1.5}.learning-map__workplace strong{color:var(--ink);letter-spacing:.035em;text-transform:uppercase;margin-bottom:3px;font-size:.74rem;display:block}.learning-map__level{border-top:1px solid var(--border)}.learning-map__level:last-of-type{border-bottom:1px solid var(--border)}.learning-map__level>summary{min-height:52px;color:var(--ink);cursor:pointer;align-items:center;gap:16px;padding:10px 4px;font-weight:760;list-style:none;display:flex}.learning-map__level>summary::-webkit-details-marker{display:none}.learning-map__level>summary small{color:var(--muted);margin-left:auto;font-size:.8rem;font-weight:650}.learning-map__level>summary:after{content:"+";width:22px;color:var(--brand-strong);text-align:center;font-size:1.25rem;font-weight:500}.learning-map__level[open]>summary:after{content:"−"}.learning-map__level>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;border-radius:6px}.learning-map__checklist-items{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.learning-map__checklist-items li+li{border-top:1px solid var(--border)}.learning-map__checklist-items label{cursor:pointer;align-items:flex-start;gap:14px;min-height:54px;padding:13px 4px;line-height:1.5;display:flex}.learning-map__checklist-items input{width:20px;height:20px;accent-color:var(--teal);cursor:pointer;flex:none;margin:2px 0 0}.learning-map__checklist-items input:checked+span{color:var(--muted)}.learning-map__next{min-height:44px;color:var(--brand-strong);font:inherit;background:0 0;border:0;margin-top:14px;padding:8px 0;font-weight:750}.learning-map__next:hover{text-decoration:underline}.role-map .learning-map__stage[data-role-overview]{padding:24px;position:relative}.role-map .progression-tier h3 small{color:var(--muted);letter-spacing:0;grid-area:2/2;align-self:start;font-size:.64rem;font-weight:700}.role-map .map-bubble--hub span{max-width:84px;font-size:.76rem}.role-map__topic{scroll-margin-top:92px}.role-map__topic[hidden],.role-map__subskill[hidden]{display:none!important}.role-map__topic h3{letter-spacing:-.035em;margin:6px 0 0;font-size:1.55rem;line-height:1.2}.role-map__topic-status{border:1px solid var(--border);color:var(--brand-strong);background:var(--surface-soft);border-radius:999px;flex:none;padding:6px 10px;font-size:.75rem;font-weight:750}.role-map__subskill{border:1px solid var(--border);background:radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--brand) 13%, transparent), transparent 31%), var(--surface-raised);border-radius:18px;min-height:148px;padding:20px 22px;position:relative;overflow:hidden;box-shadow:0 18px 42px #0a162d12}.role-map__subskill>span{color:var(--brand-strong);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:.72rem;font-weight:800;display:block}.role-map__subskill h4{letter-spacing:-.02em;margin:0 0 12px;font-size:1.16rem}.role-map__subskill p{max-width:78ch;color:var(--muted-strong);margin:0;line-height:1.65}.role-map__subskill ul,.role-map__subskill ol{max-width:78ch;color:var(--muted-strong);gap:9px;margin:0;padding-left:21px;line-height:1.55;display:grid}.role-map__subskill li::marker{color:var(--brand-strong);font-weight:800}.role-map__subskill--guardrails{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;display:grid}.role-map__subskill--guardrails>span,.role-map__subskill--guardrails>h4{grid-column:1/-1}.role-map__subskill--guardrails strong{color:var(--ink)}.role-map__next-topic{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.role-map__next-topic>strong{color:var(--ink);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.78rem;display:block}.role-map__next-topic b{color:var(--ink)}.role-map .search-prompt{margin-top:18px}.role-map__subskill-checklist{border-top:1px solid var(--border);grid-column:1/-1;margin-top:22px}.role-map__subskill-checklist-heading{justify-content:space-between;align-items:end;gap:20px;padding:17px 0 13px;display:flex}.role-map__subskill-checklist-heading span{color:var(--brand-strong);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:.69rem;font-weight:800;display:block}.role-map__subskill-checklist-heading h5{color:var(--ink);letter-spacing:-.018em;margin:0;font-size:1rem}.role-map__subskill-checklist-heading>strong{color:var(--muted);white-space:nowrap;font-size:.79rem}.role-map__subskill-checklist-heading>strong.is-complete{color:var(--teal)}.role-map__subskill-checklist>ol{border-bottom:1px solid var(--border);gap:0;max-width:none;margin:0;padding:0;list-style:none;display:grid}.role-map__subskill-checklist>ol>li{border-top:1px solid var(--border);grid-template-columns:92px minmax(0,1fr);align-items:start;gap:14px;min-width:0;display:grid}.role-map__check-level{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding-top:17px;font-size:.72rem;font-weight:760}.role-map__subskill-checklist label{min-width:0;min-height:60px;color:var(--muted-strong);cursor:pointer;align-items:flex-start;gap:13px;padding:14px 0;line-height:1.5;display:flex}.role-map__subskill-checklist input{width:20px;height:20px;accent-color:var(--teal);cursor:pointer;flex:none;margin:2px 0 0}.role-map__subskill-checklist input:checked+span{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--muted) 45%, transparent)}.role-map__checklist{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:18px}.role-map__checklist-heading{justify-content:space-between;align-items:end;gap:24px;padding:17px 4px 13px;display:flex}.role-map__checklist-heading span{color:var(--brand-strong);margin-bottom:5px;font-size:.73rem;font-weight:800;display:block}.role-map__checklist-heading h4{letter-spacing:-.025em;margin:0;font-size:1.2rem}.role-map__checklist-heading>strong{color:var(--muted);white-space:nowrap;font-size:.82rem}.role-map__checklist>p{color:var(--muted);margin:0 4px 17px;font-size:.88rem}.role-map__checklist-level{border-top:1px solid var(--border)}.role-map__checklist-level>summary{cursor:pointer;align-items:center;gap:16px;min-height:52px;padding:12px 4px;list-style:none;display:flex}.role-map__checklist-level>summary::-webkit-details-marker{display:none}.role-map__checklist-level>summary small{color:var(--muted);margin-left:auto;font-size:.78rem;font-weight:700}.role-map__checklist-level>summary:after{content:"+";width:20px;color:var(--brand-strong);text-align:center;font-size:1.25rem}.role-map__checklist-level[open]>summary:after{content:"−"}.role-map__checklist-level>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;border-radius:7px}.role-map__checklist-level ul{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.role-map__checklist-level li+li{border-top:1px solid var(--border)}.role-map__checklist-level label{cursor:pointer;align-items:flex-start;gap:14px;min-height:54px;padding:13px 4px;line-height:1.5;display:flex}.role-map__checklist-level input{width:20px;height:20px;accent-color:var(--teal);cursor:pointer;flex:none;margin:2px 0 0}.role-map__checklist-level input:checked+span{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--muted) 45%, transparent)}.role-map__topic-actions{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:14px 18px;display:flex}.role-map__topic-actions label{color:var(--ink);cursor:pointer;align-items:center;gap:11px;font-weight:720;display:flex}.role-map__topic-actions input{width:21px;height:21px;accent-color:var(--teal);cursor:pointer;margin:0}.role-map__topic-actions p{color:var(--muted);margin:0;font-size:.86rem}.role-map__topic-actions .learning-map__next{flex:none;margin:0;padding-inline:6px}.role-map .topic--complete .role-map__topic-status{border-color:color-mix(in srgb, var(--teal) 55%, var(--border));color:var(--teal);background:var(--teal-soft)}.role-map--core-skill .map-bubble{color:var(--ink)}.role-map--core-skill .map-bubble small{color:var(--muted-strong)}.role-map--core-skill .map-bubble--leaf{border-color:var(--border-strong);background:var(--surface-raised);width:100%;height:auto;min-height:66px;box-shadow:none;text-align:left;border-radius:9px;justify-self:stretch;align-items:flex-start;padding:11px 13px}.role-map--core-skill .map-bubble--leaf span{font-size:.78rem;line-height:1.2}.role-map--core-skill .map-bubble--leaf small{margin-top:5px;font-size:.65rem}.role-map--core-skill .map-bubble--hub{border-color:var(--border-strong);width:auto;height:auto;min-height:58px;color:var(--ink);background:var(--surface-raised);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.role-map--core-skill .map-bubble--hub span{max-width:none;font-size:.86rem}.role-map--core-skill .map-bubble--hub small{margin:0 0 0 14px;font-size:.72rem}.role-map--core-skill .map-bubble--hub[aria-expanded=true]{border-color:var(--brand);background:var(--brand-soft);outline:none}.role-map--core-skill .learning-map__canvas--branch{background:var(--surface-soft);height:auto;min-height:0;padding:18px}.role-map--core-skill .learning-map__stage[data-role-topic-view]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid;position:relative;inset:auto}.role-map--core-skill .learning-map__stage[data-role-topic-view] .map-bubble,.role-map--core-skill .learning-map__stage[data-role-topic-view] .map-bubble:hover{justify-self:stretch;width:100%;position:static;transform:none}.role-map--core-skill .learning-map__stage[data-role-topic-view] .map-bubble--hub{grid-column:1/-1}.role-map--core-skill .map-bubble--leaf[aria-pressed=true]{border-color:var(--brand);color:var(--ink);background:var(--brand-soft);box-shadow:none;outline:none}.role-map--core-skill .map-bubble--leaf.map-bubble--complete{border-color:var(--teal);color:var(--ink);background:var(--teal-soft)}.role-map--core-skill .map-bubble--leaf:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.detail[data-group=skill] .back-link{margin:10px 0 8px}.detail[data-group=skill] .detail-hero{box-shadow:none;border-radius:15px;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;padding:17px 20px}.detail[data-group=skill] .detail-hero__route{display:none}.detail[data-group=skill] .detail-hero h1{margin-block:2px 5px;font-size:clamp(2rem,4vw,2.65rem)}.detail[data-group=skill] .detail-hero__content>p:not(.eyebrow){font-size:.86rem;line-height:1.42}.detail[data-group=skill] .detail-hero__meta{margin-top:8px}.detail[data-group=skill] .fit-note{margin-top:9px;font-size:.83rem}.detail[data-group=skill] .learning-map{margin-top:18px}.role-map--core-skill .learning-map__heading{margin-bottom:8px}.role-map--core-skill .learning-map__heading h2{font-size:clamp(1.75rem,3vw,2.25rem)}.role-map--core-skill .learning-map__heading p:last-child{max-width:68ch;font-size:.88rem}.role-map--core-skill .learning-map__progress strong{font-size:1.65rem}.role-map--core-skill .learning-map__progress span{font-size:.78rem}.role-map--core-skill .learning-map__toolbar{min-height:42px}.vibe-prerequisites{border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:22px;margin-bottom:20px;padding:20px 22px;display:grid}.vibe-prerequisites>div>span{color:var(--brand-strong);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:800}.vibe-prerequisites h2{margin:5px 0 7px;font-size:1.18rem}.vibe-prerequisites p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.55}.vibe-prerequisites ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.vibe-prerequisites li{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;min-width:0;padding:10px 12px}.vibe-prerequisites a{color:var(--brand-strong);text-underline-offset:3px;font-size:.79rem;font-weight:760;display:inline-block}.vibe-prerequisites li span{color:var(--muted);margin-top:3px;font-size:.72rem;line-height:1.4;display:block}.role-map__subskill.skill-roadmap-panel{background:var(--surface-raised);min-height:0;padding:0}.skill-roadmap-panel__header{border-bottom:1px solid var(--border);padding:19px 22px 17px}.skill-roadmap-panel__header>span{color:var(--brand-strong);margin-bottom:5px;font-size:.7rem;font-weight:800;display:block}.skill-roadmap-panel__header h4{margin:0 0 6px;font-size:1.28rem}.skill-roadmap-panel__header p{max-width:70ch;font-size:.88rem;line-height:1.55}.skill-roadmap-panel__header>strong{color:var(--muted);margin-top:10px;font-size:.76rem;font-weight:720;display:block}.skill-roadmap-panel__header>strong.is-complete{color:var(--teal)}.skill-roadmap-context{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0 22px 17px;display:grid}.skill-roadmap-context>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;min-width:0;padding:11px 12px}.skill-roadmap-context dt{color:var(--brand-strong);text-transform:uppercase;letter-spacing:.045em;margin-bottom:4px;font-size:.67rem;font-weight:800}.skill-roadmap-context dd{color:var(--muted-strong);margin:0;font-size:.8rem;line-height:1.5}.skill-roadmap-context__prerequisite{grid-column:1/-1}.skill-roadmap-context a{color:var(--brand-strong);text-underline-offset:3px;font-weight:750}.skill-roadmap-list{padding:0 22px}.skill-roadmap-list__heading{justify-content:space-between;align-items:center;gap:20px;min-height:48px;display:flex}.skill-roadmap-list__heading strong{font-size:.84rem}.skill-roadmap-list__heading span{color:var(--muted);white-space:nowrap;font-size:.76rem}.skill-roadmap-list__heading span.is-complete{color:var(--teal)}.skill-roadmap-list ol{border-bottom:1px solid var(--border);max-width:none;margin:0;padding:0;list-style:none;display:block}.skill-roadmap-list li{border-top:1px solid var(--border);grid-template-columns:42px minmax(0,1fr);align-items:stretch;gap:0;min-width:0;display:grid}.skill-roadmap-list li>span{color:var(--brand-strong);padding-top:16px;font-size:.69rem;font-weight:800}.skill-roadmap-list label{min-height:54px;color:var(--ink);cursor:pointer;align-items:flex-start;gap:12px;padding:13px 0;font-size:.88rem;line-height:1.5;display:flex}.skill-roadmap-list input{width:19px;height:19px;accent-color:var(--teal);cursor:pointer;flex:none;margin:1px 0 0}.skill-roadmap-list input:checked+span{color:var(--muted);text-decoration:line-through}.skill-roadmap-exercise{padding-bottom:6px}.skill-roadmap-exercise .skill-roadmap-list__heading{border-top:1px solid var(--border);margin-top:8px}.skill-roadmap-exercise .skill-roadmap-list__heading strong{color:var(--brand-strong)}.skill-roadmap-next{background:var(--surface-soft);justify-content:space-between;align-items:baseline;gap:16px;margin-top:17px;padding:13px 22px 15px;display:flex}.skill-roadmap-next span{color:var(--muted);font-size:.74rem}.skill-roadmap-next strong{color:var(--brand-strong);text-align:right;font-size:.88rem}.js-workbench{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;grid-template-columns:auto minmax(130px,auto) 1px auto minmax(0,1fr);align-items:center;gap:9px 12px;margin:14px 0 16px;padding:12px 15px;display:grid}.js-workbench span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:760}.js-workbench strong{min-width:0;font-size:.8rem;line-height:1.45}.js-workbench i{background:var(--border);align-self:stretch}.role-map__subskill.js-lesson{background:var(--surface-raised);min-height:0;padding:0}.js-lesson__header{padding:20px 22px 18px}.js-lesson__header>span,.js-challenges__heading>span{color:var(--wisdom);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:.7rem;font-weight:800;display:block}.js-lesson__header h4{margin:0 0 7px;font-size:1.28rem}.js-lesson__header p{max-width:68ch}.js-lesson h5,.js-challenges h5{letter-spacing:-.01em;margin:0;font-size:.84rem}.js-lesson__brief{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;padding:0 22px 20px;display:grid}.js-lesson__brief section{border-top:1px solid var(--border);padding-top:16px}.js-lesson__brief h5{margin-bottom:9px}.js-lesson__brief ul{gap:6px;padding-left:18px;font-size:.84rem}.js-lesson__production{border-top:1px solid var(--border);grid-column:1/-1;padding-top:16px}.js-lesson__production h5{margin-bottom:6px}.js-lesson__production p{font-size:.86rem}.js-lesson__production--compact{margin:0 22px;padding-bottom:18px}.js-code-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 22px 20px;display:grid}.js-code-compare section{min-width:0}.js-code-compare h5{color:var(--danger);margin-bottom:7px}.js-code-compare section:last-child h5{color:var(--teal)}.js-code-compare h5 span{background:var(--danger-soft);border-radius:50%;place-items:center;width:18px;height:18px;margin-right:5px;display:inline-grid}.js-code-compare section:last-child h5 span{background:var(--teal-soft)}.js-code-compare pre{color:#e8edf8;white-space:pre-wrap;background:#101827;border:1px solid #26334a;border-radius:11px;height:100%;min-height:112px;margin:0;padding:14px;font:.75rem/1.55 ui-monospace,Cascadia Code,monospace;overflow:auto}.js-code-compare code{font:inherit}.js-edge-cases{border-top:1px solid var(--border);margin:0 22px 4px;padding:16px 0 18px}.js-edge-cases h5{margin-bottom:10px}.js-edge-cases ol{counter-reset:edge-case;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:none;padding:0;list-style:none;display:grid}.js-edge-cases li{border:1px solid var(--border);background:var(--surface-soft);counter-increment:edge-case;border-radius:10px;min-height:72px;padding:12px 12px 12px 38px;font-size:.79rem;position:relative}.js-edge-cases li:before{color:var(--wisdom);content:counter(edge-case, decimal-leading-zero);font-size:.67rem;font-weight:800;position:absolute;top:12px;left:12px}.js-lesson>.role-map__subskill-checklist{margin:0 22px 22px}.js-challenges{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;margin-top:16px;padding:18px 20px 20px}.js-challenges__heading h4{margin:0;font-size:1.08rem}.js-challenges__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.js-challenges article{border-left:3px solid var(--brand);background:var(--surface-raised);padding:14px 15px}.js-challenges article:last-child{border-left-color:var(--wisdom)}.js-challenges article>span{color:var(--brand-strong);font-size:.68rem;font-weight:780}.js-challenges article:last-child>span{color:var(--wisdom)}.js-challenges h5{margin:4px 0 7px}.js-challenges p{color:var(--muted-strong);margin:0;font-size:.83rem;line-height:1.55}.learning-map__footer{color:var(--muted);align-items:flex-start;margin-top:14px;font-size:.88rem}.learning-map__footer p{margin:0}.learning-map__footer--actions{justify-content:flex-end}@media (width<=820px){.learning-map__heading{align-items:flex-start}.learning-map__stage[data-map-overview],.learning-map__stage[data-career-overview],.role-map .learning-map__stage[data-role-overview]{padding:20px 16px;overflow-x:auto}.progression-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;min-width:0}.role-map--core-skill .learning-map__stage[data-role-topic-view]{grid-template-columns:repeat(2,minmax(0,1fr))}.map-tier-card{padding-inline:13px}.learning-map[data-frontend-map] .learning-map__stage[data-map-branch-view],.learning-map[data-career-map] .learning-map__stage[data-career-topic-view]{padding:17px}.frontend-skill-index,.frontend-skill-checklist__levels{grid-template-columns:1fr}.frontend-skill-checklist__level label{min-height:0}}@media (width<=560px){.role-map__subskill-checklist-heading{flex-direction:column;align-items:flex-start;gap:6px}.role-map__subskill-checklist>ol>li{grid-template-columns:1fr;gap:0}.role-map__check-level{padding-top:13px}.role-map__subskill-checklist label{padding-top:7px}}@media (width<=680px){.vibe-prerequisites{grid-template-columns:1fr;gap:16px;padding:17px 16px}.vibe-prerequisites ul{grid-template-columns:1fr}.skill-roadmap-context{grid-template-columns:1fr;padding-inline:16px}.skill-roadmap-context__prerequisite{grid-column:auto}.detail[data-group=skill] .detail-hero{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:15px}.detail[data-group=skill] .detail-hero__monogram{width:40px;height:40px}.detail[data-group=skill] .save-button{grid-column:1/-1;justify-content:center;width:100%}.detail[data-group=skill] .fit-note{margin-inline:2px}.role-map--core-skill .learning-map__heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.role-map--core-skill .learning-map__progress{max-width:none}.role-map--core-skill .learning-map__progress span{white-space:nowrap}.role-map--core-skill .learning-map__canvas--branch{padding:12px}.role-map--core-skill .learning-map__stage[data-role-topic-view]{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.learning-map__heading{gap:16px}.learning-map__heading h2{font-size:1.9rem}.learning-map__heading p:last-child{font-size:.9rem}.learning-map__progress strong{font-size:1.5rem}.learning-map__progress span{white-space:normal}.learning-map__legend{display:none}.learning-map__canvas--branch{border-radius:18px;height:auto;padding:21px 10px}.learning-map__stage{grid-template-columns:repeat(3,minmax(0,94px));justify-content:center;gap:13px 12px;display:grid;position:relative}.learning-map[data-frontend-map] .learning-map__stage[data-map-branch-view],.learning-map[data-career-map] .learning-map__stage[data-career-topic-view]{grid-template-columns:none;display:block}.learning-map__stage[data-map-overview],.learning-map__stage[data-career-overview],.role-map .learning-map__stage[data-role-overview]{padding:18px 14px;display:block;overflow:visible}.progression-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px;min-width:0}.learning-map__lines{display:none}.map-bubble,.map-bubble:hover{justify-self:center;width:82px;height:82px;padding:7px;position:static;transform:none}.map-bubble--hub,.map-bubble--hub:hover{grid-column:1/-1;width:108px;height:108px}.map-bubble--hub span{font-size:.9rem}.map-bubble--leaf{width:82px;height:82px}.learning-map__footer{flex-direction:column;gap:8px}.role-map__subskill{min-height:0;padding:20px 19px}.role-map__subskill--guardrails{grid-template-columns:1fr;row-gap:12px}.role-map__checklist-heading{flex-direction:column;align-items:flex-start;gap:7px}.role-map__topic-actions{flex-direction:column;align-items:flex-start}.role-map--core-skill .map-bubble--leaf,.role-map--core-skill .map-bubble--leaf:hover{border-radius:9px;width:100%;height:auto;min-height:66px}.js-workbench{grid-template-columns:auto minmax(0,1fr)}.js-workbench i{display:none}.js-lesson__brief,.js-code-compare,.js-challenges__grid{grid-template-columns:1fr}.js-lesson__production{grid-column:auto}.js-edge-cases ol{grid-template-columns:1fr}.js-edge-cases li{min-height:0}}@media (width<=430px){.role-map--core-skill .learning-map__heading{grid-template-columns:1fr;align-items:start}.role-map--core-skill .learning-map__progress{text-align:left;align-items:baseline;gap:9px;display:flex}.learning-map__heading{flex-direction:column}.learning-map__progress{text-align:left;align-items:baseline;gap:10px;display:flex}.learning-map__progress strong{font-size:1.25rem}.learning-map__toolbar{flex-direction:column;align-items:flex-start;gap:4px;padding-block:6px}.learning-map__toolbar p{overflow-wrap:anywhere;width:100%;font-size:.78rem}.learning-map__back{white-space:nowrap;min-height:40px}.learning-map__checklist-heading{flex-direction:column;align-items:flex-start;gap:6px}.frontend-skill-checklist__header{flex-direction:column;gap:8px}.frontend-skill-checklist__header>strong{font-size:1.1rem}.frontend-skill-index__item{grid-template-columns:28px minmax(0,1fr) auto;padding-inline:11px}.frontend-selected-skill__back{margin-inline:16px}.learning-map__canvas{background:var(--surface-soft)}.progression-tier h3{height:auto;margin-bottom:11px}.progression-board{grid-template-columns:1fr;gap:22px}.role-map--core-skill .learning-map__stage[data-role-topic-view]{grid-template-columns:1fr}.progression-tier__cards{gap:9px}.progression-tier__cards:before{display:none}.map-tier-card{min-height:72px}.skill-roadmap-panel__header{padding:17px 16px 15px}.skill-roadmap-list{padding-inline:16px}.skill-roadmap-list__heading{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding-block:10px}.skill-roadmap-list li{grid-template-columns:34px minmax(0,1fr)}.skill-roadmap-next{flex-direction:column;align-items:flex-start;gap:3px;padding-inline:16px}.skill-roadmap-next strong{text-align:left}.js-lesson__header{padding:18px 17px 15px}.js-lesson__brief,.js-code-compare{padding-inline:17px}.js-lesson__production--compact,.js-edge-cases,.js-lesson>.role-map__subskill-checklist{margin-inline:17px}}@media (prefers-reduced-motion:reduce){.map-bubble{transition:none;animation:none!important}}
