:root{--shell-width:224px}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--shell-width);background:#0A0A0B;color:#FAFAFA;padding:28px 20px;z-index:20;display:flex;flex-direction:column;border-right:1px solid #303034;overflow-y:auto}.app-sidebar .shell-brand img{display:block;width:180px;height:auto;margin:0 0 24px}.shell-caption{font:500 11px/1.5 'JetBrains Mono',monospace;color:#A1A1AA;margin:0 0 20px}.app-sidebar nav{display:grid;gap:6px}.app-sidebar nav a{padding:12px 14px;text-decoration:none;color:#D4D4D8;border-radius:7px;font-size:14px;font-weight:500;min-height:44px;display:flex;align-items:center;gap:12px}.app-sidebar nav a:hover{background:#27272B;color:#fff}.app-sidebar nav a[aria-current=page]{background:#C20E1C;color:#fff}.shell-nav-number{font:500 11px 'JetBrains Mono',monospace;opacity:.75}.sidebar-end{margin-top:auto;padding-top:36px;color:#A1A1AA;font-size:12px;line-height:1.6}.sidebar-end a{color:#D4D4D8}.shell-content{margin-left:var(--shell-width);min-width:0;min-height:100dvh;width:calc(100% - var(--shell-width))}.shell-content>.masthead{display:none}.shell-mobilebar{display:none}.shell-drawer-close{display:none}.shell-backdrop{display:none}.shell-module-context{padding:18px 24px;border-bottom:1px solid #E7E7EA;background:#FAFAFA;color:#18181B;display:flex;align-items:center;justify-content:space-between;gap:12px}.shell-module-context .module-caption{font-size:13px;line-height:1.5;max-width:38ch}.module-caption strong{display:block;font-weight:600}.shell-tabs{display:flex;gap:8px;flex-wrap:wrap}.shell-tabs a{font-size:12px;text-decoration:none;border:1px solid #D4D4D8;border-radius:6px;padding:9px 12px;min-height:36px;display:inline-flex;align-items:center;background:#fff;color:#18181B}.shell-tabs a[aria-current=page]{background:#18181B;border-color:#18181B;color:#fff}.shell-content .lesson-controls>a:first-child,.shell-content .lesson-controls>a[href="lab.html"]{display:none}.shell-content .wrap,.shell-content .os-shell{max-width:1140px;padding:36px 32px 64px}.shell-content .deck{max-width:100%;min-width:0}.shell-content .module-preflight{max-width:100%}.shell-overview h1{font-size:clamp(34px,4vw,56px);line-height:1.12;letter-spacing:-.04em;font-weight:600;margin:0 0 18px}.shell-overview .overview-top{padding:32px;border:1px solid #E7E7EA;border-radius:12px;background:#fff;margin-bottom:28px}.overview-top p{max-width:72ch;color:#52525B;font-size:17px;margin:0 0 24px}.overview-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.overview-actions .button{font-size:14px}.overview-resume-note{font-size:13px!important;margin-top:16px!important;margin-bottom:0!important}.shell-section{margin:36px 0}.shell-section>h2{font-size:28px;font-weight:600;letter-spacing:-.03em;margin:0 0 12px;line-height:1.3}.shell-section>p{margin:0 0 20px;color:#52525B;font-size:16px}.goal-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.goal-cards button{min-height:90px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;white-space:normal;background:#fff;color:#18181B;border-color:#D4D4D8;padding:16px;gap:8px;font-size:15px}.goal-cards button[aria-pressed=true]{background:#FEECEC;border:2px solid #C20E1C}.goal-cards small{font-size:12px;color:#71717A;font-weight:400;line-height:1.5}.shell-stage{border-top:2px solid #18181B;margin-top:36px;padding-top:24px}.shell-stage h3{font-size:23px;letter-spacing:-.02em;margin:0 0 8px;line-height:1.4}.shell-stage>p{font-size:15px;color:#52525B;margin:0 0 20px}.shell-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.shell-module-card{border:1px solid #E7E7EA;border-radius:10px;background:#fff;padding:22px;display:flex;flex-direction:column;min-width:0}.shell-module-card h4{font-size:19px;line-height:1.4;letter-spacing:-.02em;margin:10px 0 14px;font-weight:600}.shell-module-card p{font-size:14px;line-height:1.6;color:#52525B;margin:0 0 18px}.shell-module-card .module-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto;font-size:13px}.module-links .button{font-size:12px;padding:9px 12px;min-height:38px}.shell-support{border:1px solid #E7E7EA;border-radius:10px;background:#fff;margin:16px 0;padding:20px}.shell-support>summary{cursor:pointer;font-weight:500;min-height:32px}.shell-support>summary:hover{color:#C20E1C}.shell-support>.prompt-library{margin-top:24px}.shell-support .video-showcase{margin-top:24px}.shell-overview .path-results{grid-template-columns:repeat(3,minmax(0,1fr))}.shell-overview .path-map{max-width:800px;margin:auto}.shell-content .lesson-controls{flex-wrap:wrap}.app-sidebar [hidden]{display:none!important}
@media(max-width:1250px){.goal-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-module-context{align-items:flex-start;flex-direction:column}.shell-content .wrap,.shell-content .os-shell{padding-left:24px;padding-right:24px}}
@media(max-width:1100px){.app-sidebar{transform:translateX(-100%);width:224px;visibility:hidden;transition:transform .18s ease,visibility .18s}.shell-open .app-sidebar{transform:none;visibility:visible}.shell-drawer-close{display:block;position:absolute;right:12px;top:12px;min-height:36px;padding:6px 10px;font-size:12px;background:#27272B;border-color:#43434A}.app-sidebar .shell-brand{margin-top:40px}.shell-content{margin-left:0;width:100%}.shell-mobilebar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0A0A0B;color:#fff;padding:12px 16px;min-height:62px}.shell-mobilebar img{width:168px;height:auto;display:block}.shell-mobilebar button{min-height:38px;padding:8px 12px;font-size:13px;background:#27272B;border-color:#43434A}.shell-open .shell-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:19;border:0;border-radius:0;width:100%;height:100%;cursor:default}.shell-open{overflow:hidden}.shell-content .wrap,.shell-content .os-shell{padding:28px 20px 48px}.shell-module-context{padding:16px 20px}.shell-tabs{gap:6px}.shell-tabs a{padding:8px 10px;font-size:12px;min-height:38px}.shell-overview .path-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.shell-content .wrap,.shell-content .os-shell{padding:24px 16px 40px}.shell-overview .overview-top{padding:24px}.shell-overview h1{font-size:34px}.shell-module-context{padding:14px 16px}.shell-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.shell-tabs a{justify-content:center}.shell-modules{grid-template-columns:1fr}.goal-cards{gap:10px}.goal-cards button{padding:12px;font-size:14px;min-height:110px}.shell-overview .path-results{grid-template-columns:1fr}.shell-support{padding:16px}.overview-actions>*{width:100%}.shell-mobilebar img{width:156px}}
@media(prefers-reduced-motion:reduce){.app-sidebar{transition:none}}
@media print{.app-sidebar,.shell-mobilebar,.shell-module-context,.shell-backdrop{display:none!important}.shell-content{margin:0;width:100%}}

/* Selected learning routes remain visible while labels stay crisp. */
.shell-map .path-map{max-width:840px;background:#111114;border-radius:10px;padding:14px;margin:20px auto 0}
.shell-map .path-map path{stroke:#45454E;stroke-width:1.5;fill:none}
.shell-map .path-map path.chosen{stroke:#FF7383;stroke-width:2.5;stroke-dasharray:8 6;animation:learning-route 3s linear infinite}
.shell-map .path-map circle{fill:#222228;stroke:#71717A;stroke-width:1.5}
.shell-map .path-map g.chosen circle{fill:#C20E1C;stroke:#FF7383;stroke-width:2}
.shell-map .path-map text{fill:#FAFAFA;stroke:none!important;stroke-width:0!important;font-weight:500}
.shell-map .path-map .map-caption{fill:#D4D4D8;font-size:14px}
.shell-map .path-map a:focus circle,.shell-map .path-map a:hover circle{stroke:#fff;stroke-width:3}
.motion-off .shell-map path.chosen{animation-play-state:paused}
@keyframes learning-route{to{stroke-dashoffset:-28}}
@media(prefers-reduced-motion:reduce){.shell-map .path-map path.chosen{animation:none}}
@media(max-width:600px){.shell-map .path-map{padding:4px}.shell-map .map-caption{font-size:16px}}

.shell-path-explorer{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}
.shell-path-explorer .shell-map{margin:0;padding:16px;min-width:0}
.shell-path-explorer .shell-map p{font-size:13px;line-height:1.5;color:#52525B}
.shell-overview .shell-path-explorer .path-results{grid-template-columns:1fr;margin:0;gap:10px}
.shell-path-explorer .path-results a{padding:12px;gap:5px}
.shell-path-explorer .path-results strong{font-size:14px;line-height:1.4}
.shell-path-explorer .path-map text{font-size:26px}
.shell-path-explorer .path-map .map-caption{font-size:20px}
@media(max-width:760px){.shell-path-explorer{grid-template-columns:1fr}.shell-path-explorer .shell-map{order:2}.shell-path-explorer .path-results{order:1}}
/* The route is orientation content, always visible before tools and scenes. */
.module-route{background:#fff;border:1px solid #E7E7EA;border-radius:10px;padding:22px;margin:18px 0 24px;color:#18181B;font:400 15px/1.6 Inter,sans-serif}.module-route h2{font:600 20px/1.3 Inter,sans-serif;letter-spacing:-.02em;margin:0 0 18px}.route-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.route-steps>a{display:flex;align-items:flex-start;gap:10px;min-width:0;text-decoration:none;padding:12px;border:1px solid #D4D4D8;border-radius:8px;color:#18181B;background:#FAFAFA}.route-steps>a:hover{border-color:#C20E1C}.route-steps b{font:500 13px/1.5 'JetBrains Mono',monospace;color:#C20E1C}.route-steps span{min-width:0}.route-steps strong{font:500 13px/1.5 Inter,sans-serif;display:block}.route-steps small{font:400 12px/1.5 Inter,sans-serif;color:#71717A;display:block;margin-top:4px}.route-context{margin-top:16px;display:grid;grid-template-columns:1.4fr 1fr auto;gap:16px}.route-context p{font-size:13px;line-height:1.6;margin:0!important;color:#52525B}.route-context strong{color:#18181B}.route-examples{margin:14px 0 0!important;font-size:13px;line-height:1.6}.quick-win-cta{background:#C20E1C!important;border-color:#C20E1C!important}.module-preflight .module-route{max-width:1140px;margin:0 auto 12px}.module-preflight{padding-top:18px}.os-intro>.module-route{margin-top:24px;margin-bottom:28px}.shell-content .lesson-controls{top:0}.sidebar-end{padding-top:24px}.shell-overview .overview-actions{gap:10px}.module-route [hidden]{display:none!important}
@media(max-width:1250px){.route-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.route-context{grid-template-columns:1fr 1fr}.route-context p:last-child{grid-column:1/-1}}
@media(max-width:600px){.module-route{padding:16px;margin-top:16px}.module-route h2{font-size:19px}.route-steps{gap:8px}.route-steps>a{padding:10px;gap:8px}.route-steps strong{font-size:12px}.route-steps small{font-size:12px}.route-context{grid-template-columns:1fr;gap:12px}.module-preflight .module-route{margin-bottom:12px}.route-context p:last-child{grid-column:auto}.route-examples{font-size:13px}}
@media(min-width:1101px){.module-route{padding:12px 14px;margin:12px 0 18px;position:relative}.module-route h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.route-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.route-steps>a{padding:8px 10px;align-items:center;min-height:36px}.route-steps small{display:none}.route-steps strong{font-size:12px;line-height:1.4}.route-context{margin-top:8px;grid-template-columns:1.4fr 1fr auto;gap:12px}.route-context p{font-size:12px;line-height:1.45}.route-examples{font-size:12px;line-height:1.45;margin-top:6px!important}.module-preflight{padding-top:8px}.module-preflight .module-route{margin-bottom:8px}}

.module-route .route-context a,.module-route .route-examples a{color:#C20E1C}
