/* Original Java learning islands; ordered links remain the navigation. */
.map-layout{display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-areas:"summary map";gap:26px;align-items:start;direction:ltr}
.journey-section{grid-area:map;min-width:0;direction:rtl;border:1px solid var(--line);border-radius:12px;background:var(--bg);overflow:hidden}
.journey-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 28px;background:var(--surface);border-bottom:1px solid var(--line)}
.journey-header h2{font-size:25px;margin:6px 0}.journey-header p{margin:0;font-size:12px}.journey-header-symbol{font:700 28px Consolas,monospace;color:var(--orange-dark)}
.journey-map{--map-step:172px;--platform-size:128px;--connector-y:76px;padding:24px 28px 6px;direction:ltr}
.journey-stops{position:relative;list-style:none;margin:0;padding:0}
.journey-stop-row{height:var(--map-step);position:relative;isolation:isolate}
.stop-right{--stop-x:66%}.stop-left{--stop-x:34%}
.map-connector{position:absolute;left:0;top:var(--connector-y);width:100%;height:var(--map-step);overflow:visible;pointer-events:none;z-index:-1}
.map-connector path{stroke:var(--line);stroke-width:3;stroke-dasharray:6 7;fill:none}.connector-available path{stroke:var(--orange-dark);stroke-dasharray:none;opacity:.55}.map-connector.is-complete path{stroke:var(--green);stroke-dasharray:none;opacity:.85}
.journey-map .map-stop{--island-top:#293b50;--island-left:#1b2b3c;--island-right:#233449;--island-line:#637b92;--island-icon:#1b2b3c;--island-glyph:#b0bfce;position:absolute;left:var(--stop-x);top:12px;display:block;width:var(--platform-size);min-height:0;height:auto;padding:0;margin:0;border:0;border-radius:10px;background:transparent;transform:translateX(-50%);direction:rtl;text-decoration:none;z-index:1;transition:none}
.journey-map .map-stop::after{display:none}.journey-map .map-stop:hover{background:transparent;transform:translateX(-50%);border:0}
.journey-map[data-map-kind="lectures"] .map-stop{scroll-margin-top:48px}
@media(max-width:900px){.journey-map[data-map-kind="lectures"] .map-stop{scroll-margin-top:160px}}
.map-stop.available{--island-top:#845127;--island-left:#4e331f;--island-right:#684021;--island-line:#d79b62;--island-icon:#30271e;--island-glyph:#ffd0a0}
.map-stop.is-current{--island-top:#ab6a33;--island-left:#744420;--island-right:#8c552b;--island-line:#ffc68f;--island-icon:#3d2c1e;--island-glyph:#ffdab6}
.map-stop.completed{--island-top:#347251;--island-left:#204a36;--island-right:#295b40;--island-line:#91d6ae;--island-icon:#183b2b;--island-glyph:#b4f0ca}
[data-theme="light"] .map-stop{--island-top:#e0e7ee;--island-left:#b8c6d3;--island-right:#c9d5df;--island-line:#849aac;--island-icon:#edf2f6;--island-glyph:#526577}
[data-theme="light"] .map-stop.available{--island-top:#f1b77f;--island-left:#bb7438;--island-right:#d39456;--island-line:#ae652c;--island-icon:#fff1e3;--island-glyph:#8c420d}
[data-theme="light"] .map-stop.is-current{--island-top:#f4a65b;--island-left:#b96a28;--island-right:#d48742;--island-line:#8d430c;--island-icon:#fff3e7;--island-glyph:#8c420d}
[data-theme="light"] .map-stop.completed{--island-top:#95d3ad;--island-left:#4d9068;--island-right:#6bb284;--island-line:#348252;--island-icon:#e7f6ec;--island-glyph:#216c47}
.map-platform{display:block;width:100%;height:auto;overflow:visible;transition:transform .16s ease}
.platform-class-title{fill:var(--island-glyph);font:700 14px Consolas,monospace;direction:ltr}.platform-class-lines{stroke:var(--island-glyph);stroke-width:1.5;stroke-linecap:round}.completed .platform-class{display:none}
.map-stop:hover .map-platform,.map-stop:focus-visible .map-platform{transform:translateY(-4px)}
.platform-shadow{fill:#050d17;opacity:.17}.platform-bottom{fill:var(--island-left);stroke:var(--island-line);stroke-width:1.5}.platform-edge-left{fill:var(--island-left)}.platform-edge-right{fill:var(--island-right)}.platform-top{fill:var(--island-top);stroke:var(--island-line);stroke-width:2}.platform-inset{stroke:var(--island-line);stroke-width:1;opacity:.65}.platform-groove{stroke:var(--island-line);stroke-width:2;opacity:.7}.platform-icon{fill:var(--island-icon);stroke:var(--island-line);stroke-width:2}.platform-glyph{fill:var(--island-glyph);font:700 23px Consolas,monospace;direction:ltr}.platform-tick{display:none;stroke:var(--island-glyph)}.completed .platform-tick{display:block}.completed .platform-glyph{display:none}
.map-step-number{position:absolute;top:2px;left:-3px;display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font:600 11px Consolas,monospace;color:var(--muted);direction:ltr}
.is-current .map-step-number{border-color:var(--orange-dark);color:var(--orange-dark)}.completed .map-step-number{border-color:var(--success-line);color:var(--green)}
.journey-map .node-copy{position:absolute;top:50%;transform:translateY(-50%);width:150px;padding:0;border:0;direction:rtl}
.stop-right .node-copy{left:calc(100% + 12px);text-align:left}.stop-left .node-copy{right:calc(100% + 12px);text-align:right}
.journey-map .node-copy h3,.journey-map .node-copy h2{margin:0 0 6px;font-size:16px;line-height:1.6;font-weight:650;color:var(--text);text-align:inherit;overflow-wrap:anywhere}
.journey-map .node-copy p{font-size:11px;line-height:1.7;margin:0 0 8px;text-align:inherit;overflow-wrap:anywhere}.journey-map .node-copy .badge{display:inline-block;font-size:10px;padding:3px 7px}.map-node-progress{display:block;font-size:10px;color:var(--muted);margin-top:6px}.journey-map .stage-state{display:block;font-size:11px;color:var(--orange-dark)}.journey-map .completed .stage-state{color:var(--green)}
.path-summary{grid-area:summary;position:sticky;top:100px;direction:rtl;min-width:0}.path-summary-card{padding:25px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:center}.path-summary-ring{position:relative;width:128px;height:128px;margin:0 auto 18px}.path-summary-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.path-summary-ring circle{fill:none;stroke-width:7}.path-ring-track{stroke:var(--line)}.path-ring-fill{stroke:var(--orange-dark);stroke-linecap:round;transition:stroke-dashoffset .25s}.path-ring-fill.is-complete{stroke:var(--green)}.path-summary-ring strong{position:absolute;inset:0;display:grid;place-items:center;font-size:29px;color:var(--text);direction:ltr}.path-summary-card h2{font-size:18px;line-height:1.7;margin:0 0 6px}.path-summary-card>p{font-size:12px;margin:0}.path-resume-description{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.path-resume-description>span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.path-resume-description strong{display:block;font-size:12px;line-height:1.9;font-weight:500}.path-summary-card .button{width:100%;margin-top:18px;font-size:12px;min-height:44px;padding:11px}
.path-map-legend{padding:20px 8px;font-size:11px;color:var(--muted)}.path-map-legend>span{display:block;margin-bottom:11px}.path-map-legend p{border-top:1px solid var(--line);padding-top:15px;margin-top:16px;font-size:11px;line-height:1.9}
.map-mastery-card{margin:0 28px 28px;gap:14px;padding:20px}.map-mastery-card h2{font-size:17px;margin:0 0 5px;line-height:1.7}.map-mastery-card p{font-size:11px;margin:0}.map-mastery-icon{width:40px;height:40px;display:grid;place-items:center;color:var(--orange-dark);background:var(--accent-soft);border-radius:9px;flex:none}
@media(min-width:1251px) and (max-width:1340px){.journey-map .node-copy{width:128px}}
@media(max-width:1250px){.map-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"summary" "map";gap:22px}.path-summary{position:static}.path-summary-card{display:grid;grid-template-columns:96px minmax(0,1fr) 220px;column-gap:22px;text-align:right;padding:20px 24px}.path-summary-ring{grid-column:1;grid-row:1/4;width:96px;height:96px;margin:0}.path-summary-ring strong{font-size:25px}.path-summary-card h2{grid-column:2;grid-row:1;align-self:end}.path-summary-card>p{grid-column:2;grid-row:2}.path-resume-description{grid-column:2;grid-row:3;border:0;padding:0;margin:5px 0 0}.path-resume-description>span{display:none}.path-summary-card .button{grid-column:3;grid-row:1/4;margin:0}.path-map-legend{display:flex;flex-wrap:wrap;column-gap:20px;row-gap:7px;padding:14px 4px 0}.path-map-legend>span{margin:0}.path-map-legend p{border:0;margin:0;padding:0}}
@media(max-width:650px){.map-layout{gap:18px}.journey-header{padding:20px 18px}.journey-header h2{font-size:22px}.journey-header p{font-size:11px}.journey-header-symbol{font-size:24px}.journey-map{--map-step:174px;--platform-size:110px;--connector-y:65px;padding:18px 12px 24px}.journey-map .map-stop{top:10px}.journey-map .node-copy{top:50%;width:clamp(100px,calc(34vw - 6px),128px);transform:translateY(-50%);padding:0;background:transparent}.stop-right .node-copy{left:auto;right:calc(100% + 8px);text-align:right}.stop-left .node-copy{left:calc(100% + 8px);right:auto;text-align:left}.journey-map .node-copy h2,.journey-map .node-copy h3{font-size:13px;margin-bottom:3px;line-height:1.65;text-align:inherit}.journey-map .node-copy p{font-size:10px;margin-bottom:4px;text-align:inherit}.journey-map .node-copy .badge{font-size:9px;padding:2px 5px}.map-node-progress{font-size:9px;margin-top:4px}.map-step-number{width:24px;height:24px;font-size:10px}.journey-map .stage-state{font-size:10px}.path-summary-card{padding:18px;grid-template-columns:76px minmax(0,1fr);gap:3px 16px}.path-summary-ring{width:76px;height:76px}.path-summary-ring strong{font-size:21px}.path-summary-card h2{font-size:16px}.path-summary-card>p,.path-resume-description strong{font-size:11px}.path-summary-card .button{grid-column:1/-1;grid-row:4;margin-top:12px}.path-map-legend{font-size:10px;gap:8px 12px}.path-map-legend p{width:100%;font-size:10px}.map-mastery-card{margin:0 16px 18px;padding:15px;gap:10px}.map-mastery-card h2{font-size:14px}.map-mastery-card p{font-size:10px}.map-mastery-icon{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.map-platform,.path-ring-fill{transition:none}}

