/* Reusable metallic hexagons, scoped exclusively to the module selector. */
body.text-nodes-review .hex-module-menu{background:radial-gradient(ellipse at 48% 48%,#3927593d,transparent 56%),radial-gradient(ellipse at 10% 80%,#08557122,transparent 50%),#070d19}
.hex-module-menu .orbital-heading{position:relative;padding-top:28px}
.hex-module-menu .orbital-heading:after{content:"";display:block;width:120px;height:1px;margin:22px auto 0;background:linear-gradient(90deg,transparent,#b498ec,transparent)}
body.course-workspace .hex-module-menu .orbital-heading h2{font-size:clamp(24px,2.5vw,40px);font-weight:500;letter-spacing:.13em;text-shadow:0 0 20px #a280d955}
body.text-nodes-review .hex-module-menu .solar-map{display:flex;align-items:center;justify-content:safe center;gap:12px;overflow-x:auto;overflow-y:hidden;padding:22px 8px;box-sizing:border-box}
body.text-nodes-review .hex-module-menu .planet-node{--hex-color:#7e7296;position:relative!important;left:auto!important;top:auto!important;transform:none!important;flex:0 0 auto;width:clamp(220px,calc((100vw - var(--viewer-width,0px) - 100px)/3),340px)!important;height:auto!important;aspect-ratio:360/320;filter:drop-shadow(0 12px 12px #000b)}
body.text-nodes-review .hex-module-menu [data-planet-trigger]{position:relative!important;width:100%!important;height:100%!important;display:block;isolation:isolate;background:transparent!important;border:0!important;box-shadow:none!important;clip-path:none!important;overflow:visible;transition:transform .22s ease,filter .22s ease;outline:none!important}
.module-hex-art{position:absolute;inset:7% 5%;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background-repeat:no-repeat;background-color:#18283a;image-rendering:pixelated;filter:brightness(.8);transition:filter .25s ease}
.module-hex-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#08111a08 35%,#050b15aa 66%,#030912 88%)}
.module-hex-frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;fill:none;pointer-events:none}
.hex-metal{stroke:#3c4657;stroke-width:11;filter:drop-shadow(0 2px 1px black)}
.hex-bevel{stroke:#9caab7;stroke-width:2;opacity:.8}
.hex-light{stroke:var(--hex-color);stroke-width:2.5;filter:drop-shadow(0 0 5px var(--hex-color));transition:stroke .2s ease}
.hex-accents{stroke:#c7d6de;stroke-width:3;opacity:.8}.hex-corners{stroke:#d7b9ff;stroke-width:2;opacity:0}
body.text-nodes-review .hex-module-menu .planet-label{position:absolute!important;inset:60% 18% 10%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:auto;max-width:none;margin:0;padding:6px 0;z-index:3;text-shadow:0 2px 3px black;border-top:1px solid #8594ac44;background:linear-gradient(#07101ac9,#050b12ef)}
body.text-nodes-review .hex-module-menu .planet-label small{font-size:11px;letter-spacing:.1em;color:#dce8f3}
body.text-nodes-review .hex-module-menu .planet-label strong{font-size:clamp(12px,1vw,16px);font-weight:500;line-height:1.3;margin:0;text-wrap:balance;color:#fff}
body.text-nodes-review .hex-module-menu .orbital-status{font-size:10px;letter-spacing:.04em;color:var(--hex-color);margin:0}
.hex-module-menu .module-state-emblem{position:absolute;top:48%;left:50%;transform:translateX(-50%);z-index:4;color:var(--hex-color);font-size:20px;text-shadow:0 0 10px currentColor}
.hex-module-menu .state-completed{--hex-color:#68e6df!important}.hex-module-menu .state-completed .module-state-emblem:before{content:"✓"}
.hex-module-menu .state-available{--hex-color:#b598ed!important}
.hex-module-menu .state-locked .module-hex-art{filter:grayscale(.8) brightness(.4)}
.hex-module-menu .state-locked .module-state-emblem:before{content:"▣"}
body.text-nodes-review .hex-module-menu .planet-node:is(:hover,:focus-within,:has([aria-expanded=true])){--hex-color:#c295ff;filter:drop-shadow(0 0 13px #a970e94a)}
body.text-nodes-review .hex-module-menu .planet-node:not(.state-locked):hover [data-planet-trigger]{transform:translateY(-5px)}
.hex-module-menu .planet-node:not(.state-locked):hover .module-hex-art{filter:brightness(1.05)}
.hex-module-menu .planet-node:is(:focus-within,:has([aria-expanded=true])) .hex-corners{opacity:1}
.hex-module-menu .planet-node:has([aria-expanded=true]) .hex-light{stroke-width:4}
body.text-nodes-review .hex-module-menu [data-planet-trigger]:active{transform:translateY(2px)}
.hex-module-menu .course-module-links{top:0;left:0;pointer-events:none;opacity:.5}.hex-module-menu .course-module-links line{stroke:#a786db;stroke-width:2}
.hex-module-menu .orbital-hint{font-size:11px;letter-spacing:.12em;border-top:1px solid #6e608644;padding-top:16px;color:#a9a9bf}
@media(prefers-reduced-motion:reduce){.hex-module-menu *{transition:none!important}}
@media(max-width:899px){body.text-nodes-review .hex-module-menu .solar-map{justify-content:flex-start}body.text-nodes-review .hex-module-menu .planet-node{width:220px!important}}

body.text-nodes-review .hex-module-menu .planet-label{box-shadow:none!important;clip-path:polygon(0 0,100% 0,100% 68%,83% 100%,17% 100%,0 68%);padding-bottom:14px}
.hex-module-menu .state-locked .module-state-emblem:before{content:none}
.hex-lock{display:none;width:22px;height:22px;fill:#0b1018;stroke:#c1c8d2;stroke-width:1.7}
.state-locked .hex-lock{display:block}

.hex-module-menu{isolation:isolate}
.hex-module-menu:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(#050a121a,#070b172e 50%,#03081388)}
.hex-module-menu .orbital-heading,.hex-module-menu .solar-map,.hex-module-menu .orbital-hint{position:relative;z-index:1}

/* Cockpit trial: the existing shared viewer docks below the module window. */
@media(min-width:900px){
body.module-cockpit{--viewer-width:0px}
body.module-cockpit .view-system{inset:58px 0 0!important;width:100vw!important;padding-bottom:190px!important;display:flex;flex-direction:column}
body.module-cockpit .hex-module-menu .orbital-heading{padding-top:12px;flex:none}
body.module-cockpit .hex-module-menu .solar-map{flex:1;height:auto!important;min-height:0!important;padding:15px 32px!important}
body.module-cockpit .hex-module-menu .planet-node{width:clamp(230px,23vw,340px)!important}
body.module-cockpit .orbital-hint{display:none}
body.module-cockpit .viewer-empty{inset:auto 24px 18px!important;width:auto!important;height:145px;padding:26px 36px;background:linear-gradient(135deg,#182330f5,#0b111ef5);border-top:2px solid #9c83c9;box-shadow:0 -12px 40px #0008}
body.module-cockpit .viewer-empty h2{margin:4px 0}.module-cockpit .viewer-empty p{margin:0}
body.course-workspace.text-nodes-review.module-cockpit #academy-map :is(.planet-popover,.cabin-unit-preview,.cabin-lesson-preview).course-viewer{inset:auto 24px 18px!important;width:auto!important;height:154px!important;padding:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:1fr 48px;gap:0 30px;overflow:visible!important;background:linear-gradient(120deg,#182330fa,#101724fa 55%,#1d2232fa);border:1px solid #69758b;border-top:2px solid #b197da;box-shadow:0 -12px 50px #0009,inset 0 3px 0 #313e50!important;border-radius:16px 16px 3px 3px}
body.module-cockpit .cockpit-summary{grid-column:1;grid-row:1/3;display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:32px;padding:18px 30px;min-width:0}
body.module-cockpit .cockpit-summary .planet-popover-header{margin:0}.module-cockpit .cockpit-summary .planet-popover-header strong{display:block;font-size:20px;margin:5px 0}
body.module-cockpit .cockpit-summary p{font-size:14px;line-height:1.5;margin:6px 0 0;max-width:660px}
body.module-cockpit .cockpit-summary .planet-popover-progress{margin:0}
body.module-cockpit .course-viewer .viewer-actions{grid-column:2;grid-row:1;align-self:end;margin-right:28px;padding:0;background:none;border:0;max-height:none;overflow:visible}
body.module-cockpit .course-viewer .viewer-expand{position:static;grid-column:2;grid-row:2;align-self:center;margin-right:28px;background:transparent;border:0;color:#d5c1f4;padding:8px;font-size:12px}
body.module-cockpit .course-viewer .viewer-tabs{display:none}
body.module-cockpit .course-viewer .viewer-body{display:none;position:absolute;bottom:calc(100% + 12px);left:0;right:0;max-height:min(46vh,430px);padding:24px 30px;background:linear-gradient(120deg,#111c2afc,#101523fc);border:1px solid #8870ac;border-radius:12px 12px 0 0;box-shadow:0 -15px 45px #0008;overflow:auto}
body.module-cockpit .course-viewer.viewer-wide .viewer-body{display:block;animation:cockpit-reveal .28s ease-out}
body.module-cockpit .planet-popover-curriculum{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
body.module-cockpit .planet-popover-close{top:8px!important;right:8px!important;width:24px;height:24px;min-height:0;padding:0;font-size:12px}
.cockpit-tests{margin-top:20px;border-top:1px solid #59677b;padding-top:14px}.cockpit-tests summary{cursor:pointer;color:#acb5c5;font-size:12px}.cockpit-tests button{margin:12px 10px 0 0}
body.module-cockpit .view-system .course-test-reset{bottom:auto!important;top:16px;right:20px!important;font-size:11px;opacity:.65}
@keyframes cockpit-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-height:760px){body.module-cockpit .hex-module-menu .planet-node{width:250px!important}body.module-cockpit .orbital-heading h2{font-size:26px!important}.module-cockpit .orbital-heading:after{margin:10px auto}}
@media(prefers-reduced-motion:reduce){body.module-cockpit .course-viewer .viewer-body{animation:none}}
}
@media(min-width:900px){
body.module-cockpit:has(.planet-popover[aria-hidden=false]) .viewer-empty{display:none!important}
body.module-cockpit .view-system .course-test-reset{right:120px!important}
}

/* Visible travel corridors between the edges of module nodes. */
body.text-nodes-review .hex-module-menu .solar-map{gap:clamp(62px,6vw,112px)}
body.text-nodes-review .hex-module-menu .course-module-links{display:block!important;opacity:1;z-index:0}
body.text-nodes-review .hex-module-menu .planet-node{z-index:1}
body.text-nodes-review .hex-module-menu .course-module-links line{stroke:#72839d;stroke-width:2;stroke-dasharray:4 5;opacity:.85}
body.text-nodes-review .hex-module-menu .course-module-links line.route-next{stroke:#bb9bec;stroke-width:3;stroke-dasharray:7 5;opacity:1;filter:drop-shadow(0 0 5px #ad80e799)}
body.text-nodes-review .hex-module-menu .course-module-links line.is-covered{stroke:#77e0c0;stroke-width:3;stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 4px #77e0c066)}
@media(min-width:900px){body.module-cockpit .hex-module-menu .planet-node{width:clamp(210px,20vw,320px)!important}}
/* Three adaptable instrument bays. Art can replace each frame independently. */
@media(min-width:900px){
body.course-workspace.text-nodes-review.module-cockpit #academy-map :is(.planet-popover,.cabin-unit-preview,.cabin-lesson-preview).course-viewer{grid-template-columns:minmax(0,1fr) minmax(260px,.85fr) minmax(0,1fr);grid-template-rows:1fr 38px;gap:0 20px;height:170px!important;background:linear-gradient(160deg,#303b48,#0a111c 14%,#171f2d 85%,#3c4450);border-radius:3px;border-top:3px solid #697589}
body.module-cockpit .cockpit-summary{display:contents}
body.module-cockpit .cockpit-summary .planet-popover-header{grid-column:1;grid-row:1/3;margin:14px 0 14px 16px;padding:18px 20px;background:linear-gradient(145deg,#08111e,#111d2b);border:1px solid #53687d;box-shadow:inset 0 0 20px #0008;align-self:stretch;overflow:auto}
body.module-cockpit .cockpit-summary .planet-popover-progress{grid-column:3;grid-row:1;margin:24px 35px 4px 14px;align-self:center}
body.module-cockpit .course-viewer .viewer-actions{grid-column:2;grid-row:1/3;margin:12px 0;padding:12px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:5px;border:2px solid #4c5868;background:linear-gradient(135deg,#26303b,#060b13 40%,#212c39);box-shadow:inset 0 0 0 4px #080e18;border-radius:12px}
body.module-cockpit .viewer-actions>.planet-popover-travel{display:none!important}
body.module-cockpit .course-viewer .viewer-expand{grid-column:3;grid-row:2;margin:0 30px 8px 10px}
body.module-cockpit .cockpit-primary{width:100%;min-height:60px;margin:0!important;border:2px solid #96444e;background:linear-gradient(#791d2b,#470e1b);color:#fff;font:600 16px/1.3 var(--ecg-font-pixel);letter-spacing:.03em;box-shadow:inset 0 2px 0 #bf596355,0 3px 0 #02060c;cursor:pointer;transition:background .2s,box-shadow .2s,transform .15s;border-radius:7px}
body.module-cockpit .cockpit-primary:is(:hover,:focus-visible){background:linear-gradient(#d22d42,#8e1629);border-color:#ff9da4;box-shadow:inset 0 0 12px #ff7b8655,0 0 20px #f02a4f66;outline:2px solid #f6c6cf;outline-offset:3px}
body.module-cockpit .cockpit-primary:active{transform:translateY(2px)}
body.module-cockpit [data-cockpit-state=locked] .cockpit-primary{background:#222b38;border-color:#6c7c90;box-shadow:none}
body.module-cockpit [data-cockpit-state=locked] .cockpit-primary:is(:hover,:focus-visible){outline:2px solid #d2dbea;outline-offset:3px}
.cockpit-destination{display:block;text-align:center;font-size:12px;line-height:1.4;color:#c2cbd8}
body.module-cockpit .cockpit-map{background:none;border:0;color:#c5b4e2;font-size:12px;margin:0;padding:2px;cursor:pointer}.cockpit-map[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){body.module-cockpit .cockpit-primary{transition:none}}
}

@media(min-width:900px){body.module-cockpit .view-system .course-test-reset{right:150px!important}}
/* Transparent cabin, sliced at the borders so the window can grow independently. */
@media(min-width:900px){
body.module-cockpit{--cabin-console:clamp(210px,25vh,250px);--cabin-side:clamp(36px,4.5vw,75px)}
body.module-cockpit .view-system{padding:64px var(--cabin-side) var(--cabin-console)!important}
body.module-cockpit .view-system:before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;box-sizing:border-box;border-style:solid;border-color:transparent;border-width:65px var(--cabin-side) var(--cabin-console);border-image-source:url('assets/academy/module-menu/cockpit-frame-transparent-v1.png');border-image-slice:110 120 290 120;border-image-repeat:stretch}
body.module-cockpit .hex-module-menu .orbital-heading{padding-top:0}
body.module-cockpit .hex-module-menu .orbital-heading h2{font-size:clamp(24px,2.1vw,34px)!important;margin:10px 0}
body.module-cockpit .hex-module-menu .orbital-heading:after{margin:12px auto}
body.module-cockpit .hex-module-menu .solar-map{padding:8px!important}
body.module-cockpit .hex-module-menu .planet-node{width:clamp(210px,min(19vw,31vh),310px)!important}
body.module-cockpit .view-system .course-test-reset{top:70px;right:150px!important}
body.course-workspace.text-nodes-review.module-cockpit #academy-map :is(.planet-popover,.cabin-unit-preview,.cabin-lesson-preview).course-viewer{inset:auto 4% 25px!important;width:92%!important;height:calc(var(--cabin-console) - 58px)!important;grid-template-columns:34% 24% 34%;column-gap:4%;grid-template-rows:1fr 32px;background:transparent!important;border:0!important;box-shadow:none!important;pointer-events:none}
body.module-cockpit :is(.planet-popover,.cabin-unit-preview,.cabin-lesson-preview).course-viewer>*{pointer-events:auto}
body.module-cockpit .cockpit-summary{pointer-events:none!important}
body.module-cockpit .cockpit-summary>*{pointer-events:auto}
body.module-cockpit .cockpit-summary .planet-popover-header{margin:0;padding:10px 24px;background:none;border:0;box-shadow:none;align-self:center;max-height:100%}
body.module-cockpit .cockpit-summary .planet-popover-header strong{font-size:18px}
body.module-cockpit .cockpit-summary .planet-popover-progress{margin:10px 26px 0 10px}
body.module-cockpit .course-viewer .viewer-actions{margin:0;padding:8px 10px;background:none;border:0;box-shadow:none;overflow:auto}
body.module-cockpit .cockpit-primary{min-height:54px;font-size:14px}
body.module-cockpit .cockpit-destination{font-size:12px}
body.module-cockpit .course-viewer .viewer-expand{margin:0 20px 0 0}
body.module-cockpit .planet-popover-close{top:-25px!important;right:10px!important}
body.module-cockpit .viewer-empty{inset:auto auto 30px 6%!important;width:27%!important;height:calc(var(--cabin-console) - 70px);padding:15px 5px;border:0;background:transparent;box-shadow:none;z-index:100;font-size:14px}
/* The rising instrument screen is independent of the permanent cabin. */
body.module-cockpit .course-viewer .viewer-body{bottom:calc(100% + 32px);left:5%;right:5%;max-height:min(48vh,440px);padding:25px 28px;background:linear-gradient(140deg,#142432fa,#090f1bfc);border:7px solid #354354;border-top-color:#758295;border-bottom-color:#202a37;border-radius:14px 14px 4px 4px;box-shadow:inset 0 0 0 1px #a28fc4,0 0 0 2px #05080d,0 -8px 35px #000a;transform-origin:bottom center;scrollbar-color:#8870a8 #0b1220}
body.module-cockpit .course-viewer .viewer-body:before{content:"UNIDADES · INFORMACIÓN DEL MÓDULO";display:block;color:#c8b6e5;font-size:12px;letter-spacing:.08em;border-bottom:1px solid #716085;padding-bottom:14px;margin-bottom:16px}
body.module-cockpit .course-viewer.viewer-wide .viewer-body{animation:cabin-screen-rise .32s ease-out}
@keyframes cabin-screen-rise{from{opacity:0;transform:translateY(22px) scaleY(.94)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){body.module-cockpit .course-viewer.viewer-wide .viewer-body{animation:none}}
}
@media(min-width:900px){
body.module-cockpit .cockpit-summary .planet-popover-progress{margin-left:42px;margin-right:26px}
body.module-cockpit .course-viewer .viewer-expand{margin:0 20px 18px 32px}
body.text-nodes-review.module-cockpit .hex-module-menu .planet-label{inset:55% 16% 8%;gap:3px;padding-bottom:10px}
body.text-nodes-review.module-cockpit .hex-module-menu .planet-label strong{font-size:14px;line-height:1.25}
body.text-nodes-review.module-cockpit .hex-module-menu .planet-label small{font-size:10px}
}
@media(min-width:900px){
body.module-cockpit .planet-popover-close{display:none!important}
body.module-cockpit .course-viewer .viewer-expand{display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;color:#d6c9eb;font-size:12px}
body.module-cockpit .course-viewer .viewer-expand:before{content:'▸';font-size:15px;transition:transform .2s ease}
body.module-cockpit .course-viewer .viewer-expand[aria-expanded=true]:before{transform:rotate(90deg)}
body.module-cockpit .course-viewer .viewer-expand:is(:hover,:focus-visible){color:#fff;text-shadow:0 0 9px #b995e8}
@media(prefers-reduced-motion:reduce){body.module-cockpit .course-viewer .viewer-expand:before{transition:none}}
}
/* Keep the disclosure control inside the right instrument's safe area. */
@media(min-width:900px){
body.course-workspace.text-nodes-review.module-cockpit #academy-map :is(.planet-popover,.cabin-unit-preview,.cabin-lesson-preview).course-viewer{bottom:48px!important;height:calc(var(--cabin-console) - 94px)!important;grid-template-rows:minmax(0,1fr) 40px}
body.module-cockpit .cockpit-summary .planet-popover-progress{margin:0 30px 10px 42px;align-self:end}
body.module-cockpit .course-viewer .viewer-expand{align-self:stretch;justify-self:center;width:calc(100% - 82px);max-width:310px;min-height:40px;box-sizing:border-box;margin:0 0 0 12px;padding:8px 14px;border:1px solid #9580b8;border-radius:5px;background:linear-gradient(#293347,#172033);box-shadow:inset 0 1px 0 #c1abdd33,0 2px 4px #0008;color:#eee7fa;font-size:13px;line-height:1.3;text-shadow:none;transition:background .18s,border-color .18s,box-shadow .18s}
body.module-cockpit .course-viewer .viewer-expand:is(:hover,:focus-visible){background:linear-gradient(#443754,#2a2540);border-color:#d4b1ff;box-shadow:0 0 12px #b08ada44;text-shadow:none}
body.module-cockpit .course-viewer .viewer-expand:focus-visible{outline:2px solid #e2c7ff;outline-offset:3px}
body.module-cockpit .course-viewer .viewer-expand[aria-expanded=true]{background:#3b2d51;border-color:#c09be8}
body.module-cockpit .course-viewer .viewer-actions{padding:4px 10px}
body.module-cockpit .cockpit-summary .planet-popover-header{padding-top:0;padding-bottom:0}
@media(prefers-reduced-motion:reduce){body.module-cockpit .course-viewer .viewer-expand{transition:none}}
}
/* Option 1: a compact instrument tab, anchored in the progress header. */
@media(min-width:900px){
body.module-cockpit .cockpit-summary .planet-popover-progress{grid-row:1/3;align-self:center;margin:0 38px 0 42px}
body.module-cockpit .planet-popover-progress>span{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-bottom:12px}
body.module-cockpit .planet-popover-progress>span>strong{margin-left:auto}
body.module-cockpit .course-viewer .planet-popover-progress .viewer-expand{position:static;flex:0 0 auto;width:auto;max-width:none;min-height:32px;align-self:center;justify-self:auto;margin:0;padding:7px 12px;gap:7px;border:0;border-bottom:2px solid #497b86;border-radius:3px 3px 0 0;background:#1b2832;box-shadow:inset 0 1px 0 #53616b55;color:#c5dde2;font-size:12px;line-height:1.3;letter-spacing:.05em;outline:none;text-shadow:none}
body.module-cockpit .course-viewer .planet-popover-progress .viewer-expand:is(:hover,:focus-visible){background:#213640;color:#e5fbff;border-bottom-color:#63dce9;box-shadow:inset 0 0 0 1px #63dce9,inset 0 -5px 10px #39c4d21a;outline:none;text-shadow:none}
body.module-cockpit .course-viewer .planet-popover-progress .viewer-expand[aria-expanded=true]{background:#203740;border-bottom-color:#6ce9f2;color:#b9f6fb}
}
/* Persistent cabin shell across the selector and configured destinations. */
@media(min-width:900px){
body.module-cockpit .view-system:before{display:none}
body.module-cockpit #academy-map:before{content:'';position:fixed;inset:58px 0 0;z-index:90;pointer-events:none;box-sizing:border-box;border:solid transparent;border-width:65px var(--cabin-side) var(--cabin-console);border-image-source:url('assets/academy/module-menu/cockpit-frame-transparent-v1.png');border-image-slice:110 120 290 120;border-image-repeat:stretch}
body.unit-cockpit .cabin-unit-map{position:fixed!important;inset:58px 0 0!important;width:100vw!important;height:auto!important;min-height:0!important;padding:64px var(--cabin-side) var(--cabin-console)!important;box-sizing:border-box;background:linear-gradient(#050c1838,#050a1938),var(--destination-image) center/cover no-repeat!important}
.cabin-unit-map .module-surface,.cabin-unit-map .module-hud,.unit-cockpit .sector-journey-dock,.unit-cockpit .tree-mission{display:none!important}
body.unit-cockpit .cabin-unit-map .module-heading{position:static!important;transform:none!important;width:auto!important;max-width:none!important;text-align:center;margin:12px auto;color:#eee}
.cabin-unit-map .module-heading h2{font-size:30px;letter-spacing:.1em}.cabin-unit-map .view-breadcrumb{top:80px;left:calc(var(--cabin-side) + 10px)}
.cabin-unit-map .view-back{top:112px;left:calc(var(--cabin-side) + 10px)}
.cabin-unit-nodes{position:absolute;inset:185px 8% calc(var(--cabin-console) + 15px);display:flex;align-items:center;justify-content:center;gap:70px;overflow:auto}
body.text-nodes-review .cabin-unit-nodes .territory-anchor{position:relative!important;inset:auto!important;transform:none!important;flex:0 0 280px;width:280px!important;height:249px!important;clip-path:none!important;background:transparent!important;border:0!important;box-shadow:none!important;--hex-color:#b598ed;outline:none!important}
.cabin-unit-nodes .territory-anchor:before,.cabin-unit-nodes .territory-anchor:after{display:none!important}
.cabin-unit-nodes .territory-marker{position:absolute!important;inset:27% 15%!important;transform:none!important;width:auto!important;display:flex!important;flex-direction:column;justify-content:center;gap:12px;background:linear-gradient(#081623df,#111b2cef)!important;border:0!important;box-shadow:none!important;color:#e4eafb;font-size:12px;text-align:center;z-index:2;padding:8px!important}
.cabin-unit-nodes .text-node-title{font-size:16px;line-height:1.4}.cabin-unit-nodes .text-node-state{font-size:11px}
.cabin-unit-nodes .territory-anchor:hover .hex-light,.cabin-unit-nodes .territory-anchor:focus-visible .hex-light{stroke:#d0b8ff;stroke-width:4}
.cabin-unit-nodes .territory-anchor:is(:focus-visible,[aria-expanded=true]) .hex-corners{opacity:1}
.cabin-unit-nodes .territory-anchor[aria-disabled=true]{--hex-color:#657081}
body.unit-cockpit .course-viewer .viewer-tabs,body.unit-cockpit .course-viewer .map-popover-close{display:none!important}
body.unit-cockpit .course-viewer .viewer-body{display:none}
body.unit-cockpit .course-viewer.viewer-wide .viewer-body{display:block}
body.unit-cockpit .course-viewer .viewer-body:before{content:'LECCIONES DE LA UNIDAD'}
body.unit-cockpit .course-viewer .map-preview-content header strong{font-size:17px;line-height:1.4}
body.unit-cockpit .course-viewer .map-preview-content .lesson-popover-meta{font-size:12px;margin:8px 0}
body.unit-cockpit .course-viewer .viewer-actions [data-action=enter-preview-unit]{min-height:54px;width:100%;background:linear-gradient(#791d2b,#470e1b);border:2px solid #96444e;color:white;border-radius:7px;cursor:pointer}
body.unit-cockpit .course-viewer .viewer-actions [data-action=enter-preview-unit]:is(:hover,:focus-visible){background:linear-gradient(#d22d42,#8e1629);box-shadow:0 0 20px #f02a4f66}
body.unit-cockpit:has(.cabin-unit-preview) .viewer-empty{display:none!important}
.cabin-lesson-list{font-size:14px;line-height:1.6;display:grid;gap:14px;padding-left:24px}
.cabin-travel-veil{position:fixed;inset:58px 0 0;z-index:80;pointer-events:none;background:radial-gradient(ellipse at center,#d8faffdd 0%,#8fa7dfaa 5%,#16203ae8 48%,#07101a 80%),repeating-conic-gradient(from 0deg,#95cdfb 0deg,transparent .3deg,transparent 7deg);opacity:0}
}
@media(prefers-reduced-motion:reduce){.cabin-travel-veil{background:#07101a}}
@media(min-width:900px){
body.unit-cockpit .cabin-unit-map .module-heading{background:none!important;border:0!important;padding:0!important}
body.unit-cockpit .cabin-unit-map .view-breadcrumb{left:calc(var(--cabin-side) + 14px)!important;top:76px!important}
body.unit-cockpit .cabin-unit-map .view-back{left:calc(var(--cabin-side) + 14px)!important;top:108px!important}
body.text-nodes-review .cabin-unit-nodes .territory-marker{outline:none!important;border:0!important;box-shadow:none!important;min-width:0!important;max-width:none!important}
body.text-nodes-review .cabin-unit-nodes .territory-marker:before,body.text-nodes-review .cabin-unit-nodes .territory-marker:after{display:none!important}
body.unit-cockpit .viewer-empty{z-index:100!important;color:#d0dce8}
}
@media(min-width:900px){body.course-workspace.text-nodes-review #academy-map .cabin-unit-preview{z-index:100!important}body.text-nodes-review .cabin-unit-nodes .territory-marker{background:#091322df!important;filter:none!important}}
@media(min-width:900px){
body.unit-cockpit .cabin-unit-preview .map-preview-content .sector-unit-progress,body.unit-cockpit .cabin-unit-preview .sector-preview-thumbnail{display:none!important}
body.unit-cockpit .cabin-unit-preview .map-preview-content{height:auto!important;max-height:100%!important;overflow:auto!important;align-self:center;padding:8px 24px!important}
body.unit-cockpit .cabin-unit-preview .map-preview-content header{margin:0!important}
body.unit-cockpit .cabin-unit-preview .map-preview-content .lesson-popover-meta{margin:12px 0 0!important;border:0!important;padding:0!important}
body.unit-cockpit .cabin-unit-preview .viewer-actions [data-action=enter-preview-unit]{background:linear-gradient(#791d2b,#470e1b)!important;border:2px solid #96444e!important;color:white!important;box-shadow:none!important}
body.unit-cockpit .cabin-unit-preview .viewer-actions [data-action=enter-preview-unit]:is(:hover,:focus-visible){background:linear-gradient(#d22d42,#8e1629)!important;box-shadow:0 0 20px #f02a4f66!important}
}
.cabin-travel-veil.has-jump-video{background:#07121d;overflow:hidden}
.cabin-jump-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48) contrast(1.15);pointer-events:none}
.cabin-jump-light{position:absolute;inset:0;background:#c5e6f5;opacity:0;pointer-events:none}
@media(min-width:900px){
.cabin-unit-nodes{flex-direction:row!important;flex-wrap:nowrap!important;justify-content:safe center;overflow-x:auto;overflow-y:hidden;padding:12px;scroll-snap-type:x proximity}
.cabin-unit-nodes .territory-anchor{scroll-snap-align:center}
.cabin-approach{position:fixed;inset:58px 0 0;overflow:hidden;z-index:80;pointer-events:none}
.cabin-approach>div{position:absolute;inset:0;background-position:center;background-size:cover;transform-origin:78% 45%}
body.lesson-cockpit .view-unit:before{transform:scale(1.25);transform-origin:78% 45%}
}
@media(min-width:900px){
body.module-cockpit .hex-module-menu .solar-map,.cabin-unit-nodes{gap:24px!important;align-items:center!important;padding-top:60px!important;padding-bottom:60px!important;box-sizing:border-box}
body.module-cockpit .hex-module-menu .planet-node,body.text-nodes-review .cabin-unit-nodes .territory-anchor{width:clamp(210px,17vw,260px)!important;flex:0 0 clamp(210px,17vw,260px)!important;height:auto!important;aspect-ratio:360/320;z-index:1}
body.module-cockpit .hex-module-menu .planet-node:nth-of-type(odd),body.text-nodes-review .cabin-unit-nodes .territory-anchor:nth-of-type(odd){top:-42px!important}
body.module-cockpit .hex-module-menu .planet-node:nth-of-type(even),body.text-nodes-review .cabin-unit-nodes .territory-anchor:nth-of-type(even){top:42px!important}
.course-module-links{visibility:hidden!important}
.hex-stagger-links{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:0}
.hex-stagger-links line{stroke:#aa94d4;stroke-width:2;vector-effect:non-scaling-stroke}
.hex-stagger-links line.is-pending{stroke:#677b8e;stroke-dasharray:5 5}
}
@media(min-width:900px){
body.text-nodes-review .cabin-unit-nodes .territory-anchor:only-of-type{top:0!important}
}
@media(min-width:900px){
.hex-recommended .hex-light{stroke:#8af3ff!important;stroke-width:4;filter:drop-shadow(0 0 7px #42dbff)}
.hex-recommended .hex-corners{opacity:1;stroke:#8af3ff}
.hex-completed .hex-light{stroke:#6fd9b0!important}
.hex-guidance{position:absolute;left:12%;right:12%;bottom:-23px;z-index:3;text-align:center;font-size:12px;font-weight:bold;color:#92f2ff;letter-spacing:.04em;pointer-events:none}
.hex-completed .hex-guidance{color:#80dbb7}
.hex-stagger-links line.hex-route-guide{stroke:#88f4ff;stroke-width:3;filter:drop-shadow(0 0 5px #41dfff);stroke-dasharray:12 6;animation:hex-route-flow 1s linear 3}
.hex-recommended .hex-light{animation:hex-arrival-glow 1.1s ease-out 2}
}
@keyframes hex-route-flow{from{stroke-dashoffset:54}to{stroke-dashoffset:0}}
@keyframes hex-arrival-glow{50%{stroke-width:6;filter:drop-shadow(0 0 14px #52dfff)}}
@media(prefers-reduced-motion:reduce){.hex-stagger-links line.hex-route-guide,.hex-recommended .hex-light{animation:none!important}}
@media(min-width:900px){
body.text-nodes-review .cabin-unit-nodes{overflow:hidden!important;gap:20px!important;padding:44px 24px 60px!important}
body.text-nodes-review .cabin-unit-nodes .territory-anchor{width:var(--unit-fit-size,220px)!important;flex-basis:var(--unit-fit-size,220px)!important}
body.text-nodes-review .cabin-unit-nodes .hex-page-hidden{display:none!important}
.hex-pages{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:16px;z-index:4}
.hex-pages[hidden]{display:none}
.hex-pages button{background:#122531;border:1px solid #698693;color:#c4edee;min-width:44px;min-height:36px}
.hex-pages span{font-size:13px;color:#bbd7e0}
.hex-locked .hex-metal{stroke:#424b55!important}.hex-locked .hex-bevel{stroke:#87939e!important}
.hex-locked .hex-light{stroke:#687581!important;filter:none!important;animation:none!important}
.hex-completed .hex-metal{stroke:#347e63!important}.hex-completed .hex-bevel{stroke:#a0e7bf!important}
.hex-completed .hex-light{stroke:#6fd9b0!important}
.hex-recommended .hex-metal{stroke:#377f91!important}.hex-recommended .hex-bevel{stroke:#adf5ff!important}
}
/* Breathing light stays behind the readable central label. */
.hex-inner-glow{fill:none;stroke:#54e7ff;stroke-width:23;filter:blur(9px);opacity:0;pointer-events:none;clip-path:polygon(27.5% 8.5%,72.5% 8.5%,93.3% 50%,72.5% 91.5%,27.5% 91.5%,6.7% 50%)}
.hex-recommended .hex-inner-glow{animation:hex-inner-breathe 3.4s ease-in-out infinite}
@keyframes hex-inner-breathe{0%,100%{opacity:.18}50%{opacity:.75}}
body.text-nodes-review .hex-module-menu .planet-label{inset:29% 12% 29%!important;clip-path:none!important;padding:10px 6px!important;border:0!important;background:rgba(0,0,0,.52)!important;text-align:center;gap:5px!important;isolation:isolate}
body.text-nodes-review .hex-module-menu .planet-label:before{content:none}
.hex-module-menu .module-state-emblem{top:77%!important}
body.text-nodes-review .hex-module-menu .planet-label strong{font-size:14px!important;line-height:1.3!important}
@media(prefers-reduced-motion:reduce){.hex-recommended .hex-inner-glow{animation:none;opacity:.32}}
/* Narrow mission-title band: preserve the scene above and below. */
body.text-nodes-review .hex-module-menu .planet-label{inset:39% 7% 39%!important;padding:4px 15px!important;background:rgba(0,0,0,.48)!important;overflow:visible;gap:0!important}
body.text-nodes-review .hex-module-menu .planet-label strong{max-width:100%;font-weight:500!important;line-height:1.2!important;text-wrap:balance}
body.text-nodes-review .hex-module-menu .planet-label small{position:absolute;bottom:calc(100% + 10px);left:0;right:0;font-size:10px;letter-spacing:.09em;color:#c7d6df}
body.text-nodes-review .hex-module-menu .planet-label .orbital-status{display:none!important}
.hex-module-menu .module-state-emblem{display:none!important}
.hex-module-menu .module-hex-art{filter:brightness(1)}
.hex-module-menu .module-hex-art:after{background:linear-gradient(180deg,#050b1508,#050b1525)}
.hex-module-menu .state-locked .module-hex-art{filter:grayscale(.65) brightness(.6)}
/* The title backing is clipped independently, leaving its module badge readable. */
body.text-nodes-review .hex-module-menu .planet-label{left:10%!important;right:10%!important;background:transparent!important}
body.text-nodes-review .hex-module-menu .planet-label:before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.55);clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);pointer-events:none}
body.text-nodes-review .hex-module-menu .planet-label small{left:50%;right:auto;transform:translateX(-50%);bottom:calc(100% + 8px);width:max-content;padding:4px 8px;background:rgba(3,10,18,.82);border-radius:3px;color:#fff!important;font-size:12px!important;font-weight:600;line-height:1.25;text-shadow:0 1px 2px #000}
.hex-module-menu .module-hex-frame{z-index:4}
body.text-nodes-review .hex-module-menu .planet-label:before{filter:none!important}
/* One translucent band follows the inside edge of the frame. */
body.text-nodes-review .hex-module-menu .planet-label{inset:34% 6.7% 34%!important;padding:6px 22px!important;gap:5px!important;background:transparent!important}
body.text-nodes-review .hex-module-menu .planet-label:before{background:rgba(0,0,0,.38)!important;clip-path:polygon(9.3% 0,90.7% 0,100% 50%,90.7% 100%,9.3% 100%,0 50%)}
body.text-nodes-review .hex-module-menu .planet-label small{position:static!important;transform:none!important;width:auto!important;padding:0!important;background:transparent!important;border-radius:0;color:#fff!important;font-size:12px!important;line-height:1.25}
/* Units inherit the approved module title band. */
@media(min-width:900px){
body.text-nodes-review .cabin-unit-nodes .territory-marker{inset:34% 6.7% 34%!important;padding:6px 22px!important;gap:5px!important;background:transparent!important;isolation:isolate;color:#fff;font-size:12px!important;font-weight:600;line-height:1.25;text-shadow:0 1px 2px #000}
body.text-nodes-review .cabin-unit-nodes .territory-marker:before{display:block!important;content:'';position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.62);clip-path:polygon(9.3% 0,90.7% 0,100% 50%,90.7% 100%,9.3% 100%,0 50%);filter:none;pointer-events:none}
body.text-nodes-review .cabin-unit-nodes .text-node-title{font-size:14px;line-height:1.2;font-weight:500;text-wrap:balance}
body.text-nodes-review .cabin-unit-nodes .text-node-state{display:none!important}
}
/* Modules and units share one interaction surface and state palette. */
@media(min-width:900px){
body.text-nodes-review .ecg-hex-card{--hex-interaction:#bda1eb;translate:0 0;transition:translate .22s ease,filter .22s ease!important;filter:drop-shadow(0 12px 12px #000b)!important}
body.text-nodes-review .ecg-hex-card.hex-recommended{--hex-interaction:#8af3ff}
body.text-nodes-review .ecg-hex-card.hex-completed{--hex-interaction:#86e2b7}
body.text-nodes-review .ecg-hex-card.hex-locked{--hex-interaction:#8997a3}
body.text-nodes-review .ecg-hex-card:is(:hover,:focus-within,[aria-expanded=true],:has([aria-expanded=true])){filter:drop-shadow(0 0 13px var(--hex-interaction))!important}
body.text-nodes-review .ecg-hex-card:not(.hex-locked):is(:hover,:focus-within){translate:0 -5px}
body.text-nodes-review .ecg-hex-card:not(.hex-locked):active{translate:0 2px}
body.text-nodes-review .ecg-hex-card:is(:hover,:focus-within,[aria-expanded=true],:has([aria-expanded=true])) .hex-light{stroke:var(--hex-interaction)!important;stroke-width:4}
body.text-nodes-review .ecg-hex-card:is(:hover,:focus-within,[aria-expanded=true],:has([aria-expanded=true])) .hex-corners{stroke:var(--hex-interaction);opacity:1}
body.text-nodes-review .hex-module-menu .ecg-hex-card [data-planet-trigger]{transform:none!important}
body.text-nodes-review .ecg-hex-card :is(.planet-label,.territory-marker){font-family:inherit;font-size:12px!important;font-weight:600;line-height:1.25;box-sizing:border-box;min-height:0!important}
body.text-nodes-review .ecg-hex-card :is(.planet-label strong,.text-node-title){font-size:14px!important;font-weight:500!important;line-height:1.2!important;margin:0!important}
}
@media(prefers-reduced-motion:reduce){body.text-nodes-review .ecg-hex-card{transition:none!important}}

/* Optional unit illustrations share the existing hex frame, label and progress states. */
.cabin-unit-nodes .unit-hex-art{inset:8.5% 6.7%;z-index:0;background-size:cover;image-rendering:auto;filter:brightness(.9);pointer-events:none}
.cabin-unit-nodes .unit-hex-art:after{background:linear-gradient(180deg,#050b1508,#050b1528)}
.cabin-unit-nodes .hex-locked .unit-hex-art{filter:grayscale(.65) brightness(.55)}
.cabin-unit-nodes .territory-anchor:not(.hex-locked):is(:hover,:focus-visible) .unit-hex-art{filter:brightness(1.05)}

/* Reinforced double frame identifies module evaluations without changing state colors. */
.module-exam-node .exam-reinforcement{fill:none;stroke:#98abb9;stroke-width:4;stroke-linejoin:bevel}
.module-exam-node.hex-recommended .exam-reinforcement{stroke:#8af3ff}
.module-exam-node.hex-completed .exam-reinforcement{stroke:#6fd9b0}
.module-exam-node .hex-metal{stroke-width:13}
.module-exam-node .hex-accents{stroke-width:5}

/* Shared honeycomb; short viewports retain the readable paged layout. */
@media(min-width:900px){
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-honeycomb{display:block;padding:0!important;overflow:hidden!important}
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-honeycomb :is(.territory-anchor,.planet-node){position:absolute!important;inset:auto!important;left:var(--honeycomb-x)!important;top:var(--honeycomb-y)!important;width:var(--unit-fit-size)!important;height:auto!important;margin:0!important}
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-honeycomb .hex-guidance{bottom:10%;left:18%;right:18%;font-size:10px;line-height:1.2;letter-spacing:.025em;text-shadow:0 1px 4px #000,0 0 8px #000;background:#06121bc7;border-radius:3px;padding:3px 1px}
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-honeycomb .hex-guidance[hidden]{display:none}
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-honeycomb :is(.territory-marker,.planet-label){inset:32% 6.7% 32%!important}
 .hex-honeycomb .hex-stagger-links line{stroke-width:2.5}
 .hex-honeycomb .hex-stagger-links line.hex-route-guide{stroke-width:3}
}

@media(min-width:900px){
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-compact-row :is(.territory-anchor,.planet-node){top:0!important}
 body.unit-cockpit .cabin-unit-map:has(.hex-honeycomb){background:linear-gradient(90deg,#050c1870,#050a1950),var(--destination-image) center/cover no-repeat!important}
}

/* Stationary holographic relief: empty cells never behave like locked destinations. */
.hex-hologram{display:none}
@media(min-width:900px){
 .hex-honeycomb .hex-hologram{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;mask-image:radial-gradient(ellipse at center,#000 22%,#000b 48%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse at center,#000 22%,#000b 48%,transparent 78%)}
 .hex-hologram path{vector-effect:non-scaling-stroke;stroke-linejoin:round}
 .hex-hologram .hex-relief-shadow{fill:none;stroke:#010a14;stroke-width:4;opacity:.6;transform:translateY(2px)}
 .hex-hologram .hex-relief-edge{fill:#39acd009;stroke:#80d8ed;stroke-width:1.3;opacity:.27;filter:drop-shadow(0 0 3px #58cde63b)}
 .hex-honeycomb .hex-stagger-links{z-index:1}
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-honeycomb :is(.territory-anchor,.planet-node){z-index:2}
}

/* Shared medal and status band. */
@media(min-width:900px){
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-shared-design :is(.territory-marker,.planet-label){inset:27% 6.7% 27%!important;gap:4px!important;padding:6px 22px!important}
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-shared-design :is(.territory-marker,.planet-label) .hex-guidance{position:static;display:block;margin:2px 0 0;padding:0;background:none;border:0;border-radius:0;font-size:10px;line-height:1.2;letter-spacing:.015em;text-shadow:0 1px 3px #000;flex-shrink:0}
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-shared-design :is(.territory-marker,.planet-label) .hex-guidance[hidden]{display:none}
 .hex-shared-design .module-exam-node{--medal-metal:#c6b07d;--medal-light:#ead8a5}
 .hex-shared-design .module-exam-node.hex-locked{--medal-metal:#6d685b;--medal-light:#aaa18c}
 .hex-shared-design .module-exam-node.hex-completed{--medal-metal:#bd9143;--medal-light:#ffe2a0;--hex-interaction:#efd18b!important}
 .hex-shared-design .module-exam-node .hex-metal{stroke:var(--medal-metal)!important;stroke-width:15}
 .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}
 .hex-shared-design .module-exam-node.hex-completed .hex-light{stroke:#f9d47f!important;filter:drop-shadow(0 0 5px #f3c45c)}
 .hex-shared-design .module-exam-node.hex-completed .hex-guidance{color:#ffe2a0}
 .hex-shared-design .module-exam-node.hex-locked .hex-guidance{color:#c4beae}
 .exam-medal-emblem{pointer-events:none;color:var(--medal-light);stroke-linejoin:round}
 .exam-medal-emblem .medal-ribbons{fill:var(--medal-metal);stroke:#0c131e;stroke-width:2}
 .exam-medal-emblem .medal-disc{fill:#111b26;stroke:var(--medal-metal);stroke-width:5}
 .exam-medal-emblem .medal-rim{fill:none;stroke:currentColor;stroke-width:1.5}
 .exam-medal-emblem .medal-star{fill:currentColor;stroke:none}
 .exam-medal-emblem .medal-check{display:none;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round}
 .exam-medal-emblem .medal-lock{display:none;fill:#111b26;stroke:currentColor;stroke-width:3}
 .exam-medal-emblem .medal-laurel{fill:var(--medal-metal);stroke:currentColor;stroke-width:2}
 .hex-locked .medal-lock,.hex-completed .medal-check{display:block}
 .hex-locked .medal-star,.hex-completed .medal-star{display:none}
 .hex-completed .exam-medal-emblem{filter:drop-shadow(0 0 5px #e7bd5555)}
}

@media(min-width:900px){
 body.text-nodes-review .hex-module-menu .solar-map.hex-honeycomb{padding:0!important;overflow:hidden!important}
 body.text-nodes-review .hex-module-menu .solar-map.hex-honeycomb .planet-node{position:absolute!important;left:var(--honeycomb-x)!important;top:var(--honeycomb-y)!important;width:var(--unit-fit-size)!important}
 body.text-nodes-review .hex-module-menu .solar-map.hex-compact-row .planet-node{width:var(--unit-fit-size)!important;top:0!important}
 body.text-nodes-review .hex-shared-design .planet-label{clip-path:none!important;isolation:isolate;border-top:0}
 body.text-nodes-review .hex-shared-design :is(.planet-label,.territory-marker):before{clip-path:polygon(13.5% 0,86.5% 0,100% 50%,86.5% 100%,13.5% 100%,0 50%)}
}

/* Keep the honeycomb on short desktop windows; scroll vertically only when necessary. */
@media(min-width:900px){
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-honeycomb{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:#5790a1 #07131e;overscroll-behavior:contain}
}

@media(min-width:900px){.hex-honeycomb:after{content:"";position:absolute;top:calc(var(--hex-content-height) - 1px);left:0;width:1px;height:1px;pointer-events:none}}

@media(min-width:900px){
 body.text-nodes-review :is(.cabin-unit-nodes,.solar-map).hex-honeycomb{scroll-snap-type:none;scroll-padding:20px}
 .hex-scroll-hint{position:fixed;transform:translateX(-50%);z-index:90;padding:5px 12px;border:1px solid #5e9caa;border-radius:4px;background:#091c2aee;color:#c8f6ff;font:600 11px var(--ecg-font-body,sans-serif);cursor:pointer;box-shadow:0 2px 12px #0008}
 .hex-scroll-hint[hidden]{display:none}
 .hex-scroll-hint:focus-visible{outline:2px solid #b5f7ff;outline-offset:3px}
}
@media(max-width:899px){.hex-scroll-hint{display:none}}

/* Use the clear space above and below the destination map. */
@media(min-width:900px){
 body.text-nodes-review .cabin-unit-nodes{top:158px;bottom:calc(var(--cabin-console) - 14px)}
}

/* Window decoration is independent of the safe, scrollable destination area. */
@media(min-width:900px){
 body.module-cockpit .view-system>.hex-window-relief{display:block;position:absolute;inset:20px 18px calc(var(--cabin-console) - 12px);width:calc(100% - 36px);height:calc(100% - var(--cabin-console) - 8px);pointer-events:none;z-index:0;mask-image:linear-gradient(90deg,transparent,#000b 12%,#000 50%,#000b 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000b 12%,#000 50%,#000b 88%,transparent)}
}

/* Relief must stay above the playing background video, below navigation and cards. */
@media(min-width:900px){
 body.module-cockpit .view-system>.hex-window-relief{z-index:1}
 body.module-cockpit .hex-module-menu :is(.orbital-heading,.solar-map,.orbital-hint){z-index:2}
}

/* Soft hologram perimeter and a slightly more distant course overview. */
@media(min-width:900px){
 body.module-cockpit .view-system>.hex-window-relief{mask-image:radial-gradient(ellipse at center,#000 15%,#000b 40%,#0004 62%,transparent 82%);-webkit-mask-image:radial-gradient(ellipse at center,#000 15%,#000b 40%,#0004 62%,transparent 82%)}
 body.module-cockpit .solar-map .planet-label{font-size:clamp(10px,calc(var(--unit-fit-size) * .065),14px)!important}
 body.module-cockpit .solar-map .hex-guidance{font-size:clamp(8px,calc(var(--unit-fit-size) * .05),10px)!important}
}
@media(min-width:900px) and (max-height:850px){
 body.module-cockpit .hex-module-menu .orbital-heading{margin:0 auto!important;padding:0!important}
 body.module-cockpit .hex-module-menu .orbital-heading h2{margin:5px 0!important;font-size:24px!important}
 body.module-cockpit .hex-module-menu .orbital-heading:after{margin:6px auto}
}

@media(min-width:900px){
 body.text-nodes-review.module-cockpit .hex-module-menu .solar-map .planet-label{padding:3px 5px!important;gap:2px!important}
 body.text-nodes-review.module-cockpit .hex-module-menu .solar-map .planet-label strong{font-size:clamp(10px,calc(var(--unit-fit-size) * .065),14px)!important;line-height:1.15!important}
 body.text-nodes-review.module-cockpit .hex-module-menu .solar-map .planet-label small{font-size:clamp(9px,calc(var(--unit-fit-size) * .055),11px)!important;white-space:nowrap;letter-spacing:0}
}

.intro-video-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 32px));max-height:90svh;overflow:auto;padding:30px;border:1px solid #ad8cde;border-radius:18px;background:#131b29;color:#edf1fa;font:400 16px/1.6 'Segoe UI',Arial,sans-serif}.intro-video-dialog::backdrop{background:#030710cf}.intro-video-dialog h2{font:600 28px/1.25 'Segoe UI',Arial,sans-serif}.intro-video-close{display:block;margin-left:auto;background:#242d40;color:#fff;border:1px solid #8999b2;border-radius:8px;padding:10px 14px;cursor:pointer}.intro-video-close:focus-visible{outline:2px solid #76deee;outline-offset:3px}.intro-video-eyebrow{font-size:13px;letter-spacing:.12em;color:#bda3e5}
.introduction-preview .viewer-expand,.introduction-preview .viewer-tabs,.introduction-preview .viewer-body{display:none!important}
.intro-video-dialog{margin:auto}.planet-preview [data-action="intro-video"]{display:block;width:100%;min-height:48px;border:1px solid #b899df;border-radius:9px;background:#65438a;color:#fff;font:600 16px/1.4 "Segoe UI",Arial,sans-serif;cursor:pointer}.planet-preview [data-action="intro-video"]:focus-visible{outline:2px solid #76deee;outline-offset:3px}

/* Public introduction. Load the Bunny embed only when requested. */
.intro-video-dialog{width:min(1040px,calc(100vw - 32px));padding:24px}
.intro-video-player{position:relative;width:100%;aspect-ratio:16/9;background:#05070b;border-radius:10px;overflow:hidden}
.intro-video-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:650px){.intro-video-dialog{padding:12px;width:calc(100vw - 16px)}.intro-video-dialog h2{font-size:21px}.intro-video-eyebrow{font-size:11px}}
html.lesson-video-open{overflow:hidden}
.lesson-video-links a{color:#bcefff;text-decoration:underline}.lesson-video-links a:focus-visible{outline:2px solid #76deee;outline-offset:3px}

/* Audit 4: explicit safe destination area above the cockpit console. */
@media(min-width:900px){
 html body.module-cockpit .view-system .orbital-heading{margin:0!important;padding:0!important}
 html body.module-cockpit .view-system .orbital-heading h2{margin:8px 0!important;font-size:26px!important;line-height:1.2!important}
 html body.module-cockpit .view-system .orbital-heading p{margin:6px 0!important}
 html body.module-cockpit .hex-module-menu .solar-map.hex-honeycomb{position:absolute!important;inset:130px var(--cabin-side) calc(var(--cabin-console) + 42px)!important;height:auto!important;min-height:0!important;max-height:none!important;flex:none!important}
 html body.unit-cockpit .cabin-unit-nodes.hex-honeycomb{top:140px!important;bottom:calc(var(--cabin-console) + 42px)!important;left:var(--cabin-side)!important;right:var(--cabin-side)!important;min-height:0!important}
 html body .hex-scroll-hint{min-height:36px;padding:7px 14px;border-radius:10px;border-color:#839bb066;background:linear-gradient(#24374a,#122232);box-shadow:inset 0 1px #d6efff26,0 2px #050b14;font:600 12px/1.3 'Segoe UI',Arial,sans-serif}
 html body .hex-scroll-hint:hover{border-color:#aae2ed;background:#2a4154}
}
@media(min-width:900px){html body.module-cockpit .hex-module-menu .solar-map.hex-honeycomb{width:auto!important;bottom:calc(var(--cabin-console) + 8px)!important}html body.unit-cockpit .cabin-unit-nodes.hex-honeycomb{bottom:calc(var(--cabin-console) + 8px)!important}} @media(min-width:900px) and (max-height:760px){html body.module-cockpit .hex-module-menu .solar-map.hex-honeycomb,html body.unit-cockpit .cabin-unit-nodes.hex-honeycomb{bottom:calc(var(--cabin-console) + 42px)!important}}
@media(min-width:900px){html body.module-cockpit .view-system .orbital-heading{position:absolute!important;top:44px!important;left:var(--cabin-side)!important;right:var(--cabin-side)!important;width:auto!important;max-width:none!important;transform:none!important;text-align:center!important}}
