/* Mobile uses the shared course data, art, controls and prerequisite engine. */
@media(max-width:899px){
body.academy-map-page{--mobile-edge:16px;background:#070e18;font-family:'Segoe UI',Arial,sans-serif;overflow-x:hidden}
body.academy-map-page :is(button,a,h1,h2,h3,p,small,strong,span){font-family:'Segoe UI',Arial,sans-serif}
body.academy-map-page .top{height:64px;box-sizing:border-box;padding:8px 16px;border-bottom:1px solid #66839b45;background:#09121e;position:relative;z-index:60}
body.academy-map-page .learning-page{padding:0!important;width:100%;max-width:none}body.academy-map-page .crumb{padding:12px 16px;font-size:12px}
body.academy-map-page #academy-map{width:100%;min-height:70svh;overflow:visible}
body.academy-map-page :is(.view-system,.view-module,.view-unit){position:relative!important;inset:auto!important;width:100%!important;min-height:calc(100svh - 110px)!important;height:auto!important;padding:18px 16px 24px!important;box-sizing:border-box;background:linear-gradient(#07101dcc,#07101df2),var(--mobile-scene,none) center top/cover!important;border-top:2px solid #526c80}
body.academy-map-page :is(.view-system,.view-module,.view-unit):before{pointer-events:none}
body.academy-map-page :is(.module-heading,.unit-heading,.orbital-heading){position:relative!important;inset:auto!important;width:auto!important;transform:none!important;margin:18px 0 24px!important;padding:0!important;text-align:left!important}
body.academy-map-page :is(.module-heading,.unit-heading,.orbital-heading) h2{font-size:23px!important;line-height:1.25!important;font-weight:600;letter-spacing:0;color:#edf5ff}
body.academy-map-page :is(.module-heading,.unit-heading) small{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.14em;color:#99c5d5}
body.academy-map-page :is(.view-breadcrumb,.view-back){position:relative!important;inset:auto!important;transform:none!important;font-size:13px;max-width:100%;white-space:normal}
body.academy-map-page .view-back{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #56758c;border-radius:8px;background:#101e2c;color:#d9e8f5;margin-top:12px}
body.academy-map-page .view-system .solar-map,body.academy-map-page .cabin-unit-nodes{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;width:100%!important;height:auto!important;min-height:0!important;padding:8px 0 30px!important;overflow:visible!important;transform:none!important;box-sizing:border-box}
body.academy-map-page .solar-map .planet-node,body.academy-map-page .cabin-unit-nodes .territory-anchor{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;aspect-ratio:360/320;transform:none!important;margin:0!important;padding:0!important}
body.academy-map-page .solar-map .planet-node:nth-child(even),body.academy-map-page .cabin-unit-nodes .territory-anchor:nth-child(even){translate:0 20px}
body.academy-map-page .orbit-planet,body.academy-map-page .cabin-unit-nodes .territory-anchor{display:flex;align-items:center;justify-content:center;width:100%!important;height:100%!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:#edf6ff;cursor:pointer}
body.academy-map-page :is(.module-hex-frame,.module-hex-art){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none}
body.academy-map-page .module-hex-art{clip-path:polygon(25% 2%,75% 2%,99% 50%,75% 98%,25% 98%,1% 50%);background-size:cover;background-repeat:no-repeat;filter:brightness(.52)}
body.academy-map-page .module-hex-frame{fill:#0d192522;stroke:#718ea8;stroke-width:2;z-index:1}.hex-metal{fill:#14233344}.hex-light{stroke:#85b9d6}
body.academy-map-page .orbit-planet>.planet-sphere,body.academy-map-page .module-state-emblem{display:none!important}
body.academy-map-page .planet-label,body.academy-map-page .unit-territory>span:not(.module-hex-art){position:relative!important;inset:auto!important;z-index:3;transform:none!important;width:78%!important;text-align:center!important;margin:auto!important;font-size:13px!important;line-height:1.3!important;white-space:normal!important}
body.academy-map-page .planet-label{display:flex!important;flex-direction:column;gap:5px!important;padding:8px!important;box-sizing:border-box}
body.academy-map-page .planet-label strong{font-size:14px!important;line-height:1.25!important}.planet-label small{font-size:11px!important}
body.academy-map-page .cabin-unit-nodes .territory-anchor{flex-direction:column!important;gap:5px!important}body.academy-map-page .cabin-unit-nodes :is(strong,b){position:relative;z-index:3;font-size:14px!important;max-width:80%;line-height:1.25}body.academy-map-page .cabin-unit-nodes small{position:relative;z-index:3;font-size:11px!important}
body.academy-map-page .cabin-unit-map>.module-surface,body.academy-map-page .cabin-unit-map>.sector-viewport,body.academy-map-page .course-module-links,body.academy-map-page .solar-map>.orbit-ring{display:none!important}
body.academy-map-page .map-popover,body.academy-map-page .planet-preview{position:fixed!important;inset:auto 12px 12px!important;width:auto!important;max-width:none!important;max-height:65svh!important;overflow-y:auto!important;margin:0!important;padding:22px!important;box-sizing:border-box;border:1px solid #7995b3!important;border-top:3px solid #a68bc7!important;border-radius:18px!important;background:linear-gradient(145deg,#1b293d,#0b1523)!important;box-shadow:0 0 0 100vmax #0008,0 12px 50px #0009;z-index:200!important;font-size:15px!important}
body.academy-map-page :is(.map-popover,.planet-preview) :is(h2,strong){font-size:19px;line-height:1.3}body.academy-map-page :is(.map-popover,.planet-preview) :is(p,li){font-size:15px;line-height:1.5}
body.academy-map-page :is(.map-popover,.planet-preview) :is(button,a.lesson-preview-action){min-height:44px;box-sizing:border-box;border-radius:8px;font-size:14px;line-height:1.4}
body.academy-map-page :is(.preview-close,.map-popover-close){position:relative!important;inset:auto!important;display:block;margin:0 0 8px auto!important;min-width:44px}
body.academy-map-page .view-unit .sector-viewport{position:relative!important;inset:auto!important;width:100%!important;height:48svh!important;min-height:320px!important;max-height:520px!important;margin:12px 0!important;border:1px solid #597489;border-radius:14px;background:#071423a6!important;overflow:auto!important;touch-action:pan-x pan-y}
body.academy-map-page .activity-tile-rest{background:linear-gradient(145deg,#172b3d,#0c1726)!important;border:1px solid #7894ac!important;border-radius:10px!important;box-shadow:inset 0 2px 0 #b1e7ff26!important;color:#e5f2fd}
body.academy-map-page .tree-explorer-tools{position:relative!important;inset:auto!important;display:flex;justify-content:flex-end;gap:6px;margin:8px 0!important}body.academy-map-page .tree-explorer-tools button{min-width:44px;min-height:44px;border-radius:8px;font-size:15px}
body.academy-map-page :is(.sector-study-dock,.sector-study-current,.sector-study-continue,.sector-syllabus,.module-progression,.tree-preview-rail,.tree-mission){position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;box-sizing:border-box;transform:none!important;margin:12px 0!important}
body.academy-map-page .sector-study-dock{height:auto!important;padding:16px!important;background:#101d2c;border:1px solid #48647d;border-radius:14px}
body.academy-map-page .tree-objectives-row{display:flex;flex-wrap:wrap;gap:6px}body.academy-map-page .tree-objectives-row button{min-height:44px;font-size:13px;border-radius:7px}
body.academy-map-page .sector-study-status{font-size:14px;line-height:1.5}.sector-syllabus>ol{max-height:50svh;overflow:auto}
body.academy-map-page :is(.orbital-hud,.module-hud){position:relative!important;inset:auto!important;display:inline-flex!important;margin:8px 0!important}
body.academy-map-page .module-space-video{object-fit:cover;opacity:.25}body.academy-map-page :focus-visible{outline:2px solid #79dfee;outline-offset:3px}
}
@media(max-width:899px){
html body.academy-map-page #academy-map :is(.view-system,.view-module,.view-unit){display:flex!important;flex-direction:column!important;gap:0!important;overflow:visible!important}
html body.academy-map-page #academy-map :is(.unit-heading,.module-heading,.orbital-heading,.view-breadcrumb,.view-back,.tree-explorer-tools,.sector-study-dock,.sector-journey-dock,.sector-module-progress){position:relative!important;inset:auto!important;translate:none!important;transform:none!important;align-self:stretch!important;grid-area:auto!important;margin-left:0!important;margin-right:0!important;max-width:100%!important;box-sizing:border-box}
html body.academy-map-page #academy-map .view-breadcrumb{order:0}html body.academy-map-page #academy-map .view-back{order:1;align-self:flex-start!important}html body.academy-map-page #academy-map :is(.unit-heading,.module-heading,.orbital-heading){order:2}html body.academy-map-page #academy-map .tree-explorer-tools{order:3}html body.academy-map-page #academy-map :is(.sector-viewport,.solar-map,.cabin-unit-nodes){order:4;flex-shrink:0!important}html body.academy-map-page #academy-map :is(.sector-study-dock,.sector-journey-dock){order:5;display:block!important;position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;translate:none!important;margin:16px 0!important;padding:14px!important;width:100%!important;background:#101d2c;border:1px solid #48647d;border-radius:12px}
html body.academy-map-page #academy-map .cabin-unit-map>.sector-viewport{display:none!important}
html body.academy-map-page #academy-map .territory-marker.course-node-face{background:transparent!important;border:0!important;box-shadow:none!important;clip-path:none!important;width:78%!important;min-width:0!important;min-height:0!important;height:auto!important;padding:0!important;display:flex!important;flex-direction:column;align-items:center;gap:5px;white-space:normal!important}
html body.academy-map-page #academy-map .territory-marker:before,html body.academy-map-page #academy-map .territory-marker:after{display:none!important}
html body.academy-map-page #academy-map .territory-marker :is(strong,b){font-size:13px!important;max-width:100%;line-height:1.25;white-space:normal!important}
html body.academy-map-page #academy-map .territory-marker :is(small,em,i){font-size:10px!important;font-style:normal}
html body.academy-map-page #academy-map .module-hex-frame{overflow:visible;stroke-width:2}
html body.academy-map-page #academy-map :is(.orbital-hud,.sector-module-progress){position:relative!important;inset:auto!important;order:6;align-self:flex-start;margin:12px 0!important;transform:none!important}
html body.academy-map-page #academy-map .sector-study-current{display:block!important}html body.academy-map-page #academy-map .sector-study-continue{min-height:48px;border-radius:8px}
html body.academy-map-page #academy-map .course-module-links{display:none!important}
html body.academy-map-page #academy-map .planet-label strong{font-size:12px!important}html body.academy-map-page #academy-map .planet-label small{font-size:10px!important}
html body.academy-map-page #academy-map .unit-heading h2:focus:not(:focus-visible),html body.academy-map-page #academy-map .module-heading h2:focus:not(:focus-visible){outline:0}
}
@media(max-width:899px){
html body #academy-map#academy-map .view-unit{display:flex!important;flex-direction:column!important;position:relative!important;height:auto!important;min-height:0!important;padding:18px 16px 24px!important;overflow:visible!important}
html body #academy-map#academy-map .view-unit>.mission-map{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;order:4;transform:none!important}
html body #academy-map#academy-map .view-unit>.unit-heading{position:relative!important;inset:auto!important;order:2;width:100%!important;margin:18px 0!important;transform:none!important}
html body #academy-map#academy-map .view-unit>.sector-study-dock{position:relative!important;inset:auto!important;order:5;margin:16px 0!important;width:100%!important;transform:none!important}
html body #academy-map#academy-map .view-unit .sector-viewport{position:relative!important;inset:auto!important;width:100%!important;height:380px!important;min-height:380px!important;margin:0!important;transform:none!important}
html body #academy-map#academy-map .view-unit .tree-explorer-tools{position:relative!important;inset:auto!important;order:3;margin:0 0 10px!important}
html body.academy-map-page .top{position:relative!important;inset:auto!important}
html body #academy-map#academy-map :is(.module-heading,.unit-heading) h2{outline:none!important}
html body #academy-map#academy-map .sector-journey-dock{font-size:14px}html body #academy-map#academy-map .sector-journey-dock button{width:100%;min-height:44px;border-radius:8px;margin-top:10px}
}
@media(max-width:899px){
html body #academy-map#academy-map .view-unit{max-height:none!important;overflow:visible!important}
html body #academy-map#academy-map .view-unit>*{flex-shrink:0!important}
html body #academy-map#academy-map .view-unit>.mission-map{height:400px!important;min-height:400px!important;max-height:none!important;flex:0 0 400px!important}
html body #academy-map#academy-map .view-unit>.unit-heading{min-height:62px!important;flex:0 0 auto!important}
html body #academy-map#academy-map .view-unit>.view-back{margin-bottom:12px!important;min-height:44px!important}
}
@media(max-width:899px){
html body #academy-map#academy-map :is(.map-popover,.planet-preview){position:fixed!important;inset:auto 12px 12px!important;translate:none!important;transform:none!important;width:auto!important;max-width:none!important;max-height:65svh!important;overflow-y:auto!important;border:1px solid #7995b3!important;border-top:3px solid #a68bc7!important;border-radius:18px!important;box-shadow:0 0 0 100vmax #0008,0 12px 50px #0009!important;outline:none!important}
html body #academy-map#academy-map :is(.unit-heading,.module-heading)>small{position:relative!important;inset:auto!important;display:block!important;transform:none!important;margin:0 0 6px!important}
}
/* Compact shared panal and independently scrolling detail, mobile only. */
@media(max-width:899px){
html body.academy-map-page:has(.view-system){background:#060b12!important;background-image:none!important}
html body.academy-map-page:has(.view-system)::before,html body.academy-map-page:has(.view-system)::after{display:none!important}
html body #academy-map#academy-map .view-system{background:transparent!important;border:0!important;isolation:isolate;transform:none!important;filter:none!important}
html body #academy-map#academy-map .view-system::before,html body #academy-map#academy-map .view-system::after,html body #academy-map#academy-map .view-system :is(.stage-stars,.stage-twinkle,.orbit,.course-star){display:none!important}
html body #academy-map#academy-map .view-system .module-space-video{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;object-fit:cover!important;opacity:1!important;z-index:-1!important;pointer-events:none}
html body #academy-map#academy-map .mobile-honeycomb{display:block!important;position:relative!important;height:var(--mobile-map-height)!important;min-height:var(--mobile-map-height)!important;padding:0!important;margin:16px 0!important;background:none!important;overflow:hidden!important;isolation:isolate}
html body #academy-map#academy-map .mobile-honeycomb>:is(.planet-node,.territory-anchor){position:absolute!important;left:var(--mobile-hex-x)!important;top:var(--mobile-hex-y)!important;inset-block-start:var(--mobile-hex-y)!important;width:var(--mobile-hex-width)!important;height:auto!important;aspect-ratio:360/320;translate:none!important;transform:none!important;z-index:1}
html body #academy-map#academy-map .mobile-honeycomb :is(.orbit-planet,.territory-anchor){clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
html body #academy-map#academy-map .mobile-reticle{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;fill:none;stroke:#86bdcf;stroke-width:1;opacity:.3}
html body #academy-map#academy-map .mobile-panel-fixed{display:flex!important;flex-direction:column!important;gap:8px!important;height:min(76svh,680px)!important;max-height:calc(100svh - 32px)!important;overflow:hidden!important;padding:16px!important}
html body #academy-map#academy-map .mobile-panel-fixed>:is(.preview-close,.map-popover-close){flex:0 0 44px;align-self:flex-end;margin:0!important}
html body #academy-map#academy-map .mobile-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 4px 12px;scrollbar-width:thin}
html body #academy-map#academy-map .mobile-panel-scroll .preview-curriculum{max-height:none!important;overflow:visible!important}
html body #academy-map#academy-map .mobile-panel-actions{flex:0 0 auto;border-top:1px solid #7894ac55;padding-top:12px;background:#101b2b}
html body #academy-map#academy-map .mobile-panel-actions>button,html body #academy-map#academy-map .mobile-panel-actions>a{display:block!important;width:100%!important;min-height:48px!important;margin:0!important;font:600 15px/1.35 'Segoe UI',Arial,sans-serif!important;white-space:normal!important}
html body.academy-map-page:has(.mobile-panel-fixed) .course-test-panel{visibility:hidden}
}

@media(max-width:899px){
html body.academy-map-page .learning-page,html body #academy-map#academy-map{height:auto!important;min-height:calc(100svh - 64px)!important;max-height:none!important}
html body #academy-map#academy-map .view-system,html body #academy-map#academy-map .view-module{height:auto!important;max-height:none!important;width:100%!important;margin:0!important;left:auto!important;right:auto!important;flex:none!important}
html body #academy-map#academy-map .view-system>*,html body #academy-map#academy-map .view-module>*{flex-shrink:0!important}
html body #academy-map#academy-map .mobile-reticle path{fill:none!important;stroke:#91c8dc!important;stroke-width:1.5!important;opacity:1!important;vector-effect:non-scaling-stroke}
html body.academy-map-page:has(.mobile-panel-fixed) .cabin-review-menu{visibility:hidden!important}
}
@media(max-width:899px){
html:has(body.academy-map-page),html body.academy-map-page{height:auto!important;min-height:100svh!important;max-height:none!important}
html body.academy-map-page .learning-page,html body #academy-map#academy-map{display:block!important;position:relative!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html body #academy-map#academy-map .view-system,html body #academy-map#academy-map .view-module{max-width:none!important;position:relative!important;inset:auto!important}
html body #academy-map#academy-map .mobile-reticle{display:block!important;visibility:visible!important;opacity:.45!important}
html body #academy-map#academy-map .mobile-reticle path{display:block!important;visibility:visible!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;filter:none!important}
}

/* Session 1: module explorer only. Units, lessons and detail panels keep their layout. */
@media(max-width:899px){
 html body #academy-map#academy-map :is(.view-system,.view-module){padding:16px 12px 56px!important}
 html body #academy-map#academy-map :is(.view-system,.view-module)>.orbital-hint{display:none!important}
 html body #academy-map#academy-map :is(.view-system,.view-module)>.orbital-heading{margin:4px 8px 12px!important;max-width:520px!important}
 html body #academy-map#academy-map :is(.view-system,.view-module)>.orbital-heading:after{display:none}
 html body #academy-map#academy-map :is(.view-system,.view-module)>.orbital-heading small{font-size:11px;letter-spacing:.08em}
 html body #academy-map#academy-map :is(.view-system,.view-module)>.orbital-heading h2{margin:8px 0!important;font-size:23px!important;letter-spacing:.035em!important;line-height:1.25!important}
 html body #academy-map#academy-map :is(.view-system,.view-module)>.orbital-heading p{font-size:15px!important;line-height:1.5!important;max-width:34ch}
 html body #academy-map#academy-map :is(.view-system,.view-module)>:is(.solar-map,.cabin-unit-nodes){margin:0 auto!important;max-width:500px!important;scroll-snap-type:none}
 html body #academy-map#academy-map :is(.view-system,.view-module) .module-space-video{filter:brightness(.55)}
 html body #academy-map#academy-map :is(.view-system,.view-module) .mobile-reticle{opacity:.28!important;mask-image:linear-gradient(transparent,#000 30px,#000 calc(100% - 40px),transparent)}
 html body #academy-map#academy-map :is(.view-system,.view-module) .mobile-reticle path{stroke:#80d8ed!important;stroke-width:1!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .module-hex-art{inset:7% 5%!important;width:auto!important;height:auto!important;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);filter:brightness(1)}
 html body #academy-map#academy-map :is(.view-system,.view-module) .state-locked .module-hex-art{filter:grayscale(.65) brightness(.6)}
 html body #academy-map#academy-map :is(.view-system,.view-module) .module-hex-frame{fill:none;z-index:4}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-metal{fill:none}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-locked .hex-metal{stroke:#424b55!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-locked .hex-bevel{stroke:#87939e!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-locked .hex-light{stroke:#687581!important;filter:none!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-completed .hex-metal{stroke:#347e63!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-completed .hex-bevel{stroke:#a0e7bf!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-completed .hex-light{stroke:#6fd9b0!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-recommended .hex-metal{stroke:#377f91!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-recommended .hex-bevel{stroke:#adf5ff!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) :is(.planet-label,.territory-marker){position:absolute!important;inset:27% 6.7%!important;width:auto!important;margin:0!important;padding:4px 15px!important;gap:3px!important;clip-path:none!important;border:0!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) :is(.planet-label,.territory-marker):before{background:rgba(0,0,0,.38)!important;clip-path:polygon(13.5% 0,86.5% 0,100% 50%,86.5% 100%,13.5% 100%,0 50%)}
 html body #academy-map#academy-map :is(.view-system,.view-module) :is(.planet-label,.territory-marker) strong{font-size:13px!important;font-weight:500!important;line-height:1.2!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) :is(.planet-label,.territory-marker) small{font-size:11px!important;line-height:1.25!important;letter-spacing:0}
 html body #academy-map#academy-map :is(.view-system,.view-module) :is(.planet-label,.territory-marker) .hex-guidance{position:static;display:block;margin:2px 0 0;padding:0;background:none;font-size:10px;line-height:1.2;letter-spacing:0}
 html body #academy-map#academy-map :is(.view-system,.view-module) :is(.planet-label,.territory-marker) .hex-guidance[hidden]{display:none}
 html body #academy-map#academy-map :is(.view-system,.view-module) .hex-stagger-links{display:none}
 html body #academy-map#academy-map :is(.view-system,.view-module) .orbit-planet:active{transform:scale(.97)!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .orbit-planet:focus-visible{outline:2px solid #8af3ff!important;outline-offset:2px}
}

@media(max-width:899px){
body.academy-map-page:has(:is(.view-system,.view-module)) .crumb{display:none}
 :is(.view-system,.view-module) .hex-shared-design .module-exam-node{--medal-metal:#c6b07d;--medal-light:#ead8a5}
 :is(.view-system,.view-module) .hex-shared-design .module-exam-node.hex-locked{--medal-metal:#6d685b;--medal-light:#aaa18c}
 :is(.view-system,.view-module) .hex-shared-design .module-exam-node.hex-completed{--medal-metal:#bd9143;--medal-light:#ffe2a0;--hex-interaction:#efd18b!important}
 :is(.view-system,.view-module) .hex-shared-design .module-exam-node .hex-metal{stroke:var(--medal-metal)!important;stroke-width:15}
 :is(.view-system,.view-module) .hex-shared-design .module-exam-node .hex-bevel,.hex-shared-design .module-exam-node .hex-accents,.hex-shared-design .module-exam-node .exam-reinforcement{stroke:var(--medal-light)!important}
 :is(.view-system,.view-module) .hex-shared-design .module-exam-node.hex-completed .hex-light{stroke:#f9d47f!important;filter:drop-shadow(0 0 5px #f3c45c)}
 :is(.view-system,.view-module) .hex-shared-design .module-exam-node.hex-completed .hex-guidance{color:#ffe2a0}
 :is(.view-system,.view-module) .hex-shared-design .module-exam-node.hex-locked .hex-guidance{color:#c4beae}
 :is(.view-system,.view-module) .exam-medal-emblem{pointer-events:none;color:var(--medal-light);stroke-linejoin:round}
 :is(.view-system,.view-module) .exam-medal-emblem .medal-ribbons{fill:var(--medal-metal);stroke:#0c131e;stroke-width:2}
 :is(.view-system,.view-module) .exam-medal-emblem .medal-disc{fill:#111b26;stroke:var(--medal-metal);stroke-width:5}
 :is(.view-system,.view-module) .exam-medal-emblem .medal-rim{fill:none;stroke:currentColor;stroke-width:1.5}
 :is(.view-system,.view-module) .exam-medal-emblem .medal-star{fill:currentColor;stroke:none}
 :is(.view-system,.view-module) .exam-medal-emblem .medal-check{display:none;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round}
 :is(.view-system,.view-module) .exam-medal-emblem .medal-lock{display:none;fill:#111b26;stroke:currentColor;stroke-width:3}
 :is(.view-system,.view-module) .exam-medal-emblem .medal-laurel{fill:var(--medal-metal);stroke:currentColor;stroke-width:2}
 :is(.view-system,.view-module) .hex-locked .medal-lock,.hex-completed .medal-check{display:block}
 :is(.view-system,.view-module) .hex-locked .medal-star,.hex-completed .medal-star{display:none}
 :is(.view-system,.view-module) .hex-completed .exam-medal-emblem{filter:drop-shadow(0 0 5px #e7bd5555)}
}

@media(min-width:900px){:is(.view-system,.view-module) .mobile-reticle{display:none}}

/* Continuous mobile explorer and content-sized information sheet. */
@media(max-width:899px){
 html body.academy-map-page>.top{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;padding:8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left))!important;gap:12px}
 html body.academy-map-page>.top .brand{min-width:0;flex-shrink:1}
 html body.academy-map-page>.top .back{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;min-width:84px;padding:0 12px!important;box-sizing:border-box;border:1px solid #748ba75c;border-radius:10px;background:#142233;color:#edf5ff;font:600 13px/1.2 'Segoe UI',Arial,sans-serif!important;text-decoration:none;white-space:nowrap;flex-shrink:0}
 html body.academy-map-page>.top .back:active{background:#22384d}
 html body.academy-map-page>.top .back:focus-visible{outline:2px solid #8af3ff;outline-offset:2px}
 html body #academy-map#academy-map :is(.view-system,.view-module):is(.view-system,.view-module)::before{content:'';display:block!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:0!important;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22120%22%20height%3D%22142.222222%22%20viewBox%3D%220%200%20120%20142.222222%22%3E%3Cpath%20d%3D%22M-40%20-35.5556h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M-40%2035.5556h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M-40%20106.667h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M-40%20177.778h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M20%20-71.1111h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M20%200h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M20%2071.1111h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M20%20142.222h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M80%20-35.5556h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M80%2035.5556h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M80%20106.667h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M80%20177.778h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M140%20-71.1111h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M140%200h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M140%2071.1111h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M140%20142.222h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M200%20-35.5556h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M200%2035.5556h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M200%20106.667h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%20M200%20177.778h40l20%2035.5556l-20%2035.5556h-40l-20%20-35.5556Z%22%20fill%3D%22none%22%20stroke%3D%22%2380d8ed%22%20stroke-width%3D%220.7%22/%3E%3C/svg%3E"); background-repeat:repeat;background-size:120px 142.222222px;mask-image:none!important;transform:none!important;border:0!important}
 html body #academy-map#academy-map :is(.view-system,.view-module) .mobile-reticle{display:none!important}
 html body #academy-map#academy-map .view-system>:is(.orbital-heading,.solar-map,.orbital-hud){position:relative;z-index:1}
 html body #academy-map#academy-map .view-system>.orbital-heading{text-align:center!important;align-self:center!important;width:100%!important;margin:4px auto 16px!important}
 html body #academy-map#academy-map .view-system>.orbital-heading p{margin:0 auto!important;text-align:center!important}
 html body #academy-map#academy-map :is(.planet-preview,.map-popover).mobile-panel-fixed{height:auto!important;max-height:calc(100dvh - 92px - env(safe-area-inset-bottom))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;padding:18px!important;gap:12px!important;border:1px solid #a48aca99!important;border-top:2px solid #b6a0db!important;border-radius:20px!important;background:linear-gradient(155deg,#192638,#0d1725)!important}
 html body #academy-map#academy-map .mobile-panel-fixed .mobile-panel-scroll{flex:1 1 auto;padding:0 2px 8px;min-height:0;text-align:center;overscroll-behavior:contain}
 html body #academy-map#academy-map .mobile-panel-fixed .preview-header{display:block!important;margin:0!important;padding:0!important;text-align:center!important}
 html body #academy-map#academy-map .mobile-panel-fixed .preview-header .preview-planet{display:none!important}
 html body #academy-map#academy-map .mobile-panel-fixed :is(.preview-header h2,#map-preview-title){font:600 22px/1.25 'Segoe UI',Arial,sans-serif!important;text-shadow:none!important;margin:10px 0 12px!important;text-wrap:balance}
 html body #academy-map#academy-map .mobile-panel-fixed :is(.preview-header small,.map-preview-content header small){color:#cbb4ee;font-size:12px!important;letter-spacing:.07em}
 html body #academy-map#academy-map .mobile-panel-fixed :is(.preview-header p,.map-preview-content p){font-size:15px!important;line-height:1.6!important;max-width:38ch;margin:0 auto 12px!important;text-align:center}
 html body #academy-map#academy-map .mobile-panel-fixed .preview-curriculum{text-align:center}
 html body #academy-map#academy-map .mobile-panel-fixed .mobile-panel-actions{padding-top:14px;background:transparent;border-color:#8495b333}
 html body #academy-map#academy-map .mobile-panel-actions>:is(button,a){background:linear-gradient(135deg,#735298,#523771)!important;border:1px solid #bb9dde!important;border-radius:12px!important;box-shadow:inset 0 1px 0 #ffffff20!important;color:#fff!important;min-height:50px!important;text-shadow:none!important;font:600 15px/1.3 'Segoe UI',Arial,sans-serif!important;text-align:center}
 html body #academy-map#academy-map .mobile-panel-fixed>:is(.preview-close,.map-popover-close){width:44px!important;height:44px!important;min-height:44px!important;border:1px solid #91a4bf66!important;border-radius:12px!important;background:#162438!important;color:#edf5ff!important;box-shadow:none!important}
 html body.academy-map-page:has(.planet-preview-layer.is-open,.map-preview-layer,.cabin-unit-preview.mobile-panel-fixed) .ecg-real-test{visibility:hidden!important}
}

@media(max-width:899px){
 html body.academy-map-page>.top .back{letter-spacing:0!important}
 html body.academy-map-page>.top .back::before,html body.academy-map-page>.top .back::after{content:none!important;display:none!important}
 html body.academy-map-page>.top .brand{flex-shrink:0;gap:9px}
 html body.academy-map-page>.top .brand span{white-space:nowrap}
 html body #academy-map#academy-map .mobile-panel-fixed :is(p,li,h2,strong,b,small,span){font-family:'Segoe UI',Arial,sans-serif!important;letter-spacing:0!important}
 html body #academy-map#academy-map .mobile-panel-fixed .preview-curriculum :is(p,li){font-size:15px!important;line-height:1.5!important}
 html body.academy-map-page:has(.planet-preview.mobile-panel-fixed,.map-popover.mobile-panel-fixed) :is(.ecg-real-test,.cabin-review-menu){visibility:hidden!important}
}

@media(max-width:899px){
 html body #academy-map#academy-map .mobile-panel-fixed .sector-preview-thumbnail{display:none!important}
 html body #academy-map#academy-map .mobile-panel-fixed .map-preview-content{display:block!important;position:relative!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important}
 html body #academy-map#academy-map .mobile-panel-fixed .map-preview-content header{display:flex!important;flex-direction:column;align-items:center;gap:6px;padding:0!important;min-height:0!important;text-align:center!important}
 html body #academy-map#academy-map .mobile-panel-fixed .lesson-popover-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:12px 0!important;padding:0!important}
 html body #academy-map#academy-map .mobile-panel-fixed .lesson-popover-meta span{font-size:11px!important}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-unit-progress{text-align:center;position:relative;margin:20px 0 0;padding:14px 0;border-top:1px solid #91a4bf33}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-unit-progress ul{padding:0!important;list-style:none}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-unit-progress li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0!important;border-bottom:1px solid #91a4bf22}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-unit-progress li span{font-size:14px!important;line-height:1.45}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-unit-progress li b{font-size:10px!important;line-height:1.3;color:#a9c8da}
 html body:has(#academy-map .mobile-panel-fixed) :is(.ecg-real-test,.cabin-review-menu){visibility:hidden!important}
}

/* Units inherit the approved mobile module explorer. */
@media(max-width:899px){
 html body.academy-map-page:has(.view-module) .crumb{display:none}
 html body #academy-map#academy-map .view-module{isolation:isolate;transform:none!important;filter:none!important;border:0!important;padding:16px 12px 56px!important}
 html body #academy-map#academy-map .view-module>:is(.module-heading,.view-back,.module-hud,.cabin-unit-nodes,.sector-journey-dock){position:relative;z-index:1}
 html body #academy-map#academy-map .view-module>.view-breadcrumb{display:none!important}
 html body #academy-map#academy-map .view-module>.view-back{align-self:center!important;margin:0 auto 14px!important;min-height:44px;padding:10px 16px!important;background:#142233;border:1px solid #748ba75c;border-radius:10px;color:#edf5ff;font:600 13px/1.3 'Segoe UI',Arial,sans-serif!important}
 html body #academy-map#academy-map .view-module>.module-heading{margin:4px auto 20px!important;text-align:center!important;max-width:520px!important;width:100%!important}
 html body #academy-map#academy-map .view-module>.module-heading h2{font:600 23px/1.25 'Segoe UI',Arial,sans-serif!important;margin:8px 0!important;letter-spacing:.025em;text-wrap:balance}
 html body #academy-map#academy-map .view-module>.module-heading small{color:#a5def1;font-size:12px!important}
 html body #academy-map#academy-map .view-module .cabin-unit-nodes{margin:0 auto!important;max-width:500px!important}
 html body #academy-map#academy-map .view-module .territory-anchor{display:block!important;overflow:visible!important;--hex-color:#7e7296}
 html body #academy-map#academy-map .view-module .territory-anchor.hex-locked .unit-hex-art{filter:grayscale(.65) brightness(.6)}
 html body #academy-map#academy-map .view-module .territory-marker.course-node-face{position:absolute!important;inset:27% 6.7%!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:4px 15px!important;gap:3px!important;font:600 11px/1.25 'Segoe UI',Arial,sans-serif!important;background:transparent!important;isolation:isolate;z-index:3;filter:none!important;transform:none!important;white-space:normal!important}
 html body #academy-map#academy-map .view-module .territory-marker:before{content:''!important;display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(0,0,0,.38)!important;clip-path:polygon(13.5% 0,86.5% 0,100% 50%,86.5% 100%,13.5% 100%,0 50%);filter:none!important}
 html body #academy-map#academy-map .view-module .territory-marker .text-node-title{display:block;font:500 13px/1.2 'Segoe UI',Arial,sans-serif!important;max-width:100%;text-align:center;text-wrap:balance}
 html body #academy-map#academy-map .view-module .territory-marker .text-node-state{display:none!important}
 html body #academy-map#academy-map .view-module .territory-anchor:active{filter:brightness(1.15)}
 html body #academy-map#academy-map .view-module .territory-anchor:focus-visible{outline:2px solid #8af3ff!important;outline-offset:2px}
 html body #academy-map#academy-map .view-module>.module-hud{align-self:center!important;margin:20px auto 12px!important}
}

@media(max-width:899px){
 html body #academy-map#academy-map .view-module>.module-hud{order:6}
 html body #academy-map#academy-map .view-module .territory-marker .text-node-title{background:none!important;border:0!important;box-shadow:none!important;text-shadow:0 1px 3px #000!important;filter:none!important}
 html body #academy-map#academy-map .view-module>.sector-journey-dock{text-align:center!important}
}

/* Account lives in the main navigation; keep contextual course back controls. */
@media(max-width:899px){html body.academy-map-page>header.top.ecg-site-header a.back[href="account.php"]{display:none!important}}

/* Course audit 1: compact, non-overlapping lesson navigation. */
@media(max-width:899px){
 html body.academy-map-page #academy-map#academy-map .view-unit>.view-breadcrumb{display:flex!important;flex-wrap:wrap;align-items:center;gap:0 8px;padding:0!important;margin:0 0 8px!important;background:none!important;min-height:44px;line-height:1.4}
 html body.academy-map-page #academy-map#academy-map .view-unit>.view-breadcrumb :is(a,button){display:inline-flex;align-items:center;min-height:44px;font-size:13px}
 html body.academy-map-page #academy-map#academy-map .view-unit>.view-back{position:relative!important;inset:auto!important;margin:0 0 14px!important;flex:0 0 auto!important;align-self:flex-start!important;min-height:44px;box-shadow:inset 0 1px #ffffff20,0 3px #060d18;background:linear-gradient(145deg,#263447,#131e2d)!important}
 html body.academy-map-page #academy-map#academy-map .view-unit>.unit-heading{position:relative!important;inset:auto!important;display:block!important;margin:0 0 14px!important;min-height:0!important;height:auto!important;flex:0 0 auto!important;padding:0!important;background:none!important;text-align:center!important}
 html body.academy-map-page #academy-map#academy-map .view-unit>.unit-heading small{position:static!important;display:block!important;margin:0 0 6px!important;line-height:1.4;color:#a4cad8!important}
 html body.academy-map-page #academy-map#academy-map .view-unit>.unit-heading h2{margin:0!important;font-size:21px!important;line-height:1.3!important;text-wrap:balance;text-shadow:none!important}
 html body.academy-map-page #academy-map#academy-map .view-unit .sector-viewport{height:320px!important;min-height:320px!important;box-shadow:inset 0 1px #d9edff26,0 4px #040b14;border-color:#8094ad70!important}
 html body.academy-map-page #academy-map#academy-map .view-unit>.mission-map{height:336px!important;min-height:336px!important;flex:0 0 336px!important}
 .mobile-map-help{order:3;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;font:13px/1.4 'Segoe UI',sans-serif;color:#b7c9dc}
 .mobile-map-help button{flex-shrink:0;min-height:44px;padding:8px 10px;border:1px solid #ae91d266;border-radius:10px;background:linear-gradient(145deg,#39314e,#201e31);box-shadow:inset 0 1px #ffffff20,0 2px #070b14;color:#eadfff;font:600 13px/1.3 'Segoe UI',sans-serif}
 .mobile-map-help button:focus-visible{outline:2px solid #a8e7fa;outline-offset:3px}
 html body.academy-map-page .activity-tile-rest{box-shadow:inset 0 1px #e2f3ff45,inset 0 -3px #0005,0 6px 12px #0005!important}
}
@media(min-width:900px){.mobile-map-help{display:none}}
/* Shared card finish, with geometry and state colors left intact. */
html body #academy-map .module-hex-frame .hex-bevel{filter:drop-shadow(0 2px 1px #020710b3)}
html body #academy-map .module-hex-frame .hex-accents{filter:drop-shadow(0 1px 1px #ffffff38)}
html body #academy-map .ecg-hex-card:not(.hex-locked) .module-hex-art{box-shadow:inset 0 2px #e2f3ff26,inset 0 -4px #0006}

/* Course audit 2: preview hierarchy and an explicit scroll cue. */
@media(max-width:899px){
 html body #academy-map#academy-map .mobile-panel-fixed{gap:8px!important;padding:16px!important;border:1px solid #8094b26b!important;border-bottom:3px solid #050b14!important;background:linear-gradient(145deg,#253043,#121b28)!important;box-shadow:inset 0 1px #d8e6ff26,0 4px #060b13,0 24px 70px #0009,0 0 0 100vmax #030710b3!important}
 html body #academy-map#academy-map .mobile-panel-fixed :is(#map-preview-title,.preview-header h2){font-size:20px!important;line-height:1.3!important;margin:8px 0!important;text-transform:none!important}
 html body #academy-map#academy-map .mobile-panel-fixed .lesson-popover-meta{gap:6px;margin:10px 0!important}
 html body #academy-map#academy-map .mobile-panel-fixed .lesson-popover-meta span{padding:4px 8px;border:1px solid #a7b9d126;border-radius:6px;background:#09132166;font-size:12px!important}
 html body #academy-map#academy-map .mobile-panel-fixed .mobile-panel-redundant{display:none!important}
 html body #academy-map#academy-map .mobile-panel-fixed .tree-preview-guide{padding:0!important;margin:12px 0!important;border:0!important;background:none!important}
 html body #academy-map#academy-map .mobile-panel-fixed .tree-preview-guide>small{display:none}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-unit-progress{margin:12px 0 0!important;padding:12px 0 0!important}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-unit-progress>strong{display:block;font-size:14px!important;margin-bottom:8px}
 html body #academy-map#academy-map .mobile-panel-fixed :is(.mobile-panel-details,.tree-preview-guide details){margin:10px 0 0;padding:0 10px;border:1px solid #91a4bf30;border-radius:10px;background:#0c162355;text-align:left}
 html body #academy-map#academy-map .mobile-panel-fixed details>summary{min-height:44px;box-sizing:border-box;padding:12px 0;cursor:pointer;font:600 13px/1.5 'Segoe UI',sans-serif;color:#d9c8ef;text-align:left}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-unit-progress li{padding:10px 0!important;gap:3px}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-study-actions{margin:0 0 10px!important;padding:0!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-study-actions>small{grid-column:1/-1;font-size:11px!important;text-align:center}
 html body #academy-map#academy-map .mobile-panel-fixed .sector-study-actions button{min-width:0;min-height:44px!important;white-space:normal;font-size:12px!important}
 html body #academy-map#academy-map .mobile-panel-fixed .mobile-panel-scroll{scrollbar-color:#b09bc5 #101b2b;scrollbar-gutter:stable;padding-bottom:4px}
 html body #academy-map#academy-map .mobile-panel-fixed.mobile-panel-more .mobile-panel-actions:before{content:'Desliza para ver más ↓';display:block;margin:-4px 0 9px;color:#b9cbdc;text-align:center;font:12px/1.4 'Segoe UI',sans-serif}
 html body #academy-map#academy-map .mobile-panel-fixed .mobile-panel-actions{padding-top:10px!important}
}
@media(max-width:899px){html body #academy-map#academy-map .mobile-panel-fixed{height:fit-content!important;min-height:0!important}}

/* Lesson actions stay visible; the map supplies prerequisite and route context. */
html body #academy-map#academy-map .tree-explorer-tools[hidden]{display:none!important}
html body #academy-map#academy-map .sector-study-actions{grid-template-columns:minmax(0,1fr)!important}
html body #academy-map#academy-map .sector-study-actions [data-study-action="seen"]{grid-column:1/-1;width:100%}
@media(max-width:899px), (hover:none) and (pointer:coarse) and (max-height:599px) and (max-width:1199px){
 html body #academy-map#academy-map .map-popover.mobile-panel-fixed{top:50%!important;bottom:auto!important;translate:0 -50%!important;max-height:calc(100dvh - 32px)!important;height:auto!important}
 html body #academy-map#academy-map .mobile-panel-fixed .mobile-panel-scroll{flex:0 1 auto!important;min-height:80px!important;max-height:calc(100dvh - 250px);overflow-y:auto!important}
 html body #academy-map#academy-map .mobile-panel-actions{display:grid;gap:10px}
 html body #academy-map#academy-map .mobile-panel-actions .sector-study-actions{margin:0!important;gap:6px}
 html body #academy-map#academy-map .mobile-panel-actions [data-study-action="seen"]{min-height:48px!important;border:1px solid #79cdb69c;border-radius:10px;background:linear-gradient(145deg,#264a46,#17302f);color:#d9fff0;font:600 14px/1.3 'Segoe UI',sans-serif;box-shadow:inset 0 1px #ffffff24,0 3px #050c12}
 html body #academy-map#academy-map .mobile-panel-actions [data-study-action="seen"]:disabled{opacity:.55}
 html body #academy-map#academy-map .mobile-panel-actions [data-study-action="seen"]:not(:disabled):hover{filter:brightness(1.2)}
 html body #academy-map#academy-map .mobile-panel-actions [data-study-action="seen"]:focus-visible{outline:2px solid #8cefff;outline-offset:2px}
}

html body #academy-map#academy-map .exam-entry-preview :is(.lesson-preview-action,.sector-study-actions){display:none!important}
