/* Mission graphics and organisation lore. All rules are local to these scenes. */
.missions-scene,.lore-scene{--scene-ink:#ede9df;--scene-muted:#a9b9b7;--scene-orange:#ff763e;--scene-line:rgba(181,207,201,.21);--scene-mono:var(--mono,'Consolas','Courier New',monospace);position:relative;isolation:isolate;color:var(--scene-ink);background:#080c0e;scroll-margin-top:40px;overflow:clip}
.missions-scene .mission-shell,.lore-scene .lore-shell{width:min(100%,1600px);margin-inline:auto;padding:110px clamp(22px,5.5vw,96px)}
.missions-scene .mission-section-label,.lore-scene .lore-section-label{display:flex;justify-content:space-between;gap:24px;padding-bottom:23px;border-bottom:1px solid var(--scene-line);font:11px/1.6 var(--scene-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--scene-orange)}
.missions-scene .mission-section-label>span:last-child,.lore-scene .lore-section-label>span:last-child{color:var(--scene-muted);text-align:right}
.missions-scene .mission-heading,.lore-scene .lore-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin:48px 0 54px}
.missions-scene .mission-heading h2,.lore-scene .lore-heading h2{font-family:var(--display-font,Impact,'Arial Narrow',sans-serif);font-weight:400;font-size:clamp(62px,7.6vw,120px);line-height:.89;letter-spacing:-.02em;text-transform:uppercase}
.missions-scene .mission-heading h2 span,.lore-scene .lore-heading h2 span{color:var(--scene-orange)}
.missions-scene .mission-heading>p,.lore-scene .lore-heading>p{max-width:310px;padding-bottom:6px;font-size:15px;line-height:1.7;color:var(--scene-muted)}
.missions-scene{background:radial-gradient(ellipse at 80% 67%,#142d30 0,transparent 49%),#080c0e}
.missions-scene::before{content:'';position:absolute;left:0;top:0;width:1px;height:100%;background:linear-gradient(transparent,#ff763e,transparent);opacity:.4;pointer-events:none}
.missions-scene .mission-console{border:1px solid var(--scene-line);position:relative;background:#0a1114}
.missions-scene .mission-console::before,.missions-scene .mission-console::after{position:absolute;content:'';z-index:2;pointer-events:none;width:18px;height:18px;border-color:var(--scene-orange);border-style:solid}
.missions-scene .mission-console::before{inset:-1px auto auto -1px;border-width:2px 0 0 2px}
.missions-scene .mission-console::after{inset:auto -1px -1px auto;border-width:0 2px 2px 0}
.missions-scene .mission-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--scene-line)}
.missions-scene .mission-tab{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;background:#0a1114;color:var(--scene-muted);text-align:left;border:0;border-right:1px solid var(--scene-line);padding:25px 24px;min-height:86px;transition:background .25s,color .25s}
.missions-scene .mission-tab:last-child{border-right:0}
.missions-scene .mission-tab::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:3px;background:var(--scene-orange);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.missions-scene .mission-tab:hover{background:#17252a;color:var(--scene-ink)}
.missions-scene .mission-tab[aria-selected=true]{background:#15282c;color:var(--scene-ink)}
.missions-scene .mission-tab[aria-selected=true]::after{transform:scaleX(1)}
.missions-scene .mission-tab-number{font:10px var(--scene-mono);color:var(--scene-orange)}
.missions-scene .mission-tab-name{font-size:15px;line-height:1.35}
.missions-scene .mission-tab-arrow{font:24px/1 var(--scene-mono);color:var(--scene-orange);transition:transform .3s}
.missions-scene .mission-tab[aria-selected=true] .mission-tab-arrow{transform:rotate(45deg)}
.missions-scene .mission-stage{position:relative;background:linear-gradient(115deg,#0c161a 15%,#102326 70%,#0d1b20)}
.missions-scene .mission-panel{display:grid;grid-template-columns:.9fr 1.3fr;align-items:center;position:relative;min-height:540px;overflow:hidden}
.missions-scene .mission-panel[hidden],.lore-scene .lore-file[hidden]{display:none!important}
.missions-scene .mission-copy{position:relative;z-index:2;padding:46px 0 46px 42px}
.missions-scene .mission-overline{font:10px/1.6 var(--scene-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--scene-orange);margin-bottom:33px}
.missions-scene .mission-copy h3{max-width:500px;font-family:var(--display-font,Impact,'Arial Narrow',sans-serif);font-weight:400;font-size:clamp(40px,3.8vw,64px);line-height:1.01;letter-spacing:.01em;text-transform:uppercase}
.missions-scene .mission-copy>p{max-width:375px;color:#c0cbc6;font-size:15px;line-height:1.8;margin-top:23px}
.missions-scene .mission-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:28px 0 0}
.missions-scene .mission-tags li{border:1px solid #ff763e45;padding:6px 10px;font:10px/1.5 var(--scene-mono);color:#e1c6b6}
.missions-scene .mission-visual{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;color:var(--scene-orange);background:radial-gradient(ellipse at 53% 50%,#ff763e12,transparent 65%)}
.missions-scene .mission-visual::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#102024,transparent 16%),repeating-linear-gradient(0deg,transparent 0 3px,#0a14171a 3px 4px);z-index:2}
.missions-scene .mission-ghost-type{position:absolute;top:9%;left:50%;transform:translateX(-50%) translateY(var(--mission-shift,0px));font-family:var(--display-font,Impact,'Arial Narrow',sans-serif);font-size:clamp(180px,25vw,395px);letter-spacing:-.02em;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #829e9630;user-select:none;pointer-events:none}
.missions-scene .mission-chart{position:relative;z-index:1;width:110%;min-width:110%;height:auto;max-height:560px;filter:drop-shadow(0 0 16px #ff763e0f);transform:translateY(calc(var(--mission-shift,0px) * -.25))}
.missions-scene .mission-chart-grid{color:#7fa398;opacity:.25}
.missions-scene .mission-route{stroke:var(--scene-orange);stroke-width:2;stroke-dasharray:8 10;animation:mission-route-flow 8s linear infinite;animation-play-state:paused}
.missions-scene.is-in-view .mission-route{animation-play-state:running}
.missions-scene .mission-security-rings{opacity:.65}
.missions-scene .mission-vessels{filter:drop-shadow(0 0 9px #ff763e50)}
.missions-scene .mission-vessel-detail{color:#183034}
.missions-scene .mission-cargo{fill:#0c1a1f;filter:drop-shadow(0 0 12px #ff763e22)}
.missions-scene .mission-survey{opacity:.8}
.missions-scene .mission-scan{opacity:.15;transform-origin:369px 257px;animation:mission-survey-sweep 20s linear infinite;animation-play-state:paused}
.missions-scene.is-in-view .mission-scan{animation-play-state:running}
.missions-scene .mission-map-caption{position:absolute;bottom:26px;left:30px;font:9px/1.5 var(--scene-mono);letter-spacing:.12em;text-transform:uppercase;color:#bdc8c1;z-index:3}
.missions-scene .mission-map-coordinate{position:absolute;top:26px;right:27px;font:12px/1 var(--scene-mono);letter-spacing:.12em;z-index:3}
.missions-scene .mission-console-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--scene-line);padding:21px 28px;background:#091114}
.missions-scene .mission-console-footer>span{font:10px/1.6 var(--scene-mono);color:var(--scene-muted)}
.missions-scene .mission-console-footer a,.lore-scene .lore-bottom a{display:inline-flex;align-items:center;gap:28px;min-height:44px;color:var(--scene-orange);font-size:14px;white-space:nowrap}
.missions-scene .mission-console-footer a span,.lore-scene .lore-bottom a span{font-size:25px;transition:transform .25s}
.missions-scene .mission-console-footer a:hover span,.lore-scene .lore-bottom a:hover span{transform:translate(3px,-3px)}
.missions-scene.is-interactive .mission-panel:not([hidden]) .mission-copy{animation:mission-copy-arrive .5s ease both}
.missions-scene.is-interactive .mission-panel:not([hidden]) .mission-chart{animation:mission-chart-arrive .7s cubic-bezier(.2,.8,.2,1) both}
.missions-scene :is(a,button,[role=tabpanel]):focus-visible,.lore-scene :is(a,button,[role=tabpanel]):focus-visible{outline:2px solid var(--scene-orange);outline-offset:-5px}
/* The planet is built from independent light, grid and orbit layers. */
.lore-scene{border-top:1px solid var(--scene-line);background:radial-gradient(ellipse at 29% 58%,#123237 0,transparent 48%),#080c0e;transition:background-color .8s}
.lore-scene .lore-shell{padding-top:100px;padding-bottom:76px}
.lore-scene .lore-heading{margin-bottom:38px}
.lore-scene .lore-machine{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;position:relative;border-block:1px solid var(--scene-line);min-height:610px}
.lore-scene .lore-world{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:1/1;max-height:650px;width:100%;overflow:hidden}
.lore-scene .lore-world::before{content:'DAY';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateY(var(--lore-shift,0px));font:400 clamp(150px,24vw,350px)/1 var(--display-font,Impact,'Arial Narrow',sans-serif);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px #9bb3a836;z-index:-2;white-space:nowrap}
.lore-scene[data-lore-side=night] .lore-world::before{content:'NIGHT';font-size:clamp(135px,17vw,260px)}
.lore-scene .lore-world-body{position:absolute;width:61%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 31% 27%,#f2bd87 0,#a86b4c 19%,#465956 43%,#1a393d 64%,#061418 83%);box-shadow:inset 8px 2px 25px #d6bc8440,inset -22px -9px 30px #020d11,0 0 1px 1px #c3d0b243,0 0 60px #4f989124;transform:rotate(-18deg);transition:transform 1.2s cubic-bezier(.2,.7,.2,1),box-shadow 1.2s;z-index:1}
.lore-scene .lore-world-body::before{content:'';position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(ellipse at 37% 40%,transparent 0 17px,#d1dbac1c 18px 19px,transparent 20px 33px);opacity:.55;transform:scale(1.4,.72) rotate(22deg);mix-blend-mode:screen}
.lore-scene .lore-world-body::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 31% 37%,transparent 0,#08192140 42%,#01090ce6 78%);transition:opacity 1s}
.lore-scene .lore-world-grid{position:absolute;inset:-2px;border-radius:50%;border:1px solid #e3d8b63b;background:repeating-linear-gradient(0deg,transparent 0 38px,#e3d8b62e 39px 40px,transparent 41px 80px);transform:rotate(0deg);opacity:.65}
.lore-scene .lore-world-grid::before,.lore-scene .lore-world-grid::after{content:'';position:absolute;top:0;bottom:0;border:1px solid #e3d8b650;border-radius:50%}
.lore-scene .lore-world-grid::before{left:22%;right:22%}
.lore-scene .lore-world-grid::after{left:40%;right:40%}
.lore-scene .lore-world-shadow{position:absolute;inset:-5%;border-radius:50%;background:radial-gradient(ellipse at 76% 49%,#020b10 0 42%,#020b10e8 53%,transparent 79%);opacity:.15;transform:translateX(30%);transition:opacity 1.2s,transform 1.2s;z-index:2}
.lore-scene .lore-world-orbit{position:absolute;width:91%;height:39%;border:1px solid #ff763e9e;border-radius:50%;transform:rotate(-31deg);z-index:2;pointer-events:none}
.lore-scene .lore-world-orbit::before{content:'';position:absolute;left:10%;top:13%;width:7px;height:7px;background:var(--scene-orange);border-radius:50%;box-shadow:0 0 0 6px #ff763e15,0 0 20px #ff763e99}
.lore-scene .lore-world-orbit-outer{box-shadow:0 0 24px #ff763e08;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.lore-scene .lore-world-orbit-inner{width:72%;height:72%;transform:rotate(37deg);border-color:#93b1a557;border-style:dashed;z-index:0}
.lore-scene .lore-world-orbit-inner::before{width:4px;height:4px;background:#a5cbb6;box-shadow:none}
.lore-scene .lore-world-axis{position:absolute;top:10%;bottom:10%;width:1px;background:linear-gradient(transparent,#b7c3aa60 20%,#b7c3aa60 80%,transparent);transform:rotate(-18deg);z-index:0}
.lore-scene .lore-world-caption{position:absolute;left:24px;font:9px/1.5 var(--scene-mono);letter-spacing:.12em;color:var(--scene-muted);text-transform:uppercase}
.lore-scene .lore-world-caption-top{top:26px}
.lore-scene .lore-world-caption-bottom{bottom:26px}
.lore-scene .lore-world-marker{position:absolute;right:24px;top:20px;color:var(--scene-orange);font:30px/1 var(--scene-mono)}
.lore-scene .lore-dossier{position:relative;padding:48px 0 42px clamp(28px,5vw,82px);border-left:1px solid var(--scene-line);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.lore-scene .lore-controls{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid #79968d40;padding:5px;max-width:390px;margin-bottom:36px;background:#0b1518}
.lore-scene .lore-controls button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:11px 14px;background:transparent;color:var(--scene-orange);font:12px/1.4 var(--scene-mono);transition:background .25s,color .25s}
.lore-scene .lore-controls button>span{font-size:9px;opacity:.65}
.lore-scene .lore-controls button[aria-selected=true]{background:var(--scene-orange);color:#080c0e}
.lore-scene .lore-controls button:not([aria-selected=true]):hover{background:#ff763e15}
.lore-scene .lore-file{min-height:300px}
.lore-scene .lore-file-label{color:var(--scene-muted);font:10px/1.6 var(--scene-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:15px}
.lore-scene .lore-file h3{font:400 clamp(70px,7vw,112px)/.91 var(--display-font,Impact,'Arial Narrow',sans-serif);text-transform:uppercase;letter-spacing:.015em;margin-bottom:25px}
.lore-scene .lore-file h3 span{color:var(--scene-orange)}
.lore-scene .lore-file-copy{color:#bac8c1;max-width:410px;font-size:15px;line-height:1.8}
.lore-scene .lore-fiction-note{font:10px/1.7 var(--scene-mono);color:#a0ada6;margin-top:30px;max-width:390px}
.lore-scene .lore-fiction-note span{color:var(--scene-orange);margin-right:8px}
.lore-scene .lore-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0 0}
.lore-scene .lore-bottom>span{font-size:14px;color:var(--scene-muted)}
.lore-scene[data-lore-side=night] .lore-world-body{transform:rotate(15deg);box-shadow:inset 8px 1px 25px #ff763e70,inset -22px -9px 30px #020d11,0 0 1px 1px #ff763e60,0 0 60px #ff763e14}
.lore-scene[data-lore-side=night] .lore-world-shadow{opacity:.96;transform:translateX(0)}
.lore-scene[data-lore-side=night] .lore-world-body::after{opacity:.5}
.lore-scene[data-lore-side=night] .lore-world-orbit-outer{transform:rotate(24deg)}
.lore-scene.is-interactive .lore-file:not([hidden]){animation:mission-copy-arrive .5s ease both}
@keyframes mission-copy-arrive{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@keyframes mission-chart-arrive{from{opacity:.1;transform:perspective(900px) rotateX(14deg) translateY(34px) scale(.91)}to{opacity:1;transform:perspective(900px) rotateX(0) translateY(calc(var(--mission-shift,0px) * -.25)) scale(1)}}
@keyframes mission-route-flow{to{stroke-dashoffset:-144}}
@keyframes mission-survey-sweep{to{transform:rotate(360deg)}}
@media(min-width:1600px){.missions-scene .mission-copy{padding-left:50px}.missions-scene .mission-panel{min-height:590px}.lore-scene .lore-machine{min-height:640px}}
@media(max-width:1080px){.missions-scene .mission-shell,.lore-scene .lore-shell{padding-block:80px}.missions-scene .mission-heading,.lore-scene .lore-heading{gap:28px}.missions-scene .mission-heading>p,.lore-scene .lore-heading>p{font-size:13px;max-width:230px}.missions-scene .mission-tab{gap:10px;padding:22px 16px}.missions-scene .mission-tab-name{font-size:13px}.missions-scene .mission-tab-arrow{display:none}.missions-scene .mission-panel{min-height:490px;grid-template-columns:1fr 1.1fr}.missions-scene .mission-copy{padding-left:28px}.missions-scene .mission-copy h3{font-size:43px}.missions-scene .mission-copy>p{font-size:14px}.missions-scene .mission-chart{width:125%;min-width:125%}.lore-scene .lore-machine{min-height:540px}.lore-scene .lore-dossier{padding-left:30px}.lore-scene .lore-file{min-height:290px}.lore-scene .lore-file h3{font-size:85px}.lore-scene .lore-world{overflow:visible}.lore-scene .lore-world-caption{left:10px;font-size:8px}.lore-scene .lore-world-marker{right:10px}.lore-scene .lore-world-caption-top{top:0}.lore-scene .lore-world-caption-bottom{bottom:0}}
@media(max-width:760px){.missions-scene,.lore-scene{scroll-margin-top:24px}.missions-scene .mission-shell,.lore-scene .lore-shell{padding-block:64px}.missions-scene .mission-section-label,.lore-scene .lore-section-label{font-size:9px;letter-spacing:.07em;padding-bottom:17px}.missions-scene .mission-section-label>span:last-child{max-width:150px}.missions-scene .mission-heading,.lore-scene .lore-heading{display:block;margin:34px 0}.missions-scene .mission-heading h2,.lore-scene .lore-heading h2{font-size:clamp(59px,12vw,84px);line-height:.92}.missions-scene .mission-heading>p,.lore-scene .lore-heading>p{margin-top:22px;max-width:100%;font-size:14px}.missions-scene .mission-tab{display:flex;flex-direction:column;gap:7px;align-items:flex-start;min-height:94px;padding:15px 12px}.missions-scene .mission-tab-name{font-size:12px;line-height:1.5}.missions-scene .mission-tab-number{font-size:9px}.missions-scene .mission-panel{grid-template-columns:1fr;min-height:0}.missions-scene .mission-visual{grid-row:1;min-height:0;aspect-ratio:1.53;border-bottom:1px solid #8fac9e22;background:radial-gradient(ellipse at 53% 50%,#ff763e14,transparent 68%)}.missions-scene .mission-visual::after{background:linear-gradient(0deg,#102024,transparent 15%),repeating-linear-gradient(0deg,transparent 0 3px,#0a14171a 3px 4px)}.missions-scene .mission-chart{width:100%;min-width:100%;max-height:none;position:absolute;left:0;top:50%;translate:0 -50%}.missions-scene .mission-ghost-type{top:3%;font-size:clamp(155px,45vw,300px)}.missions-scene .mission-map-caption{bottom:14px;left:18px;font-size:8px}.missions-scene .mission-map-coordinate{top:18px;right:17px;font-size:10px}.missions-scene .mission-copy{padding:30px 23px 33px}.missions-scene .mission-overline{margin-bottom:20px;font-size:9px}.missions-scene .mission-copy h3{font-size:clamp(38px,8.8vw,55px);max-width:490px}.missions-scene .mission-copy>p{max-width:100%;font-size:14px;margin-top:20px}.missions-scene .mission-tags{margin-top:23px}.missions-scene .mission-tags li{font-size:9px;padding:5px 8px}.missions-scene .mission-console-footer{padding:18px 23px;align-items:flex-start;flex-direction:column;gap:6px}.missions-scene .mission-console-footer>span{font-size:9px}.missions-scene .mission-console-footer a{font-size:13px;gap:20px;min-height:44px}.lore-scene .lore-machine{display:flex;flex-direction:column;min-height:0}.lore-scene .lore-world{aspect-ratio:1.1;max-height:540px;overflow:hidden}.lore-scene .lore-world-body{width:61%}.lore-scene .lore-world::before{font-size:clamp(170px,51vw,330px)}.lore-scene[data-lore-side=night] .lore-world::before{font-size:clamp(130px,36vw,245px)}.lore-scene .lore-world-caption{left:5px;font-size:8px}.lore-scene .lore-world-caption-top{top:19px}.lore-scene .lore-world-caption-bottom{bottom:18px}.lore-scene .lore-world-marker{top:16px;right:7px;font-size:24px}.lore-scene .lore-dossier{border-left:0;border-top:1px solid var(--scene-line);padding:25px 0 29px;align-self:stretch}.lore-scene .lore-controls{width:100%;max-width:none;margin-bottom:26px}.lore-scene .lore-controls button{font-size:11px;min-height:48px}.lore-scene .lore-file{min-height:286px}.lore-scene .lore-file h3{font-size:clamp(68px,17vw,95px);line-height:.94;margin-bottom:20px}.lore-scene .lore-file-copy{font-size:14px;max-width:none}.lore-scene .lore-fiction-note{margin-top:22px;font-size:9px}.lore-scene .lore-bottom{align-items:flex-start;flex-direction:column;gap:7px;padding-top:24px}.lore-scene .lore-bottom>span{font-size:13px}.lore-scene .lore-bottom a{font-size:13px}}
@media(max-width:380px){.missions-scene .mission-tab{padding-inline:8px}.missions-scene .mission-tab-name{font-size:11px}.missions-scene .mission-copy{padding-inline:18px}.missions-scene .mission-heading h2,.lore-scene .lore-heading h2{font-size:54px}.missions-scene .mission-section-label>span:last-child{display:none}.lore-scene .lore-controls button{gap:8px;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.missions-scene *,.missions-scene *::before,.missions-scene *::after,.lore-scene *,.lore-scene *::before,.lore-scene *::after{animation:none!important;transition:none!important}.missions-scene .mission-chart,.missions-scene .mission-ghost-type,.lore-scene .lore-world::before{--mission-shift:0px;--lore-shift:0px}}
