/* Responsive modules, units and models share ECG palette tokens and academic states.
   Raised silver/graphite actions, blue active context, inset locked information. */
.desktop-course-intro,.desktop-modules-heading,.desktop-hex-surface,.desktop-hex-action,.desktop-complete-mark,.overview-module-summary{display:none}

 body.desktop-modules{--overview-action:var(--ecg-ui-action-bg);--overview-inset:var(--ecg-ui-inset-bg);--overview-focus:var(--ecg-ui-focus);display:block!important;height:auto!important;background:var(--ecg-ui-bg)!important;overflow:visible!important;min-height:100dvh;color:var(--ecg-ui-text);font-family:'Segoe UI',sans-serif}
 body.desktop-modules::before,body.desktop-modules::after,body.desktop-modules #academy-map::before,body.desktop-modules #academy-map::after{display:none!important}
 body.desktop-modules .learning-page{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:30px 36px 52px!important;min-height:calc(100dvh - 80px)!important;height:auto!important;overflow:visible!important;box-sizing:border-box}
 body.desktop-modules #academy-map{position:relative!important;inset:auto!important;width:100%!important;max-width:1180px!important;min-height:0!important;height:auto!important;padding:0!important;margin:0 auto!important;overflow:visible!important;background:none!important;border:0!important;box-shadow:none!important}
 body.desktop-modules #academy-map .view-system{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;margin:0!important;background:none!important;border:0!important;overflow:visible!important;transform:none!important}
 body.desktop-modules .view-system::before,body.desktop-modules .view-system::after,
 body.desktop-modules .view-system :is(.orbital-heading,.orbital-hint,.module-motion-toggle,.module-space-video,.stage-stars,.stage-twinkle,.hex-hologram,.orbit,.orbital-tracks,.course-star,.course-module-links,.hex-stagger-links,.planet-popover-bridge,.hex-pages),
 body.desktop-modules :is(.viewer-empty,.hex-scroll-hint,.desktop-intro-node),body.desktop-modules>.learning-page>.crumb{display:none!important}

 .desktop-course-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:24px 28px;border:1px solid #8194b433;border-top-color:var(--ecg-ui-line-strong);border-bottom:4px solid #080e19;border-radius:20px;background:linear-gradient(130deg,#253045,#182332 65%,#141e2c);box-shadow:inset 0 1px #f2f6ff16,0 4px #050b13,0 16px 32px #0003;color:#ebeff8}
 .desktop-course-eyebrow{display:block;color:var(--ecg-ui-silver);font-size:12px;font-weight:700;letter-spacing:.14em}
 .desktop-intro-copy h1{font:700 clamp(26px,2.7vw,36px)/1.2 'Segoe UI',sans-serif;letter-spacing:-.025em;margin:9px 0 0;color:var(--ecg-ui-silver-bright);text-shadow:0 2px #090f1c}
 .desktop-intro-note{padding:15px 18px;border:1px solid #7084a128;border-top-color:#050b1680;border-radius:12px;background:#0c15244d;box-shadow:inset 0 2px 7px #0005,0 1px #dee8ff0a}
 .desktop-intro-note>span{color:var(--ecg-ui-silver);font-size:10px;font-weight:700;letter-spacing:.13em}
 .desktop-intro-note h2{font:650 17px/1.35 'Segoe UI',sans-serif;letter-spacing:0;margin:5px 0 6px;color:var(--ecg-ui-silver-bright)}
 .desktop-intro-note p{font:14px/1.55 'Segoe UI',sans-serif;color:#b9c4d5;margin:0;max-width:38ch}
 .desktop-intro-media{position:relative;aspect-ratio:16/9;min-width:0;border:1px solid #879bb04a;border-top-color:#000b;border-radius:14px;background:#080e18;overflow:hidden;box-shadow:inset 0 3px 14px #000b,0 1px #b8c9e328}
 .desktop-intro-media iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:#080e18}
 .desktop-intro-media>p{display:grid;place-items:center;position:absolute;inset:0;margin:0;color:#b9c4d5;font-size:15px}

 .desktop-modules-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 20px;padding:0 2px}
 .desktop-modules-heading h2{margin:0;color:var(--ecg-ui-silver-bright);font:650 23px/1.25 'Segoe UI',sans-serif;letter-spacing:-.02em}
 .desktop-modules-heading p{margin:6px 0 0;color:#a9b6c9;font:14px/1.5 'Segoe UI',sans-serif}
 body.desktop-modules .orbital-hud{position:static!important;inset:auto!important;display:flex!important;align-items:baseline;gap:5px;transform:none!important;background:none!important;border:0!important;border-left:1px solid #52617a!important;border-radius:0!important;padding:0 0 0 14px!important;box-shadow:none!important;min-width:0!important;color:var(--ecg-ui-silver);font:700 17px/1.2 'Segoe UI',sans-serif}
 body.desktop-modules .orbital-hud strong{color:var(--ecg-ui-silver)!important;font:inherit!important}
 body.desktop-modules .orbital-hud span{font:700 11px/1.3 'Segoe UI',sans-serif!important;color:var(--ecg-ui-silver)!important;letter-spacing:.04em}

 .desktop-module-layout{overflow-anchor:none}
 body.desktop-modules #academy-map .solar-map{display:none!important}
 .overview-sections{display:flex;flex-direction:column;gap:16px}
 .overview-section{position:relative;min-width:0;scroll-margin-top:104px}
 body.desktop-modules #academy-map .overview-sections [data-overview-section]{position:relative!important;width:100%!important;height:auto!important;min-height:110px!important;aspect-ratio:auto!important;box-sizing:border-box!important;display:block!important;inset:auto!important;transform:none!important;clip-path:none!important;border:1px solid #899cbb47!important;border-top-color:var(--ecg-ui-line-strong)!important;border-bottom:4px solid #080e19!important;border-radius:17px!important;padding:21px 25px!important;margin:0!important;background:var(--overview-action)!important;box-shadow:inset 0 1px #eef5ff12,0 3px #050b13,0 8px 16px #0003!important;filter:none!important;outline:none;cursor:pointer;font-family:'Segoe UI',sans-serif!important;text-align:left!important;transition:transform .25s ease,border-color .3s ease,filter .3s ease!important}
 body.desktop-modules #academy-map [data-planet-trigger]::before,body.desktop-modules #academy-map [data-planet-trigger]::after,
 body.desktop-modules #academy-map [data-planet-trigger] :is(.planet-label,.module-hex-art,.module-hex-frame,.planet-sphere,.module-state-emblem,.desktop-hex-surface,.desktop-hex-action,.desktop-complete-mark){display:none!important}
 body.desktop-modules #academy-map .overview-sections [data-overview-section]:hover{transform:translateY(-2px)!important;filter:brightness(1.1)!important;border-color:rgb(var(--ecg-ui-blue-rgb) / 55%)!important;border-bottom-color:#080e19!important}
 body.desktop-modules #academy-map .overview-sections [data-overview-section]:active{transform:translateY(1px)!important}
 body.desktop-modules #academy-map .overview-sections [data-overview-section]:focus-visible{outline:2px solid var(--ecg-ui-accent-soft)!important;outline-offset:4px!important}
 body.desktop-modules #academy-map .overview-open>[data-overview-section]{border-color:rgb(var(--ecg-ui-blue-rgb) / 57%)!important;border-bottom-color:#111727!important}
 body.desktop-modules #academy-map .overview-completed>[data-overview-section]{background:linear-gradient(125deg,#284a41,#1a342e 65%,#172c29)!important;border-color:#85ccac69!important;border-top-color:#b5e4cd8c!important;border-bottom-color:#081610!important}
 body.desktop-modules #academy-map .desktop-exam-node>[data-overview-section]{background:linear-gradient(125deg,#373a3b,#242b32 65%,#202731)!important;border-color:#b19b666b!important;border-top-color:#e9ce957d!important;border-bottom-color:#100f0b!important}
 .overview-module-summary{display:flex;align-items:center;gap:20px;pointer-events:none;width:100%;min-width:0}
 .overview-module-emblem{display:grid;place-items:center;flex:0 0 56px;height:56px;clip-path:none;background:linear-gradient(145deg,#566477,#2a3544 55%,#1d2836);color:var(--ecg-ui-silver-bright);filter:none;font:700 18px/1 'Segoe UI',sans-serif;border:1px solid var(--ecg-ui-line-strong);border-top-color:var(--ecg-ui-silver);border-bottom:3px solid #090f18;border-radius:13px;box-sizing:border-box;padding:3px;box-shadow:inset 0 1px #ffffff24,0 2px #050b13}
 .overview-module-emblem>span{display:grid;place-items:center;width:100%;height:100%;clip-path:none;background:linear-gradient(145deg,#344152,#202c3b);box-shadow:inset 0 1px #ffffff12;border-radius:9px}
 .overview-completed .overview-module-emblem{background:linear-gradient(145deg,#4e8f70,#265640);color:#deffed}
 .overview-module-emblem svg{width:29px;height:29px}
 .desktop-exam-node .overview-module-emblem{background:none;clip-path:none;filter:drop-shadow(0 3px 2px #0007);color:#e2c58a;border:0;border-radius:0;padding:0;box-shadow:none}
 .desktop-exam-node .overview-module-emblem svg{width:48px;height:53px;stroke-width:1.3;fill:#7d684433}
 .overview-module-copy{display:block;flex:1;min-width:0}
 .overview-module-eyebrow{display:block;font:650 11px/1.3 'Segoe UI',sans-serif;letter-spacing:.11em;color:var(--ecg-ui-silver)}
 .overview-module-copy>strong{display:block;color:var(--ecg-ui-silver-bright);font:650 20px/1.3 'Segoe UI',sans-serif;letter-spacing:-.015em;margin:5px 0;text-shadow:0 1px #050b14}
 .overview-module-meta{display:block;color:#afbdcf;font:13px/1.4 'Segoe UI',sans-serif}
 .overview-completed .overview-module-eyebrow{color:#a8dfc2}.desktop-exam-node .overview-module-eyebrow{color:#ddc594}
 .overview-module-status{display:flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;padding:7px 10px;background:#09121e66;border:1px solid #9aaac729;border-radius:8px;box-shadow:inset 0 2px 4px #0004;color:var(--ecg-ui-silver);font:600 12px/1.3 'Segoe UI',sans-serif}
 .overview-module-status svg{width:15px;height:15px;flex:0 0 15px}.overview-module-status i{width:5px;height:5px;background:var(--ecg-ui-blue);border-radius:50%}
 .overview-module-status.is-completed{color:#c6f5dc;border-color:#83cca653;background:#103225}
 .overview-module-toggle{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:115px;color:var(--ecg-ui-silver);font:600 12px/1.3 'Segoe UI',sans-serif}
 .overview-module-toggle>svg{padding:8px;width:18px;height:18px;box-sizing:content-box;border:1px solid var(--ecg-ui-line);border-radius:10px;background:var(--ecg-ui-action-bg);box-shadow:inset 0 1px #fff1,0 2px #080e19;transform:rotate(90deg);transition:transform .65s cubic-bezier(.4,0,.2,1);color:var(--ecg-ui-silver)}
 .overview-open .overview-module-toggle>svg{transform:rotate(-90deg)}
 .desktop-exam-node .overview-module-toggle{color:#dcc797}
 .desktop-module-details{margin:0 12px;overflow:hidden;overflow-anchor:none;box-sizing:border-box;border-radius:0 0 16px 16px;background:linear-gradient(140deg,#0d1725,#0b1420);box-shadow:inset 1px 0 #8195b028,inset -1px 0 #8195b028,inset 0 -1px #8195b028,inset 0 5px 12px #0005;scroll-margin-top:104px}
 .desktop-module-details[hidden]{display:none!important}
 .overview-units-panel{padding:27px 22px 24px;box-sizing:border-box}
 .overview-expanded-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}
 .overview-expanded-heading h3{color:var(--ecg-ui-silver-bright);font:650 15px/1.4 'Segoe UI',sans-serif;margin:0}
 .overview-expanded-heading>span{color:#aab8cc;font:12px/1.4 'Segoe UI',sans-serif}
 body.desktop-modules.course-workspace.text-nodes-review.module-cockpit #academy-map .planet-popover.course-viewer,body.desktop-modules #academy-map .planet-popover{display:none!important}
 .overview-module-requirement{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:13px;border:1px solid #bba37338;border-radius:10px;background:#45341e1c;color:#d3c09b;font:13px/1.5 'Segoe UI',sans-serif}
 .overview-module-requirement svg{flex:0 0 18px;width:18px;height:18px;margin-top:2px}
 .overview-unit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
 body.desktop-modules #academy-map .overview-unit-card,body.desktop-modules #academy-map .overview-exam-card{position:relative;display:flex;align-items:center;gap:13px;width:100%;box-sizing:border-box;padding:16px 14px;border:1px solid #7d91af4a;border-top-color:var(--ecg-ui-line-strong);border-bottom:3px solid #070d18;border-radius:13px;background:linear-gradient(135deg,#263246,#192535);box-shadow:inset 0 1px #f0f5ff16,0 3px #050a13,0 6px 12px #0003;color:#e8edf6;text-align:left;text-shadow:none;cursor:pointer;font-family:'Segoe UI',sans-serif;transition:transform .25s ease,filter .25s ease,border-color .25s ease}
 .overview-unit-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--ecg-ui-line);border-radius:11px;background:var(--ecg-ui-action-bg);box-shadow:inset 0 1px #ffffff20,0 2px #080d17;color:var(--ecg-ui-silver-bright);font:700 17px 'Segoe UI',sans-serif}
 .overview-unit-copy,.overview-exam-copy{display:block;min-width:0;flex:1}
 .overview-unit-eyebrow{display:block;color:var(--ecg-ui-silver);font:650 11px/1.4 'Segoe UI',sans-serif;letter-spacing:.09em}
 .overview-unit-copy>strong,.overview-exam-copy>strong{display:block;color:var(--ecg-ui-silver-bright);font:650 16px/1.35 'Segoe UI',sans-serif;margin:4px 0 6px;text-wrap:pretty}
 .overview-unit-state{display:block;font:600 12px/1.35 'Segoe UI',sans-serif;color:#b7c0d0}
 .overview-unit-go{display:flex;align-items:center;gap:6px;flex:0 0 auto;color:var(--ecg-ui-silver);font:600 12px/1.3 'Segoe UI',sans-serif}.overview-unit-go svg{width:18px}
 .overview-unit-requirement{display:block;font:13px/1.5 'Segoe UI',sans-serif;color:#aab8ca;margin-top:7px}
 
 /* Recommended and selected share the action blue; labels identify their distinct roles. */
 .overview-unit-card.is-next:not(.is-completed):not(.is-locked) .overview-unit-state{width:fit-content;max-width:100%;border-radius:3px;background:var(--ecg-ui-recommended-mark);color:var(--ecg-ui-bg);box-shadow:0 0 0 3px var(--ecg-ui-recommended-mark)}
 .overview-unit-card.is-next:not(.is-completed):not(.is-locked) .overview-unit-copy>strong{color:var(--ecg-ui-recommended-text)}
 .overview-unit-card.is-next:not(.is-completed):not(.is-locked) .overview-unit-eyebrow{color:var(--ecg-ui-recommended-detail)}
 .overview-unit-card.is-next:not(.is-completed):not(.is-locked) .overview-unit-icon{background:var(--ecg-ui-recommended-mark);color:var(--ecg-ui-bg);border-color:var(--ecg-ui-recommended-mark);box-shadow:inset 0 1px #fff5,0 2px #0b2840}
 .overview-unit-card.is-next:not(.is-completed):not(.is-locked) .overview-unit-go{color:var(--ecg-ui-recommended-text)}
 @media(min-width:1100px){.overview-unit-card.is-next:not(.is-completed):not(.is-locked) .overview-unit-go{padding:9px 10px;border-radius:8px;background:var(--ecg-ui-recommended-mark);color:var(--ecg-ui-bg);box-shadow:inset 0 1px #fff4,0 2px #0b2840}}
 body.desktop-modules #academy-map .overview-unit-card.is-completed{background:linear-gradient(135deg,#27483e,#17302b);border-color:#88c9ae66;border-top-color:#b7e6cc8a;border-bottom-color:#081711}
 .overview-unit-card.is-completed :is(.overview-unit-eyebrow,.overview-unit-state,.overview-unit-go){color:#b1e9cb}
 .overview-unit-card.is-completed .overview-unit-icon{color:#ddffeb;background:linear-gradient(140deg,#467e62,#244b3a);border-color:#a6eac18c}
 body.desktop-modules #academy-map .overview-unit-card.is-locked{background:#0b1420;border:1px solid #344253;border-top-color:#050a12;box-shadow:inset 0 3px 8px #0006,0 1px #d0e0ff08;cursor:default;align-items:flex-start}
 .overview-unit-card.is-locked .overview-unit-icon{background:#0a111b;border-color:#536075;color:#c8bca0;box-shadow:inset 0 2px 5px #0007}
 .overview-unit-card.is-locked .overview-unit-eyebrow{color:#aab5c5}
 body.desktop-modules #academy-map .overview-exam-card{margin-top:18px;padding:18px;max-width:none;border-color:#ac925e96;border-top-color:#eed298ad;border-bottom-color:#191109;background:linear-gradient(140deg,#493e29,#282b31);box-shadow:inset 0 1px #fff0bf23,0 3px #070a10,0 6px 12px #0003}
 .overview-exam-medal{display:grid;place-items:center;flex:0 0 44px;width:44px;height:52px;color:#e4ca91;filter:drop-shadow(0 2px 2px #0008)}
 .overview-exam-medal svg{width:40px;height:44px}
 .overview-exam-card .overview-unit-eyebrow,.overview-exam-card .overview-unit-go{color:#d8c297}
 .overview-exam-card.is-completed .overview-unit-state{color:#b2eac9}
 .overview-exam-card.is-locked .overview-exam-medal{color:#8491a4;filter:none}.overview-exam-card.is-locked{cursor:default!important}
 .overview-content-pending{color:#b6c0d0;font:14px/1.6 'Segoe UI',sans-serif}
 body.desktop-modules #academy-map :is(button.overview-unit-card,button.overview-exam-card):hover{transform:translateY(-2px);filter:brightness(1.15)}
 body.desktop-modules #academy-map :is(button.overview-unit-card,button.overview-exam-card):active{transform:translateY(2px)}
 body.desktop-modules #academy-map :is(.overview-unit-card,.overview-exam-card):focus-visible{outline:2px solid var(--ecg-ui-accent-soft);outline-offset:4px}

 body.desktop-modules #academy-map .overview-unit-card{padding:18px;min-height:108px}

 .overview-unit-list:empty{display:none}
 .overview-unit-list:empty+.overview-exam-card{margin-top:0!important}

 body.desktop-modules footer{display:none!important}

@media(min-width:900px) and (max-width:1099px){
 body.desktop-modules .learning-page{padding:24px!important}

 body.desktop-modules #academy-map .overview-sections [data-overview-section]{padding:20px!important}
 .overview-module-summary{gap:16px}.overview-module-copy>strong{font-size:18px}
 .overview-module-toggle{min-width:35px}.overview-module-action{display:none}
}
@media(prefers-reduced-motion:reduce){
 body.desktop-modules #academy-map :is([data-overview-section],.overview-unit-card,.overview-exam-card,.overview-module-toggle>svg){transition:none!important;animation:none!important}
}

 .overview-course-progress{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);gap:20px;align-items:center;margin-top:22px;padding:20px 22px;border:1px solid #8094b032;border-top-color:#050b15;border-radius:13px;background:linear-gradient(125deg,#0c1726,#101c2c);box-shadow:inset 0 3px 9px #0006,0 1px #d5e2ff12}
 .overview-progress-heading,.overview-progress-caption{display:flex;align-items:center;justify-content:space-between;gap:18px}
 .overview-progress-heading h2{margin:0;font:650 15px/1.4 'Segoe UI',sans-serif;color:#dbe4f2}
 .overview-progress-value{font:700 19px/1.3 'Segoe UI',sans-serif;color:var(--ecg-ui-blue)}
 .overview-course-progress progress{display:block;width:100%;height:8px;margin:13px 0;border:0;border-radius:8px;overflow:hidden;appearance:none;background:#263247;accent-color:var(--ecg-ui-blue)}
 .overview-course-progress progress::-webkit-progress-bar{background:#263247;border-radius:8px;box-shadow:inset 0 2px 4px #0007}
 .overview-course-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#2379ad,var(--ecg-ui-blue));border-radius:8px;transition:width .8s ease}
 .overview-course-progress progress::-moz-progress-bar{background:var(--ecg-ui-blue)}
 .overview-course-progress.is-completed progress::-webkit-progress-value{background:linear-gradient(90deg,#3b8264,#a9e9c8)}
 .overview-progress-caption{font:12px/1.4 'Segoe UI',sans-serif;color:#a5b4ca}.overview-progress-status{color:#c6d2e3}
 .overview-module-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,330px);align-items:center;gap:26px;padding:24px 26px;border-bottom:1px solid #8096b024}
 .overview-module-intro h3{font:650 19px/1.4 'Segoe UI',sans-serif;color:var(--ecg-ui-silver-bright);margin:8px 0}
 .overview-module-intro p{font:14px/1.6 'Segoe UI',sans-serif;color:#aebed2;margin:0;max-width:43ch}
 .overview-module-intro-media{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;aspect-ratio:16/9;border:1px solid #8192ac35;border-top-color:#050b16;border-radius:12px;background:radial-gradient(ellipse at 50% 20%,rgb(var(--ecg-ui-blue-rgb) / 15%),transparent 75%),#0a1321;box-shadow:inset 0 3px 9px #0007;color:#a8b5c9;font:13px/1.4 'Segoe UI',sans-serif}
 .overview-video-symbol{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgb(var(--ecg-ui-blue-rgb) / 26%);border-radius:50%;color:var(--ecg-ui-silver);background:#1c2331;box-shadow:inset 0 2px 4px #0006}
 .overview-model-heading{padding:23px 22px 0}.overview-model-heading h3{margin:0;color:var(--ecg-ui-silver-bright);font:650 18px/1.4 'Segoe UI',sans-serif}
 .overview-model-heading p{color:#b5c3d6;font:14px/1.6 'Segoe UI',sans-serif;margin:7px 0 0}
 .overview-model-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 22px 0}
 body.desktop-modules #academy-map .overview-model-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:135px;padding:19px 12px;border:1px solid #8396b451;border-top-color:var(--ecg-ui-line-strong);border-bottom:3px solid #070d16;border-radius:13px;background:linear-gradient(135deg,#29344a,#182536);box-shadow:inset 0 1px #eaf1ff13,0 3px #050b13,0 7px 12px #0003;color:#e5eaf5;cursor:pointer;transition:transform .25s ease,border-color .25s ease,filter .25s ease}
 .overview-model-card>strong{font:650 16px/1.4 'Segoe UI',sans-serif;text-wrap:balance}
 .overview-model-state{color:#b5c1d3;font:12px/1.4 'Segoe UI',sans-serif}
 .overview-model-action{font:600 12px/1.4 'Segoe UI',sans-serif;color:var(--ecg-ui-silver)}
 .overview-model-image{display:grid;place-items:center;width:100%;height:112px;margin-bottom:3px}.overview-model-card img{display:block;width:100%;max-width:240px;height:108px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 5px 4px #0005)}
 html body.desktop-modules #academy-map#academy-map .overview-model-card[aria-pressed=true]{border-color:var(--ecg-ui-selected-border);border-bottom-color:var(--ecg-ui-selected-base);background:var(--ecg-ui-selected-surface);color:var(--ecg-ui-selected-text);box-shadow:inset 0 1px #fff2,inset 0 -3px var(--ecg-ui-selected-border),0 3px #050b13}
 .overview-model-card[aria-pressed=true] :is(.overview-model-state,.overview-model-action){color:var(--ecg-ui-selected-detail)}
 .overview-model-card[aria-pressed=true]::after{content:'';position:absolute;top:7px;right:7px;display:block;width:15px;height:15px;box-sizing:border-box;border:1px solid var(--ecg-ui-selected-border);border-radius:50%;background:var(--ecg-ui-selected-border);box-shadow:inset 0 0 0 3px var(--ecg-ui-selected-end);pointer-events:none}
 html body.desktop-modules #academy-map#academy-map .overview-model-card.is-completed{background:var(--ecg-ui-success-surface);border-top-color:#b0e6c67d}
 html body.desktop-modules #academy-map#academy-map .overview-model-card.is-completed[aria-pressed=true]{border-color:var(--ecg-ui-selected-border);border-bottom-color:#081711;box-shadow:inset 0 -3px var(--ecg-ui-selected-border),inset 0 0 0 1px var(--ecg-ui-selected-border),0 3px #050b13}
 body.desktop-modules #academy-map .overview-model-card:hover{transform:translateY(-2px);filter:brightness(1.12)}
 body.desktop-modules #academy-map .overview-model-card:active{transform:translateY(1px)}
 body.desktop-modules #academy-map .overview-model-card:focus-visible{outline:2px solid var(--ecg-ui-accent-soft);outline-offset:4px}
 .overview-model-empty{font:14px/1.5 'Segoe UI',sans-serif;text-align:center;color:#aebbd0;margin:0;padding:27px 22px}
 .overview-section-content{min-width:0}
 .overview-module-units .overview-units-panel{padding-top:24px}

@media(prefers-reduced-motion:reduce){
 body.desktop-modules #academy-map .overview-model-card,.overview-course-progress progress::-webkit-progress-value{transition:none!important}
}

/* Reusable overview states: raised actions, inset information, explicit destinations. */

 .desktop-intro-body{grid-column:1/-1;overflow:hidden;min-height:0}.desktop-intro-body[hidden]{display:none}
 .desktop-intro-body-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,440px);align-items:center;gap:28px;padding-top:2px;padding-bottom:2px}
 .overview-intro-toggle{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #8095b14a;border-bottom:3px solid #090f1a;border-radius:9px;background:linear-gradient(135deg,#2c3c50,#1c293b);box-shadow:inset 0 1px #fff1;color:var(--ecg-ui-silver);font:600 12px/1.4 'Segoe UI',sans-serif;cursor:pointer}
 .overview-intro-toggle svg{width:16px;height:16px;transform:rotate(-90deg)}.intro-collapsed .overview-intro-toggle svg{transform:rotate(90deg)}
 .overview-intro-toggle:hover{filter:brightness(1.15)}.overview-intro-toggle:active{transform:translateY(1px)}
 .overview-intro-toggle:focus-visible,.overview-requirement-action:focus-visible,.overview-resume:focus-visible{outline:2px solid var(--ecg-ui-accent-soft);outline-offset:4px}
 .overview-progress-main{min-width:0}.overview-progress-metrics{display:flex;align-items:center;gap:14px;flex-shrink:0}.overview-xp-slot{display:flex}
 .overview-progress-caption{align-items:flex-start;flex-wrap:wrap;gap:6px 14px}.overview-progress-status{white-space:nowrap}
 .overview-resume{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;padding:14px 16px;border:1px solid rgb(var(--ecg-ui-blue-rgb) / 47%);border-top-color:var(--ecg-ui-accent-soft);border-bottom:3px solid var(--ecg-ui-surface-end);border-radius:11px;background:linear-gradient(135deg,rgb(var(--ecg-ui-blue-rgb) / 28%),rgb(var(--ecg-ui-blue-rgb) / 10%)),var(--ecg-ui-surface-end);box-shadow:inset 0 1px #fff2,0 3px #070c16;color:var(--ecg-ui-text);text-align:left;cursor:pointer;transition:transform .22s,filter .22s;border-color:rgb(var(--ecg-ui-blue-rgb) / 65%)}
 .overview-resume>span{font:600 12px/1.4 'Segoe UI',sans-serif;color:var(--ecg-ui-accent-soft)}.overview-resume>strong{font:650 14px/1.4 'Segoe UI',sans-serif;grid-row:2}.overview-resume>svg{grid-column:2;grid-row:1/3;width:18px}.overview-resume:hover{transform:translateY(-2px);filter:brightness(1.1)}.overview-resume:active{transform:translateY(1px)}
 .overview-feedback{grid-column:1/-1;margin:0;color:var(--ecg-ui-accent-soft);font:14px/1.5 'Segoe UI',sans-serif}.overview-feedback:empty{display:none}
 .overview-requirement-action{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:7px 11px;min-height:34px;border:1px solid #66738b70;border-top-color:#92a2bd6b;border-bottom:2px solid #040914;border-radius:7px;background:linear-gradient(135deg,#263348,#1c2738);box-shadow:inset 0 1px #fff1,0 2px #050a13;color:var(--ecg-ui-silver);font:600 12px/1.4 'Segoe UI',sans-serif;cursor:pointer;transition:filter .2s,transform .2s}
 .overview-requirement-action svg{width:14px;height:14px}.overview-requirement-action:hover{filter:brightness(1.2)}.overview-requirement-action:active{transform:translateY(1px)}
 .overview-unit-card.is-locked .overview-unit-copy>strong,.overview-exam-card.is-locked .overview-exam-copy>strong{color:#b8c3d3;text-shadow:none}
 .overview-unit-card.is-locked .overview-unit-state,.overview-exam-card.is-locked .overview-unit-state{display:inline-block;margin-top:1px;padding:3px 7px;border:1px solid #9a866843;border-radius:5px;color:#d4bd96;background:#76623b16;font-size:11px}
 body.desktop-modules #academy-map .overview-exam-card.is-locked{background:#0c1420;box-shadow:inset 0 3px 8px #0006;border:1px solid #495260;border-top-color:#050b13;align-items:flex-start}
 .overview-exam-card.is-locked .overview-unit-eyebrow{color:#aab5c5}.overview-exam-medal{position:relative}.overview-exam-lock{position:absolute;bottom:0;right:-3px;display:grid;place-items:center;width:21px;height:23px;border-radius:5px;background:#172333;border:1px solid #61718b;color:#d8c7a8}.overview-exam-lock svg{width:14px;height:16px}
 body.desktop-modules #academy-map .overview-exam-card.is-completed{background:linear-gradient(135deg,#2c493d,#193229);border-color:#80b99180;border-bottom-color:#081711}.overview-exam-card.is-completed .overview-exam-medal{color:#eed391}
 body.desktop-modules #academy-map .overview-unit-card.is-next:not(.is-completed):not(.is-locked){border-color:var(--ecg-ui-recommended-mark);background:var(--ecg-ui-recommended-surface);box-shadow:inset 4px 0 var(--ecg-ui-recommended-mark),inset 0 1px #fff2,0 3px #050a13,0 6px 12px #0003;border-bottom-color:#0b2840}

 .overview-model-card.is-locked .overview-model-state{color:#d4bd96}.overview-model-card.is-locked[aria-pressed=true] .overview-model-state{color:var(--ecg-ui-selected-detail)}
 body.desktop-modules #academy-map .overview-locked.desktop-exam-node>[data-overview-section]{background:linear-gradient(125deg,#232b35,#151e2b)!important;border-color:#626d7c66!important;border-bottom-color:#080d16!important}
 .overview-module-units,.overview-model-options{scroll-margin-top:110px}

@media(min-width:900px) and (max-width:1099px){
 .desktop-intro-body-inner{gap:22px;grid-template-columns:minmax(0,1fr) minmax(240px,380px)}
 .overview-unit-list{grid-template-columns:1fr}.overview-unit-go>span{display:none}
 .overview-progress-heading{gap:8px}.overview-progress-metrics{gap:9px}.overview-progress-value{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 .overview-intro-toggle,.overview-requirement-action,.overview-resume{transition:none!important}
}

.overview-resume[hidden]{display:none}.overview-course-progress:has(.overview-resume[hidden]){grid-template-columns:1fr}

.overview-unit-card>.overview-requirement-action{align-self:center;flex-shrink:0;margin-top:0;white-space:nowrap}

/* Course preference is shared across devices' layouts; it never grants completion. */
#academy-map .course-study-control{pointer-events:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-end;max-width:340px;min-width:0;font-family:'Segoe UI',sans-serif}
#academy-map .course-study-options{display:flex;gap:4px;padding:4px;border:1px solid #42516b;border-top-color:#050b13;border-radius:11px;background:#0a1320;box-shadow:inset 0 2px 6px #0007}
#academy-map .course-study-options button{position:static;display:block;min-width:94px;min-height:40px;padding:8px 17px;margin:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#bdc9dc;font:600 13px/1.4 'Segoe UI',sans-serif;cursor:pointer;box-shadow:none;transition:background .25s,color .25s,box-shadow .25s}
#academy-map .course-study-options button[aria-pressed=true]{background:var(--ecg-ui-selected-surface);border-color:var(--ecg-ui-selected-border);border-bottom-color:var(--ecg-ui-selected-base);box-shadow:inset 0 1px #fff2,inset 0 -2px var(--ecg-ui-selected-border),0 2px #050910;color:var(--ecg-ui-selected-text)}
#academy-map .course-study-options button:hover{color:#fff;background-color:#263046}
#academy-map .course-study-options button:focus-visible{outline:2px solid var(--ecg-ui-accent-soft);outline-offset:3px}
#academy-map .course-study-description{margin:0;color:#acbcd0;font:13px/1.45 'Segoe UI',sans-serif;text-align:right;max-width:40ch}

 body.desktop-modules #academy-map .overview-locked>[data-overview-section],body.desktop-modules #academy-map .overview-locked.desktop-exam-node>[data-overview-section]{background:linear-gradient(115deg,#121923,#0d1520)!important;border-color:#48515e!important;border-top-color:#27303c!important;border-left:4px solid #ad9569!important;border-bottom:3px solid #060c14!important;box-shadow:inset 0 2px 7px #0007,0 2px #050910!important}
 body.desktop-modules #academy-map .overview-locked>[data-overview-section]:hover{border-color:#ac956b!important;filter:brightness(1.12)!important}
 .overview-locked .overview-module-emblem{background:#0b111a;color:#ddc498;clip-path:none;border:1px solid #7d6e534f;border-radius:13px;filter:none;box-shadow:inset 0 2px 6px #0008;height:52px;flex-basis:52px}
 .overview-locked.desktop-exam-node .overview-module-emblem{color:#b5a58c;background:none;border:0;box-shadow:none}
 .overview-locked .overview-module-copy>strong{color:#bac5d4;text-shadow:none}
 .overview-locked .overview-module-eyebrow{color:#acb6c6}
 .overview-module-status.is-locked{color:#e1c89f;border-color:#ac93615e;background:#392e1e66;font-weight:700}
 .overview-locked .overview-module-toggle{color:#c7b99e}
 .overview-locked .overview-module-toggle>svg{background:linear-gradient(135deg,#302e2c,#1c222c);border-color:#8b785647}
 body.desktop-modules #academy-map :is(.overview-unit-card,.overview-exam-card).is-locked{border-left:3px solid #a68f65;background:#0a111b}
 .overview-unit-card.is-locked .overview-unit-icon{color:#e2c394;border-color:#9b83505e}
 .overview-unit-card.is-locked .overview-unit-state,.overview-exam-card.is-locked .overview-unit-state{color:#e2c79e;border-color:#9c835663;background:#372b1b88}
 body.desktop-modules #academy-map .overview-destination{outline:2px solid var(--overview-focus)!important;outline-offset:5px!important;scroll-margin-top:108px;animation:overview-arrival 3.4s ease-in-out both}
 @keyframes overview-arrival{0%{filter:brightness(1);box-shadow:0 0 0 rgb(var(--ecg-ui-blue-rgb) / 0%)}22%,62%{filter:brightness(1.2);box-shadow:0 0 30px rgb(var(--ecg-ui-blue-rgb) / 38%)}100%{filter:brightness(1);box-shadow:0 0 0 rgb(var(--ecg-ui-blue-rgb) / 0%)}}

@media(max-width:899px){
 #academy-map .course-study-control{align-items:flex-start;max-width:100%;margin-top:16px}
 #academy-map .course-study-description{text-align:left;font-size:12px}
 #academy-map .course-study-options button{min-height:44px;min-width:96px}
}
@media(prefers-reduced-motion:reduce){#academy-map .course-study-options button{transition:none}body.desktop-modules #academy-map .overview-destination{animation:none!important}}

/* Compact vertical presentation; no duplicate renderer or mobile-only academic data. */
@media(max-width:899px){
 html body.desktop-modules{height:auto!important;min-height:100dvh!important;overflow:visible!important;background:var(--ecg-ui-bg)!important}
 html body.desktop-modules .learning-page{min-height:calc(100dvh - 72px)!important;height:auto!important;padding:16px 12px calc(100px + env(safe-area-inset-bottom,0px))!important;overflow:visible!important}
 html body.desktop-modules #academy-map#academy-map{position:relative!important;inset:auto!important;max-width:680px!important;width:100%!important;height:auto!important;min-height:0!important;padding:0!important;margin:0 auto!important;overflow:visible!important;background:none!important}
 html body.desktop-modules #academy-map#academy-map .view-system{display:block!important;position:relative!important;inset:auto!important;min-height:0!important;height:auto!important;max-height:none!important;padding:0!important;margin:0!important;background:none!important;border:0!important;overflow:visible!important}
 html body.desktop-modules #academy-map#academy-map .view-system::before,html body.desktop-modules #academy-map#academy-map .view-system::after{display:none!important}
 html body.desktop-modules #academy-map#academy-map .view-system :is(.solar-map,.orbital-heading,.orbital-hint,.mobile-map-help,.mobile-reticle,.mobile-next-step,.module-space-video){display:none!important}
 html body.desktop-modules #academy-map#academy-map .desktop-module-layout{display:block!important;position:relative!important;inset:auto!important;padding:0!important;width:100%!important;min-height:0!important;height:auto!important;overflow:visible!important}
 .desktop-course-intro{grid-template-columns:minmax(0,1fr);gap:14px;padding:17px 16px;border-radius:16px}
 .desktop-intro-copy{grid-row:1}.desktop-intro-copy h1{font-size:24px;line-height:1.22;margin-top:8px}.desktop-course-eyebrow{font-size:10px;letter-spacing:.1em}
 .desktop-intro-body{grid-row:2;width:100%}.desktop-intro-body-inner{display:flex;flex-direction:column-reverse;gap:12px;padding:0 0 2px}
 .desktop-intro-media{width:100%;border-radius:10px}.desktop-intro-note{width:100%;box-sizing:border-box;padding:0;background:none;border:0;box-shadow:none}
 .desktop-intro-note>span{display:none}.desktop-intro-note h2{font-size:15px;margin:0 0 5px}.desktop-intro-note p{font-size:15px;line-height:1.45;max-width:none}
 .overview-intro-toggle{grid-row:3;justify-content:center;min-height:44px;padding:10px 12px;font-size:13px}
 .overview-course-progress{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:16px;padding:16px;border-radius:13px}
 .overview-progress-heading{gap:10px}.overview-progress-heading h2{font-size:14px}.overview-progress-value{font-size:18px}.overview-progress-metrics{gap:10px}
 html body.desktop-modules #academy-map#academy-map .orbital-hud{position:static!important;inset:auto!important;order:initial!important;margin:0!important;padding:0 0 0 10px!important;min-width:0!important;width:auto!important;height:auto!important;border-left:1px solid #52617a!important;font-size:15px!important;transform:none!important}
 html body.desktop-modules #academy-map#academy-map .orbital-hud strong{font-size:16px!important}
 .overview-progress-caption{display:grid;gap:5px;font-size:12px;line-height:1.45}.overview-progress-status{white-space:normal}
 .overview-resume{padding:12px 14px;min-height:64px}.overview-resume>strong{font-size:15px}.overview-resume>span{font-size:12px}
 .overview-feedback{font-size:14px}
 .desktop-modules-heading{display:block;margin:26px 2px 18px;padding:0}.desktop-modules-heading h2{font-size:22px}.desktop-modules-heading p{font-size:15px;line-height:1.45}
 #academy-map .course-study-control{width:100%;max-width:none;margin-top:16px;gap:8px;align-items:stretch}
 #academy-map .course-study-options{align-self:stretch}#academy-map .course-study-options button{flex:1;min-width:0;min-height:44px;font-size:14px}
 #academy-map .course-study-description{font-size:13px;line-height:1.45;max-width:none;text-align:left}
 .overview-sections{gap:14px}.overview-section{scroll-margin-top:90px}
 html body.desktop-modules #academy-map#academy-map .overview-sections [data-overview-section]{padding:16px 13px!important;min-height:114px!important;border-radius:14px!important;touch-action:manipulation}
 .overview-module-summary{display:grid;grid-template-columns:40px minmax(0,1fr) 28px;gap:10px 12px;align-items:center}
 .overview-module-emblem{grid-column:1;grid-row:1;width:40px;height:40px;font-size:15px}.overview-module-emblem>span{width:100%;height:100%;border-radius:7px}
 .overview-module-emblem svg{width:24px;height:24px}.overview-locked .overview-module-emblem{width:38px;height:38px;border-radius:10px}
 .desktop-exam-node .overview-module-emblem svg{width:34px;height:40px}
 .overview-module-copy{grid-column:2;grid-row:1}.overview-module-copy>strong{font-size:16px;line-height:1.3;margin:5px 0}.overview-module-eyebrow{font-size:10px;letter-spacing:.1em}.overview-module-meta{font-size:12px;line-height:1.45}
 .overview-module-status{grid-column:2;grid-row:2;justify-self:start;max-width:100%;box-sizing:border-box;padding:5px 8px;font-size:11px;gap:5px}.overview-module-status svg{width:14px;height:14px;flex-basis:14px}
 .overview-module-toggle{grid-column:3;grid-row:1/3;min-width:0;gap:0}.overview-module-action{display:none}.overview-module-toggle>svg{width:16px;height:16px;padding:5px;border-radius:8px}
 .desktop-module-details{margin:0 5px;border-radius:0 0 13px 13px;scroll-margin-top:90px}
 .overview-module-intro{grid-template-columns:minmax(0,1fr);gap:14px;padding:19px 13px}
 .overview-module-intro h3{font-size:17px;margin:6px 0}.overview-module-intro p{font-size:15px;line-height:1.5;max-width:none}.overview-module-intro-media{width:100%;font-size:13px;gap:9px}
 .overview-video-symbol{width:40px;height:40px}
 .overview-units-panel,.overview-module-units .overview-units-panel{padding:18px 10px}.overview-expanded-heading{display:block;margin-bottom:13px}.overview-expanded-heading h3{font-size:15px;line-height:1.4}.overview-expanded-heading>span{display:block;margin-top:5px;font-size:12px}
 .overview-unit-list{grid-template-columns:minmax(0,1fr);gap:13px}
 html body.desktop-modules #academy-map#academy-map :is(.overview-unit-card,.overview-exam-card){display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;align-items:start;min-height:108px;padding:15px 12px;text-align:left;border-radius:12px;box-sizing:border-box;max-width:100%;width:100%;touch-action:manipulation}
 .overview-unit-icon{grid-column:1;grid-row:1;width:32px;height:36px;min-width:0;font-size:14px}.overview-unit-icon svg{width:19px;height:19px}
 .overview-unit-copy{grid-column:2;grid-row:1;min-width:0}.overview-unit-copy>strong,.overview-exam-copy>strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere;margin:4px 0 7px}.overview-unit-eyebrow{font-size:10px}
 .overview-unit-state{font-size:12px;line-height:1.4}.overview-unit-go{grid-column:3;grid-row:1;align-self:center}.overview-unit-go>span{display:none}.overview-unit-go svg{width:17px;height:20px}
 .overview-unit-requirement{font-size:14px;line-height:1.5;margin-top:9px}
 .overview-unit-card.is-locked .overview-unit-copy{grid-column:2/4}
 html body.desktop-modules #academy-map#academy-map .overview-unit-card>.overview-requirement-action{grid-column:2/4;grid-row:2;justify-self:start;min-height:42px;margin:2px 0 0;padding:9px 12px;font-size:13px;white-space:normal}
 .overview-exam-card .overview-exam-copy{grid-column:2;min-width:0}.overview-exam-card.is-locked .overview-exam-copy{grid-column:2/4}
 .overview-exam-card .overview-requirement-action{min-height:42px;font-size:13px;padding:9px 12px}.overview-exam-card .overview-exam-medal{width:32px;height:42px}.overview-exam-medal>svg{width:32px;height:40px}
 .overview-module-requirement{padding:12px;font-size:14px;line-height:1.5;gap:8px}.overview-module-requirement>svg{flex:0 0 19px}
 .overview-model-heading{padding:19px 13px 0}.overview-model-heading h3{font-size:17px}.overview-model-heading p{font-size:15px;line-height:1.5;margin-top:6px}
 .overview-model-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:15px 11px 0}
 html body.desktop-modules #academy-map#academy-map .overview-model-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:48px auto auto 18px;justify-items:center;gap:5px;padding:13px 6px 8px;min-width:0;min-height:133px;box-sizing:border-box;align-items:center;text-align:center;border-radius:11px;touch-action:manipulation}
 .overview-model-image{grid-column:1;grid-row:1;width:100%;max-width:95px;height:48px;margin:0;min-width:0}.overview-model-card img{width:100%;max-width:95px;height:46px;object-fit:contain}
 .overview-model-card>strong{grid-column:1;grid-row:2;font-size:14px;line-height:1.3;align-self:center;margin:0;min-width:0;white-space:nowrap}
 .overview-model-state{grid-column:1;grid-row:3;font-size:11px;line-height:1.3;min-width:0;white-space:nowrap}.overview-model-action{grid-column:1;grid-row:4;align-self:center;display:flex;align-items:center;justify-content:center;height:18px;width:100%;margin:0;padding:0;line-height:1}
 .overview-model-action>span{display:none}.overview-model-action>svg{display:block;width:17px;height:17px;transform:rotate(90deg);transition:transform .65s cubic-bezier(.4,0,.2,1)}
 .overview-model-card[aria-expanded=true] .overview-model-action>svg{transform:rotate(-90deg)}
 html body.desktop-modules #academy-map#academy-map .overview-model-card:focus-visible{outline:2px solid var(--ecg-ui-focus);outline-offset:4px}

 body.desktop-modules .overview-module-units{overflow:hidden}
 body.desktop-modules .overview-model-browser+.overview-module-units .overview-units-panel{padding-top:17px}
 .overview-model-empty{font-size:14px;padding:18px 10px}
}
@media(max-width:359px){
 .overview-module-summary{grid-template-columns:32px minmax(0,1fr) 24px;gap:9px}.overview-module-emblem{width:32px;height:32px;border-radius:9px}.overview-module-emblem>span{width:100%;height:100%;border-radius:5px}.overview-locked .overview-module-emblem{width:30px;height:30px}
 .overview-module-copy>strong{font-size:15px}.overview-module-toggle>svg{padding:4px}
 .overview-model-options{gap:6px;padding-inline:9px}html body.desktop-modules #academy-map#academy-map .overview-model-card{grid-template-rows:42px auto auto 18px;gap:5px;padding:13px 4px 8px;min-height:127px}.overview-model-image{height:42px}.overview-model-card img{height:40px}.overview-model-card>strong{font-size:13px}.overview-model-state{font-size:10px}
}

/* Mobile overview: course context first, then one module/model at a time.
   New wrappers are transparent on PC so its approved composition is unchanged. */
.overview-mode-toggle,.overview-module-intro-toggle{display:none}
.overview-mode-options,.overview-module-intro-body,.overview-model-browser{display:contents}
@media(max-width:899px){
 body.desktop-modules .desktop-course-intro{padding:14px;gap:11px;border-radius:14px}
 body.desktop-modules .desktop-intro-copy h1{font-size:22px;line-height:1.22;margin-top:6px}
 body.desktop-modules .desktop-course-eyebrow{font-size:10px;letter-spacing:.07em}
 body.desktop-modules .desktop-intro-body-inner{gap:9px}
 body.desktop-modules .desktop-intro-note h2{font-size:14px;margin-bottom:4px}
 body.desktop-modules .desktop-intro-note p{font-size:14px;line-height:1.45}
 body.desktop-modules .overview-intro-toggle{min-height:44px;padding:9px 12px}
 body.desktop-modules .overview-course-progress{gap:11px;padding:14px;margin-top:13px}
 body.desktop-modules .overview-course-progress progress{margin:10px 0}
 body.desktop-modules .overview-resume{min-height:60px;padding:11px 13px}
 body.desktop-modules .overview-progress-caption{gap:3px}
 body.desktop-modules .desktop-modules-heading{margin:22px 2px 15px}
 body.desktop-modules .desktop-modules-heading h2{font-size:21px;line-height:1.3}
 body.desktop-modules .desktop-modules-heading p{margin-top:5px;font-size:14px;line-height:1.45}
 body.desktop-modules #academy-map .course-study-control{width:100%;margin:11px 0 0;gap:0;align-items:stretch}
 body.desktop-modules #academy-map .overview-mode-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:44px;padding:10px 13px;box-sizing:border-box;border:1px solid #6a7d9947;border-top-color:#b1c3dc55;border-bottom:3px solid #060c16;border-radius:10px;background:var(--overview-action);box-shadow:inset 0 1px #eff5ff12,0 2px #050910;color:#b8c7d9;font:500 13px/1.4 'Segoe UI',sans-serif;text-align:left;cursor:pointer;touch-action:manipulation}
 body.desktop-modules #academy-map .overview-mode-toggle>strong{flex:1;color:var(--ecg-ui-accent-soft);font-weight:650}
 body.desktop-modules #academy-map .overview-mode-toggle>span{flex:0 0 auto;color:var(--ecg-ui-accent-soft);font-size:12px;font-weight:600}
 body.desktop-modules #academy-map .overview-mode-toggle[aria-expanded=true]{border-color:rgb(var(--ecg-ui-blue-rgb) / 53%);border-bottom-color:#0b101b}
 body.desktop-modules #academy-map .overview-mode-options{display:flex;flex-direction:column;gap:9px;padding:12px 10px 11px;margin:0 4px;border:1px solid #61728d3b;border-top:0;border-radius:0 0 10px 10px;background:#0a1320;box-shadow:inset 0 3px 7px #0005}
 body.desktop-modules #academy-map .overview-mode-options .course-study-options{width:100%;box-sizing:border-box}
 body.desktop-modules #academy-map .overview-mode-options .course-study-description{font-size:13px;line-height:1.45;margin:0 2px;color:#bdcadd}
 body.desktop-modules #academy-map .overview-mode-options[hidden]{display:none!important}

 body.desktop-modules .overview-module-intro{display:block;padding:13px 11px;border-bottom-color:#8197b025}
 body.desktop-modules #academy-map .overview-module-intro-toggle{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:3px 11px;width:100%;min-height:58px;padding:11px 12px;box-sizing:border-box;border:1px solid #7284a34d;border-top-color:#a9bdda58;border-bottom:3px solid #050b15;border-radius:10px;background:var(--overview-action);box-shadow:inset 0 1px #eff5ff12,0 2px #050910;color:#e2e9f4;text-align:left;cursor:pointer;touch-action:manipulation}
 body.desktop-modules .overview-module-intro-toggle>span{grid-column:1;grid-row:1;font:650 14px/1.4 'Segoe UI',sans-serif;min-width:0}
 body.desktop-modules .overview-module-intro-toggle>small{grid-column:1;grid-row:2;color:var(--ecg-ui-accent-soft);font:600 12px/1.4 'Segoe UI',sans-serif}
 body.desktop-modules .overview-module-intro-toggle>svg{grid-column:2;grid-row:1/3;width:18px;height:18px;color:var(--ecg-ui-accent-soft);transform:rotate(90deg);transition:transform .65s cubic-bezier(.4,0,.2,1)}
 body.desktop-modules .overview-module-intro-toggle[aria-expanded=true]>svg{transform:rotate(-90deg)}
 body.desktop-modules .overview-module-intro-body{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;overflow:hidden;min-width:0;box-sizing:border-box}
 body.desktop-modules .overview-module-intro-body[hidden]{display:none!important}
 body.desktop-modules .overview-module-intro-copy{padding:12px 2px 0}
 body.desktop-modules .overview-module-intro-copy :is(.desktop-course-eyebrow,h3){display:none}
 body.desktop-modules .overview-module-intro-copy p{font-size:14px;line-height:1.5;margin:0}
 body.desktop-modules .overview-module-intro-media{font-size:13px;border-radius:10px;gap:8px}

 body.desktop-modules .overview-model-browser{display:block;min-width:0}
 body.desktop-modules .overview-model-browser[hidden],body.desktop-modules .overview-module-units[hidden]{display:none!important}
 body.desktop-modules .overview-model-heading{padding:15px 12px 0}
 body.desktop-modules .overview-model-heading h3{font-size:16px;line-height:1.4}
 body.desktop-modules .overview-model-heading p{font-size:14px;line-height:1.5;margin-top:5px}
 body.desktop-modules .overview-model-options{padding-top:12px}
 html body.desktop-modules #academy-map#academy-map :is(.overview-unit-card>.overview-requirement-action,.overview-exam-card .overview-requirement-action){min-height:44px}
 body.desktop-modules #academy-map :is(.overview-mode-toggle,.overview-module-intro-toggle):focus-visible{outline:2px solid var(--overview-focus);outline-offset:3px}
 body.desktop-modules #academy-map :is(.overview-mode-toggle,.overview-module-intro-toggle):active{transform:translateY(1px)}
}
@media(max-width:359px){
 body.desktop-modules .overview-module-intro-toggle>span{font-size:13px}
}
@media(max-width:899px) and (hover:hover){body.desktop-modules #academy-map :is(.overview-mode-toggle,.overview-module-intro-toggle):hover{filter:brightness(1.12);border-color:var(--ecg-ui-accent-soft)}}
@media(max-width:899px) and (prefers-reduced-motion:reduce){body.desktop-modules .overview-module-intro-toggle>svg{transition:none}}

.overview-mode-hint{display:none}
@media(max-width:899px){
 body.desktop-modules #academy-map .overview-mode-options .course-study-options{flex-direction:column;gap:5px}
 body.desktop-modules #academy-map .overview-mode-options .course-study-options button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:64px;padding:11px 12px;text-align:left}
 body.desktop-modules #academy-map .overview-mode-options .course-mode-name{display:block;font-weight:650;font-size:14px;line-height:1.4}
 body.desktop-modules #academy-map .overview-mode-hint{display:block;color:#b4c2d7;font:400 13px/1.45 'Segoe UI',sans-serif}
 body.desktop-modules #academy-map [aria-pressed=true] .overview-mode-hint{color:var(--ecg-ui-selected-detail)}
}

/* Model choice stays in place while its one unit panel expands below it. */
@media(min-width:900px){.overview-model-action>svg{display:none}}
@media(max-width:899px) and (hover:none){
 html body.desktop-modules #academy-map#academy-map .overview-model-card:hover{transform:none;filter:none}
 html body.desktop-modules #academy-map#academy-map .overview-model-card:active{transform:translateY(1px)}
}
@media(max-width:899px) and (prefers-reduced-motion:reduce){.overview-model-action>svg{transition:none}}

/* An expanded module is one connected surface, from its heading to its final edge.
   Shadows draw the shell without adding height to the animated details panel. */
body.desktop-modules .overview-section{--overview-open-line:var(--ecg-ui-blue);--overview-open-soft:rgb(var(--ecg-ui-blue-rgb) / 32%);--overview-open-radius:17px}
/* Blue identifies the expanded context; green and amber retain academic meaning. */
body.desktop-modules .overview-section:is(.overview-open,:has(>.desktop-module-details:not([hidden]))){border-radius:var(--overview-open-radius);box-shadow:0 0 0 1px var(--overview-open-soft),0 4px #050b13,0 9px 24px #0003}
body.desktop-modules .overview-section:is(.overview-open,:has(>.desktop-module-details:not([hidden])))::before{content:'';position:absolute;z-index:2;left:0;top:17px;bottom:17px;width:2px;background:var(--overview-open-line);border-radius:2px;pointer-events:none}
html body.desktop-modules #academy-map#academy-map .overview-section:is(.overview-open,:has(>.desktop-module-details:not([hidden])))>[data-overview-section]{border-radius:var(--overview-open-radius) var(--overview-open-radius) 0 0!important;border-bottom-color:#101a28!important;box-shadow:inset 0 1px #f0f5ff16!important}
html body.desktop-modules #academy-map#academy-map .overview-section:is(.overview-open,:has(>.desktop-module-details:not([hidden])))>[data-overview-section]:hover{transform:none!important}
html body.desktop-modules #academy-map#academy-map .overview-section:is(.overview-open,:has(>.desktop-module-details:not([hidden])))>[data-overview-section]:active{transform:none!important;box-shadow:inset 0 2px 9px #0004!important}
body.desktop-modules .overview-section:is(.overview-open,:has(>.desktop-module-details:not([hidden])))>.desktop-module-details{margin:0;border-radius:0 0 var(--overview-open-radius) var(--overview-open-radius);background:linear-gradient(145deg,#1c2b3b,#152332 65%,#131e2b);box-shadow:inset 1px 0 var(--overview-open-soft),inset -1px 0 var(--overview-open-soft),inset 0 -2px var(--overview-open-line)}
html body.desktop-modules #academy-map#academy-map .overview-open:not(.overview-completed):not(.overview-locked):not(.desktop-exam-node)>[data-overview-section]{background:var(--ecg-ui-selected-surface)!important}
body.desktop-modules .overview-open:not(.overview-completed):not(.overview-locked):not(.desktop-exam-node)>[data-overview-section] :is(.overview-module-copy>strong,.overview-module-eyebrow,.overview-module-meta){color:var(--ecg-ui-selected-detail)}
body.desktop-modules .overview-open .overview-module-intro{background:linear-gradient(135deg,rgb(var(--ecg-ui-blue-rgb) / 6%),rgb(var(--ecg-ui-blue-rgb) / 2%));border-bottom-color:rgb(var(--ecg-ui-blue-rgb) / 25%)}
body.desktop-modules .overview-module-intro:has([aria-expanded=true]){border-radius:0 0 13px 13px}
body.desktop-modules .overview-module-intro-media{border-color:rgb(var(--ecg-ui-blue-rgb) / 33%);background:radial-gradient(ellipse at 50% 20%,rgb(var(--ecg-ui-blue-rgb) / 22%),transparent 75%),#101724}
body.desktop-modules .overview-module-intro.overview-orientation-arrival{outline:2px solid var(--ecg-ui-accent-soft);outline-offset:-3px;animation:overview-orientation-arrival 2.4s ease-in-out both}
@keyframes overview-orientation-arrival{0%,100%{outline-color:rgb(var(--ecg-ui-blue-rgb) / 0%)}25%,65%{outline-color:var(--ecg-ui-accent-soft)}}
body.desktop-modules [data-overview-section][aria-expanded=true] .overview-module-action{display:block;color:var(--ecg-ui-selected-detail);font-size:12px;font-weight:600}
body.desktop-modules [data-overview-section][aria-expanded=true] .overview-module-toggle>svg{color:var(--ecg-ui-accent-soft);border-color:rgb(var(--ecg-ui-blue-rgb) / 60%);background:var(--ecg-ui-selected-bg)}

/* Resume keeps its destination and unit/model context together. */
body.desktop-modules .overview-resume-title{grid-column:1;grid-row:2;min-width:0;text-wrap:pretty}
body.desktop-modules .overview-resume-context{display:block;grid-column:1;grid-row:3;min-width:0;margin:0;color:var(--ecg-ui-accent-soft);font:500 12px/1.4 'Segoe UI',sans-serif;text-wrap:pretty}
body.desktop-modules .overview-resume-context:empty{display:none}
body.desktop-modules .overview-resume>svg{grid-row:1/4}
body.desktop-modules .overview-model-card.is-completed .overview-model-state{color:var(--ecg-ui-success)}

/* Each new context opens its orientation; manual folding remains available during the visit. */
body.desktop-modules .overview-module-intro-body[hidden]{display:none!important}
@media(min-width:900px){
 body.desktop-modules .overview-module-intro{display:block;padding:20px 24px}
 body.desktop-modules #academy-map .overview-module-intro-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:12px;width:100%;min-height:52px;box-sizing:border-box;padding:12px 14px;border:1px solid #7184a047;border-top-color:#aabfd55e;border-bottom:3px solid #060d16;border-radius:10px;background:var(--overview-action);box-shadow:inset 0 1px #e9f2ff12,0 2px #050a13;text-align:left;cursor:pointer;color:#e0e9f5}
 body.desktop-modules .overview-module-intro-toggle>span{font:650 15px/1.4 'Segoe UI',sans-serif;min-width:0}
 body.desktop-modules .overview-module-intro-toggle>small{font:600 12px/1.4 'Segoe UI',sans-serif;color:var(--ecg-ui-accent-soft)}
 body.desktop-modules .overview-module-intro-toggle>svg{width:18px;height:18px;color:var(--ecg-ui-accent-soft);transform:rotate(90deg);transition:transform .65s cubic-bezier(.4,0,.2,1)}
 body.desktop-modules .overview-module-intro-toggle[aria-expanded=true]>svg{transform:rotate(-90deg)}
 body.desktop-modules .overview-module-intro-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,46%);align-items:center;gap:26px;padding-top:17px;min-width:0;box-sizing:border-box;overflow:hidden}
 body.desktop-modules .overview-module-intro-copy h3{display:none}
 body.desktop-modules .overview-module-intro-copy .desktop-course-eyebrow{margin-bottom:9px}
 body.desktop-modules #academy-map .overview-module-intro-toggle:hover{filter:brightness(1.1);border-color:var(--ecg-ui-accent-soft)}
 body.desktop-modules #academy-map .overview-module-intro-toggle:active{transform:translateY(1px)}
 body.desktop-modules #academy-map .overview-module-intro-toggle:focus-visible{outline:2px solid var(--overview-focus);outline-offset:3px}
}
@media(max-width:899px){
 body.desktop-modules .overview-module-intro-body{padding-top:12px}
 body.desktop-modules .overview-module-intro-media{grid-row:1}
 body.desktop-modules .overview-module-intro-copy{grid-row:2;padding-top:0}
 body.desktop-modules .overview-section{--overview-open-radius:14px}
 body.desktop-modules [data-overview-section][aria-expanded=true] .overview-module-action{position:absolute;right:13px;bottom:13px;display:block;font-size:12px;line-height:1.3;max-width:76px;text-align:right;white-space:nowrap}
 body.desktop-modules [data-overview-section][aria-expanded=true] .overview-module-toggle{align-self:start;padding-top:8px}
 body.desktop-modules .overview-resume-context{font-size:12px;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){body.desktop-modules .overview-module-intro-toggle>svg{transition:none!important}body.desktop-modules .overview-module-intro.overview-orientation-arrival{animation:none!important}}
