@font-face{
  font-family: 'Entanglement';
  src: url('assets/fonts/entanglement.woff2') format('woff2');
  font-display: swap;
}
@font-face{
  font-family: 'Science';
  src: url('assets/fonts/science.woff2') format('woff2');
  font-display: swap;
}
:root{
  --bg:#02030b;
  --panel:#050917;
  --ink:#f7fff9;
  --muted:#a9bcc4;
  --cyan:#8B5CF6;
  --active-chamber:#00e5ff;
  --line:rgba(255,255,255,.12);
  --display:'Entanglement','Space Grotesk','Inter',system-ui,sans-serif;
  --tech:'Science','IBM Plex Mono','Courier New',monospace;
  --body:'Inter','Manrope',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;color:var(--ink);font-family:var(--body);background:
  radial-gradient(circle at 18% 0%, rgba(0,229,255,.15), transparent 32%),
  radial-gradient(circle at 82% 18%, rgba(255,49,90,.12), transparent 34%),
  radial-gradient(circle at 50% 100%, rgba(155,92,255,.12), transparent 42%),
  linear-gradient(135deg,#02030b 0%,#07101f 48%,#02030b 100%);
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.noise,.scanline{position:fixed;inset:0;pointer-events:none;z-index:80;mix-blend-mode:screen}
.noise{opacity:.07;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,transparent 1px 3px)}
.scanline{opacity:.08;background:linear-gradient(180deg,transparent,rgba(0,229,255,.22),transparent);height:30vh;animation:scanDrift 8s linear infinite}
@keyframes scanDrift{from{transform:translateY(-35vh)}to{transform:translateY(120vh)}}
.telemetry{position:fixed;right:18px;top:18px;z-index:60;pointer-events:none;display:grid;gap:10px;justify-items:end;font-family:var(--tech);font-size:10px;letter-spacing:.14em;color:rgba(210,255,251,.7);text-transform:uppercase}
.telemetry span{opacity:0;animation:telemetryFade 21.6s linear infinite;animation-delay:var(--delay);padding:7px 10px;border:1px solid rgba(0,229,255,.14);background:rgba(2,3,11,.55);box-shadow:0 0 18px rgba(0,229,255,.08)}
@keyframes telemetryFade{0%,8%{opacity:0;transform:translateY(-6px)}12%,28%{opacity:1;transform:translateY(0)}36%,100%{opacity:0;transform:translateY(4px)}}
.rail{position:fixed;left:0;top:0;bottom:0;width:250px;padding:26px 22px;background:rgba(2,3,11,.84);border-right:1px solid rgba(0,229,255,.20);backdrop-filter:blur(18px);z-index:70}
.rail:after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#8B5CF6 0%,#FF3366 17%,#FFB300 31%,#FF7A00 45%,#00E68A 59%,#00C8FF 74%,#9B5CFF 100%);box-shadow:0 0 22px rgba(0,229,255,.45),0 0 45px rgba(155,92,255,.3)}
.brand{display:block;font-family:var(--tech);letter-spacing:.36em;color:var(--cyan);font-weight:800;margin-bottom:54px;text-shadow:0 0 22px rgba(0,229,255,.8)}
#railNav{display:grid;gap:10px}
#railNav a{position:relative;overflow:hidden;display:grid;gap:3px;padding:14px 15px 14px 32px;border:1px solid color-mix(in srgb,var(--chamber) 34%, transparent);border-radius:999px;color:#b9c8cc;font-family:var(--tech);text-transform:uppercase;letter-spacing:.12em;font-size:12px;background:rgba(255,255,255,.015)}
#railNav a:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:999px;transform:translateY(-50%);background:var(--chamber);box-shadow:0 0 16px var(--chamber),0 0 34px color-mix(in srgb,var(--chamber) 60%,transparent)}
#railNav a small{font-size:10px;opacity:.72;letter-spacing:.08em;color:color-mix(in srgb,var(--chamber) 78%, #ffffff)}
#railNav a.active,#railNav a:hover{color:white;border-color:var(--chamber);background:color-mix(in srgb,var(--chamber) 18%,transparent);box-shadow:0 0 25px color-mix(in srgb,var(--chamber) 38%,transparent)}
.site{margin-left:250px}.panel,.chamber{min-height:100vh}.panel{padding:8vw}
.eyebrow,.playable-kicker,.chamber-number{font-family:var(--tech);text-transform:uppercase;letter-spacing:.28em;color:var(--cyan);font-weight:800}
.orbit-hero{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr);gap:50px;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 40%,rgba(0,229,255,.14),transparent 36%),linear-gradient(140deg,rgba(0,229,255,.06),transparent 38%)}
.orbit-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(155,92,255,.12),transparent 42%);pointer-events:none}
.orbit-copy{position:relative;z-index:2}.orbit-copy h1{font-family:var(--display);font-size:clamp(70px,13vw,180px);line-height:.78;margin:18px 0;text-shadow:0 0 45px rgba(0,229,255,.26)}
.lede{font-size:clamp(18px,2vw,30px);line-height:1.38;color:#d5e3e2;max-width:860px}.readout{display:grid;gap:8px;margin:30px 0;font-family:var(--tech);color:#bcd4d4;letter-spacing:.08em}.compact{font-size:12px}
.orbit-stage{position:relative;min-height:620px;border:1px solid rgba(0,229,255,.22);border-radius:34px;background:radial-gradient(circle at 50% 50%,rgba(0,229,255,.08),transparent 48%),rgba(1,5,14,.72);box-shadow:0 0 60px rgba(0,229,255,.12), inset 0 0 80px rgba(155,92,255,.08);overflow:hidden}
.ship-model{position:absolute;inset:5%;width:90%;height:90%;filter:drop-shadow(0 0 32px rgba(0,229,255,.3)) drop-shadow(0 0 90px rgba(155,92,255,.22));z-index:2}
.orbit-rings{position:absolute;inset:8%;border:1px solid rgba(0,229,255,.25);border-radius:50%;animation:spin 24s linear infinite;z-index:1}.orbit-rings:before,.orbit-rings:after{content:"";position:absolute;inset:12%;border:1px dashed rgba(255,255,255,.18);border-radius:50%}.orbit-rings:after{inset:27%;border-color:rgba(155,92,255,.22);animation:spin 14s linear reverse infinite}@keyframes spin{to{transform:rotate(360deg)}}
.scan-wave{position:absolute;left:50%;top:50%;width:10px;height:10px;border:1px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%);opacity:0;z-index:4}.scanned .scan-wave{animation:pulseScan 1.8s ease-out 1}@keyframes pulseScan{0%{opacity:1;width:10px;height:10px}100%{opacity:0;width:130%;height:130%}}
.chamber-beacons{position:absolute;inset:0;z-index:5}.beacon{position:absolute;display:flex;align-items:center;gap:10px;font-family:var(--tech);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease;color:#f8ffff;text-shadow:0 0 14px var(--chamber)}.beacon i{width:12px;height:12px;border-radius:50%;background:var(--chamber);box-shadow:0 0 18px var(--chamber),0 0 40px color-mix(in srgb,var(--chamber) 70%,transparent)}.scanned .beacon{opacity:1;transform:translateY(0)}.b0{left:9%;top:24%;transition-delay:.05s}.b1{right:8%;top:22%;transition-delay:.18s}.b2{left:12%;top:58%;transition-delay:.31s}.b3{right:7%;top:53%;transition-delay:.44s}.b4{left:29%;bottom:9%;transition-delay:.57s}.b5{right:24%;bottom:11%;transition-delay:.70s}
.orbit-controls{position:relative;z-index:6;grid-column:1 / -1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.scan-button,.enter{display:inline-block;border:1px solid var(--cyan);border-radius:999px;padding:15px 22px;background:rgba(0,229,255,.06);font-family:var(--tech);text-transform:uppercase;letter-spacing:.2em;box-shadow:0 0 35px rgba(0,229,255,.18);cursor:pointer}.enter{border-color:var(--active-chamber)}.scan-status{font-family:var(--tech);letter-spacing:.14em;color:#a7c1c3;font-size:12px}.overview{min-height:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(0,229,255,.05),transparent)}.overview h2{font-family:var(--display);font-size:clamp(38px,6vw,92px);line-height:.9;margin:15px 0}.overview p{max-width:850px;color:#d5e3e2;font-size:20px;line-height:1.45}.spectrum-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:38px}.spectrum-card{display:grid;gap:6px;padding:18px;border:1px solid color-mix(in srgb,var(--chamber) 52%,rgba(255,255,255,.12));background:color-mix(in srgb,var(--chamber) 10%,rgba(255,255,255,.015));box-shadow:0 0 26px color-mix(in srgb,var(--chamber) 15%,transparent);border-radius:18px}.spectrum-card span,.spectrum-card small{font-family:var(--tech);letter-spacing:.15em;text-transform:uppercase;color:color-mix(in srgb,var(--chamber) 80%,white)}.spectrum-card strong{font-family:var(--display);font-size:26px}.chamber{position:relative;padding:90px clamp(28px,5vw,86px);border-top:1px solid var(--line);background:radial-gradient(circle at 8% 15%,color-mix(in srgb,var(--chamber) 24%,transparent),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--chamber) 13%,transparent),transparent 42%)}.chamber:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--chamber);box-shadow:0 0 24px var(--chamber),0 0 90px color-mix(in srgb,var(--chamber) 55%,transparent);opacity:.95}.chamber-intro{max-width:1180px;margin-bottom:64px;border-left:5px solid var(--chamber);padding-left:28px}.chamber-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.chamber-number{color:var(--chamber);text-shadow:0 0 24px color-mix(in srgb,var(--chamber) 80%,transparent);margin:0}.chamber-count{font-family:var(--tech);letter-spacing:.14em;text-transform:uppercase;color:#dbeceb;font-size:12px;display:grid;gap:8px}.meter{display:flex;gap:4px}.meter span{width:14px;height:7px;border:1px solid color-mix(in srgb,var(--chamber) 45%,rgba(255,255,255,.2));background:rgba(255,255,255,.04)}.meter span.filled{background:var(--chamber);box-shadow:0 0 12px var(--chamber)}.chamber h2{font-family:var(--display);font-size:clamp(54px,8vw,118px);line-height:.9;margin:14px 0 6px}.purpose{font-family:var(--tech);text-transform:uppercase;letter-spacing:.24em;color:#eaf7ef;opacity:.82}.diagnostics{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.diagnostics span{font-family:var(--tech);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 11px;border:1px solid color-mix(in srgb,var(--chamber) 44%,rgba(255,255,255,.15));background:rgba(1,5,14,.35);color:#dff9f7}.intro-copy{font-size:clamp(18px,1.55vw,26px);line-height:1.45;max-width:920px;color:#c8d7d6}.playable-list{display:grid;gap:112px}.playable{scroll-margin-top:32px}.playable-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:18px}.playable-kicker{color:var(--chamber);font-size:13px;text-shadow:0 0 20px color-mix(in srgb,var(--chamber) 70%,transparent)}.playable h3{font-family:var(--display);font-size:clamp(34px,5vw,84px);line-height:.92;margin:10px 0 8px}.subtitle{font-family:var(--tech);letter-spacing:.16em;text-transform:uppercase;color:#d9e6e5;margin:0}.playable-status{font-family:var(--tech);font-size:11px;letter-spacing:.14em;color:#89a4a5;display:grid;gap:6px;text-align:right}.game-shell{position:relative;border:1px solid color-mix(in srgb,var(--chamber) 70%,rgba(255,255,255,.16));border-radius:28px;overflow:hidden;background:#010611;box-shadow:0 0 34px color-mix(in srgb,var(--chamber) 28%,transparent),0 0 130px color-mix(in srgb,var(--chamber) 19%,transparent),inset 0 0 50px rgba(0,229,255,.06)}.game-shell:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(transparent 50%,rgba(255,255,255,.025) 50%);background-size:100% 4px;mix-blend-mode:screen}.game-toolbar{height:46px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid color-mix(in srgb,var(--chamber) 45%,rgba(255,255,255,.10));font-family:var(--tech);text-transform:uppercase;letter-spacing:.14em;background:linear-gradient(90deg,rgba(255,255,255,.06),color-mix(in srgb,var(--chamber) 14%,transparent));position:relative;z-index:3}.game-toolbar .dot{width:10px;height:10px;border-radius:99px;background:var(--chamber);box-shadow:0 0 14px var(--chamber)}.game-toolbar strong{margin-left:12px}.game-toolbar strong:before{content:"CHAMBER SIGNAL / ";color:var(--chamber)}.game-toolbar em{margin-left:auto;font-style:normal;color:#93aeb0;font-size:11px}.game-shell iframe{display:block;width:100%;height:calc(100vh - 128px);min-height:780px;max-height:1080px;border:0;background:#020713}.caption-grid{display:grid;grid-template-columns:minmax(280px,760px) 1fr;gap:28px;align-items:start;padding:24px 2px 0}.caption-grid p{margin:0;font-size:clamp(17px,1.4vw,23px);line-height:1.5;color:#d4e0df}.tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.tag{border:1px solid color-mix(in srgb,var(--chamber) 72%,rgba(255,255,255,.2));border-radius:999px;padding:10px 14px;color:white;background:color-mix(in srgb,var(--chamber) 9%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--chamber) 15%,transparent)}.footer{min-height:auto;border-top:1px solid var(--line);font-family:var(--tech);letter-spacing:.18em;text-transform:uppercase;color:#bcd4d4;background:rgba(0,229,255,.04)}
@media (max-width: 1120px){.orbit-hero{grid-template-columns:1fr}.orbit-stage{min-height:560px}.telemetry{display:none}}
@media (max-width: 980px){.rail{position:sticky;width:auto;height:auto;bottom:auto;display:block;padding:16px}.brand{margin-bottom:18px}#railNav{display:flex;overflow:auto}.site{margin-left:0}.panel,.chamber{padding:48px 18px}.playable-head{display:block}.playable-status{display:none}.game-shell iframe{height:78vh;min-height:640px}.caption-grid{grid-template-columns:1fr}.tags{justify-content:flex-start}.chamber h2{font-size:clamp(44px,13vw,76px)}.beacon{font-size:9px}.orbit-controls{display:grid}.scan-status{font-size:10px}}
@media (max-width: 640px){.orbit-stage{min-height:430px}.game-shell iframe{height:76vh;min-height:560px}.game-toolbar em{display:none}.game-toolbar{font-size:11px}.orbit-copy h1{font-size:64px}.playable h3{font-size:40px}.chamber-meta{display:block}.chamber-count{margin-top:18px}.spectrum-summary{grid-template-columns:1fr}.b0{left:5%;top:18%}.b1{right:3%;top:25%}.b2{left:5%;top:61%}.b3{right:2%;top:58%}.b4{left:9%;bottom:8%}.b5{right:5%;bottom:9%}}

/* Orbit view v2: floating deep-field composition */
.orbit-hero{
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr auto;
  align-items:stretch;
  gap:0;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 61% 48%, rgba(255,49,90,.20), transparent 15%),
    radial-gradient(circle at 48% 56%, rgba(0,229,255,.18), transparent 22%),
    radial-gradient(circle at 80% 10%, rgba(155,92,255,.17), transparent 28%),
    radial-gradient(circle at 50% 50%, rgba(0,255,136,.10), transparent 38%),
    linear-gradient(135deg,#02030b 0%,#061122 42%,#01040c 100%);
}
.orbit-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 24%, rgba(255,255,255,.92) 0 1px, transparent 1.5px),
    radial-gradient(circle at 72% 18%, rgba(255,255,255,.75) 0 1px, transparent 1.4px),
    radial-gradient(circle at 88% 62%, rgba(0,229,255,.8) 0 1px, transparent 1.4px),
    radial-gradient(circle at 44% 78%, rgba(255,255,255,.68) 0 1px, transparent 1.4px),
    radial-gradient(circle at 28% 66%, rgba(255,49,90,.65) 0 1px, transparent 1.4px),
    repeating-radial-gradient(circle at 56% 48%, transparent 0 38px, rgba(0,229,255,.038) 39px 40px, transparent 41px 78px);
  background-size:420px 420px, 520px 520px, 610px 610px, 470px 470px, 660px 660px, 100% 100%;
  opacity:.9;
  z-index:0;
}
.orbit-hero:after{
  content:"";
  position:absolute;
  inset:-18%;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(62deg, transparent 45%, rgba(0,229,255,.18) 45.2%, transparent 45.6%),
    linear-gradient(112deg, transparent 48%, rgba(255,49,90,.16) 48.3%, transparent 48.8%),
    radial-gradient(ellipse at 60% 47%, transparent 0 27%, rgba(0,229,255,.35) 27.2%, transparent 27.7%),
    radial-gradient(ellipse at 58% 49%, transparent 0 37%, rgba(255,49,90,.25) 37.2%, transparent 37.7%),
    radial-gradient(ellipse at 55% 51%, transparent 0 47%, rgba(0,255,136,.16) 47.1%, transparent 47.5%);
  transform:rotate(-8deg);
  filter:blur(.2px);
  opacity:.78;
}
.orbit-copy{
  position:absolute;
  z-index:8;
  left:clamp(24px,4vw,72px);
  top:clamp(28px,6vh,84px);
  width:min(470px,38vw);
  padding:28px;
  border:1px solid rgba(0,229,255,.18);
  border-radius:0 28px 28px 0;
  background:linear-gradient(135deg, rgba(2,3,11,.88), rgba(2,3,11,.58));
  box-shadow:0 0 55px rgba(0,229,255,.12), inset 0 0 42px rgba(0,229,255,.035);
  backdrop-filter:blur(16px);
}
.orbit-copy h1{
  font-size:clamp(58px,8vw,126px);
  letter-spacing:.08em;
  line-height:.82;
  margin:12px 0 10px;
}
.orbit-copy .lede{
  font-size:clamp(14px,1.2vw,18px);
  line-height:1.45;
  max-width:420px;
}
.orbit-copy .readout{
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:16px;
  margin-bottom:0;
}
.orbit-stage{
  position:absolute;
  inset:0;
  min-height:100vh;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  z-index:3;
}
.ship-model{
  position:absolute;
  left:50%;
  top:51%;
  width:min(84vw,1200px);
  height:min(74vh,820px);
  transform:translate(-38%,-50%);
  inset:auto;
  filter:
    drop-shadow(0 0 18px rgba(255,49,90,.45))
    drop-shadow(0 0 38px rgba(0,229,255,.32))
    drop-shadow(0 0 120px rgba(155,92,255,.20));
  z-index:4;
}
.orbit-rings{
  position:absolute;
  left:50%;
  top:50%;
  width:min(86vw,1120px);
  height:min(54vw,660px);
  inset:auto;
  transform:translate(-34%,-50%) rotate(-8deg);
  border:1px solid rgba(0,229,255,.32);
  border-radius:50%;
  z-index:2;
  animation:orbitFloat 28s linear infinite;
  box-shadow:0 0 42px rgba(0,229,255,.08);
}
.orbit-rings:before{
  inset:7%;
  border-color:rgba(255,49,90,.28);
}
.orbit-rings:after{
  inset:22%;
  border-color:rgba(0,255,136,.18);
}
@keyframes orbitFloat{
  from{transform:translate(-34%,-50%) rotate(-8deg)}
  to{transform:translate(-34%,-50%) rotate(352deg)}
}
.chamber-beacons{z-index:7;pointer-events:none}
.beacon{
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--chamber) 42%, transparent);
  border-radius:999px;
  background:rgba(2,3,11,.62);
  backdrop-filter:blur(10px);
}
.b0{left:52%;top:25%}.b1{right:10%;top:33%}.b2{left:48%;top:62%}.b3{right:13%;top:58%}.b4{left:65%;bottom:12%}.b5{right:26%;bottom:22%}
.scan-wave{z-index:6;left:58%;top:50%}
.orbit-controls{
  position:absolute;
  z-index:9;
  right:clamp(26px,6vw,110px);
  bottom:clamp(28px,6vh,82px);
  max-width:520px;
  padding:24px;
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid rgba(0,229,255,.20);
  border-radius:28px 0 0 28px;
  background:linear-gradient(135deg, rgba(2,3,11,.86), rgba(12,5,18,.70));
  box-shadow:0 0 60px rgba(0,229,255,.13), inset 0 0 45px rgba(255,49,90,.035);
  backdrop-filter:blur(16px);
}
.scan-status{
  flex-basis:100%;
  margin:0;
  color:#ffda62;
}
.scan-button,.enter{
  padding:13px 18px;
  white-space:nowrap;
}
@media (max-width:1120px){
  .orbit-copy{width:min(500px,70vw);left:24px;top:24px}
  .ship-model{width:110vw;height:70vh;transform:translate(-43%,-45%)}
  .orbit-rings{width:110vw;height:72vw;transform:translate(-42%,-44%) rotate(-8deg)}
  @keyframes orbitFloat{from{transform:translate(-42%,-44%) rotate(-8deg)}to{transform:translate(-42%,-44%) rotate(352deg)}}
}
@media (max-width:760px){
  .orbit-copy{position:relative;width:auto;left:auto;top:auto;margin:16px;z-index:9;padding:20px;border-radius:22px}
  .orbit-stage{position:relative;min-height:520px;margin-top:-20px}
  .ship-model{width:130vw;height:560px;transform:translate(-50%,-50%)}
  .orbit-rings{width:130vw;height:88vw;transform:translate(-50%,-50%) rotate(-8deg)}
  @keyframes orbitFloat{from{transform:translate(-50%,-50%) rotate(-8deg)}to{transform:translate(-50%,-50%) rotate(352deg)}}
  .orbit-controls{position:relative;right:auto;bottom:auto;margin:0 16px 22px;border-radius:22px;display:grid}
  .b0{left:7%;top:20%}.b1{right:6%;top:25%}.b2{left:8%;top:63%}.b3{right:5%;top:56%}.b4{left:22%;bottom:12%}.b5{right:14%;bottom:15%}
}


/* Orbit view v3: keep Lattice of Life centered inside the orbital rings */
:root{
  --orbit-center-x: 61%;
  --orbit-center-y: 50%;
}
.orbit-stage{
  overflow:visible;
}
.ship-model{
  display:block;
  left:var(--orbit-center-x) !important;
  top:var(--orbit-center-y) !important;
  width:min(52vw,860px) !important;
  height:min(52vw,780px) !important;
  min-width:560px;
  min-height:520px;
  transform:translate(-50%,-50%) !important;
  transform-origin:center center;
  z-index:4;
  --poster-color:transparent;
}
.orbit-rings{
  left:var(--orbit-center-x) !important;
  top:var(--orbit-center-y) !important;
  width:min(88vw,1260px) !important;
  height:min(58vw,760px) !important;
  transform:translate(-50%,-50%) rotate(-8deg) !important;
  transform-origin:center center;
}
@keyframes orbitFloat{
  from{transform:translate(-50%,-50%) rotate(-8deg)}
  to{transform:translate(-50%,-50%) rotate(352deg)}
}
.scan-wave{
  left:var(--orbit-center-x) !important;
  top:var(--orbit-center-y) !important;
}
/* Keep the title panel from covering the orbital target zone on wide screens. */
.orbit-copy{
  width:min(430px,32vw);
  left:clamp(24px,3.5vw,64px);
  top:clamp(28px,5vh,70px);
}
.orbit-copy h1{
  font-size:clamp(54px,7.2vw,112px);
}
.orbit-copy .lede{
  font-size:clamp(14px,1vw,17px);
}
/* Re-anchor scan labels around the same target center. */
.b0{left:calc(var(--orbit-center-x) - 23%);top:27%}
.b1{left:calc(var(--orbit-center-x) + 18%);top:25%}
.b2{left:calc(var(--orbit-center-x) - 29%);top:58%}
.b3{left:calc(var(--orbit-center-x) + 21%);top:57%}
.b4{left:calc(var(--orbit-center-x) - 7%);bottom:11%}
.b5{left:calc(var(--orbit-center-x) + 12%);bottom:22%}
@media (max-width:1120px){
  :root{--orbit-center-x:58%;--orbit-center-y:55%;}
  .ship-model{width:92vw !important;height:72vh !important;min-width:0;min-height:460px;}
  .orbit-rings{width:112vw !important;height:72vw !important;}
  .orbit-copy{width:min(500px,72vw)}
}
@media (max-width:760px){
  :root{--orbit-center-x:50%;--orbit-center-y:52%;}
  .orbit-stage{min-height:520px;margin-top:0;}
  .ship-model{width:120vw !important;height:520px !important;min-height:0;}
  .orbit-rings{width:130vw !important;height:88vw !important;}
}

/* Orbit view v4: deeper space, darker vessel lighting, smaller centered Lattice */
:root{
  --orbit-center-x:61%;
  --orbit-center-y:50%;
}
.orbit-hero{
  background:
    radial-gradient(circle at var(--orbit-center-x) var(--orbit-center-y), rgba(0,229,255,.16), transparent 12%),
    radial-gradient(circle at 62% 52%, rgba(255,49,130,.10), transparent 18%),
    radial-gradient(circle at 86% 16%, rgba(155,92,255,.13), transparent 30%),
    radial-gradient(circle at 24% 78%, rgba(0,255,158,.08), transparent 26%),
    linear-gradient(135deg,#00020a 0%,#030712 38%,#06021a 66%,#00020a 100%) !important;
}
.orbit-hero:before{
  background:
    radial-gradient(circle at 8% 14%, rgba(255,255,255,.85) 0 1px, transparent 1.5px),
    radial-gradient(circle at 15% 72%, rgba(255,255,255,.70) 0 1px, transparent 1.5px),
    radial-gradient(circle at 26% 32%, rgba(0,229,255,.75) 0 1px, transparent 1.4px),
    radial-gradient(circle at 38% 86%, rgba(255,255,255,.72) 0 1px, transparent 1.4px),
    radial-gradient(circle at 51% 18%, rgba(255,255,255,.90) 0 1px, transparent 1.4px),
    radial-gradient(circle at 64% 64%, rgba(255,255,255,.80) 0 1px, transparent 1.4px),
    radial-gradient(circle at 72% 28%, rgba(255,49,130,.76) 0 1px, transparent 1.5px),
    radial-gradient(circle at 84% 77%, rgba(0,229,255,.82) 0 1px, transparent 1.5px),
    radial-gradient(circle at 94% 39%, rgba(255,255,255,.88) 0 1px, transparent 1.5px),
    radial-gradient(circle at 48% 54%, rgba(255,255,255,.35) 0 2px, transparent 2.4px),
    repeating-radial-gradient(circle at var(--orbit-center-x) var(--orbit-center-y), transparent 0 37px, rgba(0,229,255,.042) 39px 40px, transparent 42px 79px);
  background-size:
    310px 310px, 420px 420px, 530px 530px, 610px 610px, 470px 470px,
    560px 560px, 690px 690px, 780px 780px, 880px 880px, 960px 960px, 100% 100%;
  opacity:1 !important;
}
.orbit-hero:after{
  background:
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), rgba(0,229,255,.11) 0 7%, transparent 28%),
    radial-gradient(ellipse at 76% 35%, rgba(155,92,255,.11), transparent 34%),
    radial-gradient(ellipse at 48% 67%, rgba(255,49,130,.10), transparent 30%),
    linear-gradient(62deg, transparent 45%, rgba(0,229,255,.13) 45.2%, transparent 45.6%),
    linear-gradient(112deg, transparent 48%, rgba(255,49,130,.12) 48.3%, transparent 48.8%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), transparent 0 27%, rgba(0,229,255,.26) 27.2%, transparent 27.7%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), transparent 0 38%, rgba(255,49,130,.20) 38.2%, transparent 38.7%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), transparent 0 49%, rgba(0,255,136,.13) 49.1%, transparent 49.5%) !important;
  opacity:.88 !important;
}
.orbit-stage:before{
  content:"";
  position:absolute;
  left:var(--orbit-center-x);
  top:var(--orbit-center-y);
  width:min(52vw,760px);
  height:min(52vw,760px);
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(circle, rgba(0,229,255,.16), rgba(0,229,255,.05) 28%, transparent 62%),
    radial-gradient(circle, rgba(255,49,130,.10), transparent 48%);
  filter:blur(10px);
  opacity:.72;
}
.ship-model{
  width:min(41.6vw,688px) !important;
  height:min(41.6vw,624px) !important;
  min-width:448px !important;
  min-height:416px !important;
  filter:
    brightness(.66)
    contrast(1.16)
    saturate(.86)
    drop-shadow(0 0 16px rgba(0,229,255,.24))
    drop-shadow(0 0 42px rgba(255,49,130,.19))
    drop-shadow(0 0 118px rgba(155,92,255,.12)) !important;
}
.orbit-rings{
  box-shadow:
    0 0 28px rgba(0,229,255,.10),
    0 0 110px rgba(0,229,255,.055) !important;
  border-color:rgba(0,229,255,.26) !important;
}
.orbit-rings:before{border-color:rgba(255,49,130,.22) !important;}
.orbit-rings:after{border-color:rgba(0,255,136,.15) !important;}
.orbit-stage.scanned .ship-model{
  animation:shipScanFlash 1.3s ease-out 1;
}
.orbit-stage.scanned .orbit-rings{
  animation:orbitFloat 28s linear infinite, ringScanFlash 1.3s ease-out 1;
}
.orbit-stage.scanned:before{
  animation:centerBloom 1.3s ease-out 1;
}
@keyframes shipScanFlash{
  0%{filter:brightness(.66) contrast(1.16) saturate(.86) drop-shadow(0 0 16px rgba(0,229,255,.24)) drop-shadow(0 0 42px rgba(255,49,130,.19)) drop-shadow(0 0 118px rgba(155,92,255,.12));}
  32%{filter:brightness(.92) contrast(1.24) saturate(1.05) drop-shadow(0 0 28px rgba(0,229,255,.52)) drop-shadow(0 0 70px rgba(255,49,130,.34)) drop-shadow(0 0 150px rgba(155,92,255,.24));}
  100%{filter:brightness(.66) contrast(1.16) saturate(.86) drop-shadow(0 0 16px rgba(0,229,255,.24)) drop-shadow(0 0 42px rgba(255,49,130,.19)) drop-shadow(0 0 118px rgba(155,92,255,.12));}
}
@keyframes ringScanFlash{
  0%,100%{filter:none;}
  35%{filter:brightness(1.55) drop-shadow(0 0 22px rgba(0,229,255,.35));}
}
@keyframes centerBloom{
  0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(1);}
  38%{opacity:1;transform:translate(-50%,-50%) scale(1.16);}
}
/* More distant, observational title panel so the vessel owns the field. */
.orbit-copy{
  background:linear-gradient(135deg, rgba(0,2,10,.88), rgba(0,7,18,.52)) !important;
  border-color:rgba(0,229,255,.16) !important;
  box-shadow:0 0 38px rgba(0,229,255,.08), inset 0 0 48px rgba(0,229,255,.03) !important;
}
@media (max-width:1120px){
  .ship-model{width:73.6vw !important;height:57.6vh !important;min-width:0 !important;min-height:368px !important;}
}
@media (max-width:760px){
  .ship-model{width:96vw !important;height:416px !important;min-height:0 !important;}
}

/* Orbit view v5: signal-space corrections */
/* 1) The vessel is observational only here: no mouse drag, no click capture. */
.ship-model{
  pointer-events:none !important;
  cursor:default !important;
}

/* 4) Deeper, almost-black cosmic field. The vessel should feel discovered, not pasted. */
.orbit-hero{
  background:
    radial-gradient(circle at var(--orbit-center-x) var(--orbit-center-y), rgba(6,17,42,.82) 0%, rgba(2,8,22,.58) 20%, transparent 45%),
    radial-gradient(ellipse at 76% 30%, rgba(76,34,132,.11), transparent 32%),
    radial-gradient(ellipse at 40% 75%, rgba(0,105,130,.085), transparent 34%),
    linear-gradient(135deg,#000006 0%,#01030a 36%,#020414 63%,#000005 100%) !important;
}
.orbit-hero:before{
  background:
    radial-gradient(circle at 7% 11%, rgba(255,255,255,.92) 0 1px, transparent 1.5px),
    radial-gradient(circle at 19% 68%, rgba(255,255,255,.56) 0 1px, transparent 1.4px),
    radial-gradient(circle at 32% 29%, rgba(205,242,255,.82) 0 1px, transparent 1.3px),
    radial-gradient(circle at 44% 83%, rgba(255,255,255,.72) 0 1px, transparent 1.4px),
    radial-gradient(circle at 58% 18%, rgba(255,255,255,.82) 0 1px, transparent 1.3px),
    radial-gradient(circle at 68% 65%, rgba(255,255,255,.65) 0 1px, transparent 1.3px),
    radial-gradient(circle at 78% 30%, rgba(0,229,255,.88) 0 1px, transparent 1.5px),
    radial-gradient(circle at 87% 78%, rgba(255,255,255,.80) 0 1px, transparent 1.4px),
    radial-gradient(circle at 94% 42%, rgba(255,82,150,.70) 0 1px, transparent 1.5px),
    radial-gradient(circle at 53% 52%, rgba(255,255,255,.28) 0 2px, transparent 2.3px),
    repeating-radial-gradient(circle at var(--orbit-center-x) var(--orbit-center-y), transparent 0 52px, rgba(0,229,255,.020) 53px 54px, transparent 56px 104px) !important;
  background-size:
    270px 270px, 370px 370px, 510px 510px, 630px 630px, 480px 480px,
    570px 570px, 720px 720px, 820px 820px, 930px 930px, 1080px 1080px, 100% 100% !important;
  opacity:1 !important;
}
.orbit-hero:after{
  background:
    /* distant star-ray / unknown source */
    linear-gradient(118deg, transparent 0 52%, rgba(190,225,255,.10) 52.15%, rgba(0,229,255,.045) 52.45%, transparent 53%),
    linear-gradient(65deg, transparent 0 42%, rgba(255,82,150,.08) 42.1%, transparent 42.55%),
    radial-gradient(ellipse at 90% 8%, rgba(240,250,255,.20), transparent 22%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), rgba(0,229,255,.085) 0 7%, transparent 24%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), transparent 0 31%, rgba(0,229,255,.16) 31.2%, transparent 31.55%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), transparent 0 43%, rgba(255,49,130,.12) 43.1%, transparent 43.45%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), transparent 0 56%, rgba(0,255,136,.075) 56.1%, transparent 56.38%) !important;
  opacity:.74 !important;
}

/* 5) Integrate the vessel with the environment: darker hull, faint star-rim and sickly signal glow. */
.orbit-stage:before{
  background:
    radial-gradient(circle at 62% 43%, rgba(218,235,255,.16), transparent 10%),
    radial-gradient(circle, rgba(0,229,255,.10), rgba(0,229,255,.025) 30%, transparent 64%),
    radial-gradient(circle, rgba(255,49,130,.055), transparent 48%) !important;
  filter:blur(16px) !important;
  opacity:.58 !important;
}
.orbit-stage:after{
  content:"";
  position:absolute;
  left:calc(var(--orbit-center-x) + 8%);
  top:calc(var(--orbit-center-y) - 18%);
  width:min(36vw,520px);
  height:min(36vw,520px);
  transform:translate(-50%,-50%) rotate(-24deg);
  pointer-events:none;
  z-index:3;
  background:radial-gradient(ellipse at center, rgba(210,235,255,.14), rgba(0,229,255,.04) 32%, transparent 66%);
  filter:blur(28px);
  mix-blend-mode:screen;
  opacity:.72;
}
.ship-model{
  filter:
    brightness(.47)
    contrast(1.24)
    saturate(.74)
    drop-shadow(0 0 8px rgba(210,235,255,.18))
    drop-shadow(0 0 30px rgba(0,229,255,.18))
    drop-shadow(0 0 92px rgba(255,49,130,.12)) !important;
}

/* 2) Map scan labels to the ship body instead of the outer orbit. */
.chamber-beacons{
  z-index:8;
}
.beacon{
  font-size:10px;
  padding:7px 9px;
  background:rgba(1,3,10,.78) !important;
  box-shadow:0 0 20px color-mix(in srgb,var(--chamber) 28%, transparent), inset 0 0 16px rgba(255,255,255,.035);
}
.beacon:after{
  content:"";
  position:absolute;
  top:50%;
  width:var(--leader,84px);
  height:1px;
  background:linear-gradient(90deg, var(--chamber), transparent);
  opacity:.72;
  box-shadow:0 0 12px var(--chamber);
}
.beacon.left:after{left:100%;transform-origin:left center;transform:rotate(var(--angle,0deg));}
.beacon.right:after{right:100%;transform-origin:right center;transform:rotate(var(--angle,0deg));background:linear-gradient(270deg, var(--chamber), transparent);}
/* positions cluster around visible anatomical/branch-like ship zones */
.b0{left:calc(var(--orbit-center-x) - 17%);top:38%;--leader:115px;--angle:15deg;}
.b1{left:calc(var(--orbit-center-x) + 10%);top:34%;--leader:105px;--angle:160deg;}
.b2{left:calc(var(--orbit-center-x) - 20%);top:53%;--leader:128px;--angle:-8deg;}
.b3{left:calc(var(--orbit-center-x) + 13%);top:53%;--leader:118px;--angle:190deg;}
.b4{left:calc(var(--orbit-center-x) - 9%);top:65%;--leader:88px;--angle:-32deg;}
.b5{left:calc(var(--orbit-center-x) + 4%);top:66%;--leader:92px;--angle:215deg;}

/* 3) Stronger scan pulse, like an impossible frequency crossing the hull. */
.scan-wave{
  border:2px solid rgba(0,229,255,.98) !important;
  box-shadow:0 0 24px rgba(0,229,255,.9), inset 0 0 28px rgba(0,229,255,.28);
}
.orbit-stage.scanned .scan-wave{
  animation:pulseScanStrong 2.25s ease-out 1 !important;
}
@keyframes pulseScanStrong{
  0%{opacity:0;width:18px;height:18px;border-width:3px;filter:brightness(2.2)}
  10%{opacity:1;width:90px;height:90px;}
  45%{opacity:.88;width:48vw;height:48vw;box-shadow:0 0 50px rgba(0,229,255,.85),0 0 120px rgba(255,49,130,.24),inset 0 0 44px rgba(0,229,255,.22)}
  100%{opacity:0;width:120vw;height:120vw;border-width:1px;}
}
.orbit-stage.scanned:before{animation:centerBloomStronger 1.8s ease-out 1 !important;}
@keyframes centerBloomStronger{
  0%,100%{opacity:.58;transform:translate(-50%,-50%) scale(1);}
  34%{opacity:1;transform:translate(-50%,-50%) scale(1.28);}
}
.orbit-stage.scanned .ship-model{
  animation:shipSignalFlash 1.75s ease-out 1 !important;
}
@keyframes shipSignalFlash{
  0%,100%{filter:brightness(.47) contrast(1.24) saturate(.74) drop-shadow(0 0 8px rgba(210,235,255,.18)) drop-shadow(0 0 30px rgba(0,229,255,.18)) drop-shadow(0 0 92px rgba(255,49,130,.12));}
  28%{filter:brightness(.80) contrast(1.35) saturate(.95) drop-shadow(0 0 20px rgba(218,235,255,.42)) drop-shadow(0 0 70px rgba(0,229,255,.45)) drop-shadow(0 0 140px rgba(255,49,130,.26));}
  48%{filter:brightness(.58) contrast(1.32) saturate(.82) drop-shadow(0 0 16px rgba(218,235,255,.30)) drop-shadow(0 0 54px rgba(0,229,255,.34)) drop-shadow(0 0 120px rgba(255,49,130,.20));}
}

/* Deep-space story cue: less cheerful brochure, more intercepted unknown signal. */
.orbit-copy .lede::after{
  content:" Signal present. Distress classification: unresolved.";
  color:rgba(210,242,255,.88);
}
.orbit-copy .readout span:nth-child(3)::after{
  content:" // FREQUENCY OUTSIDE SERVER RANGE";
  color:#ffda62;
}
.scan-status{
  color:#ffe06c !important;
  text-shadow:0 0 16px rgba(255,224,108,.22);
}

@media (max-width:1120px){
  .b0{left:calc(var(--orbit-center-x) - 34%);top:39%}.b1{left:calc(var(--orbit-center-x) + 16%);top:35%}.b2{left:calc(var(--orbit-center-x) - 34%);top:55%}.b3{left:calc(var(--orbit-center-x) + 17%);top:54%}.b4{left:calc(var(--orbit-center-x) - 16%);top:68%}.b5{left:calc(var(--orbit-center-x) + 3%);top:68%}
}
@media (max-width:760px){
  .beacon:after{display:none}
  .b0{left:8%;top:34%}.b1{right:8%;left:auto;top:34%}.b2{left:7%;top:52%}.b3{right:7%;left:auto;top:52%}.b4{left:22%;top:69%}.b5{right:18%;left:auto;top:69%}
}

/* Orbit view v6: cosmic reference pass - deep starfield, nebula integration, bioluminescent vessel */
:root{
  --orbit-center-x:62%;
  --orbit-center-y:50%;
}
.orbit-hero{
  background:
    radial-gradient(ellipse at 60% 52%, rgba(32,64,155,.24), transparent 31%),
    radial-gradient(ellipse at 72% 39%, rgba(112,43,165,.12), transparent 28%),
    radial-gradient(ellipse at 36% 61%, rgba(0,120,170,.12), transparent 33%),
    radial-gradient(ellipse at 65% 55%, rgba(5,22,56,.84), transparent 54%),
    linear-gradient(180deg,#00020a 0%,#01030b 48%,#000006 100%) !important;
}
.orbit-hero:before{
  background:
    radial-gradient(circle at 8% 11%, rgba(151,199,255,.85) 0 1.1px, transparent 1.7px),
    radial-gradient(circle at 13% 78%, rgba(255,255,255,.78) 0 1px, transparent 1.6px),
    radial-gradient(circle at 18% 40%, rgba(255,255,255,.52) 0 .8px, transparent 1.3px),
    radial-gradient(circle at 25% 21%, rgba(120,200,255,.68) 0 1px, transparent 1.5px),
    radial-gradient(circle at 33% 68%, rgba(255,255,255,.72) 0 .9px, transparent 1.5px),
    radial-gradient(circle at 45% 10%, rgba(255,255,255,.9) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 52% 78%, rgba(148,203,255,.74) 0 1px, transparent 1.6px),
    radial-gradient(circle at 61% 20%, rgba(255,255,255,.8) 0 .9px, transparent 1.5px),
    radial-gradient(circle at 72% 67%, rgba(255,255,255,.75) 0 1px, transparent 1.6px),
    radial-gradient(circle at 81% 27%, rgba(132,192,255,.7) 0 1.4px, transparent 2px),
    radial-gradient(circle at 89% 84%, rgba(255,255,255,.72) 0 1px, transparent 1.6px),
    radial-gradient(circle at 95% 46%, rgba(255,255,255,.86) 0 1px, transparent 1.7px),
    radial-gradient(circle at 4% 54%, rgba(255,255,255,.55) 0 .8px, transparent 1.3px),
    radial-gradient(circle at 40% 44%, rgba(255,255,255,.45) 0 .8px, transparent 1.4px),
    radial-gradient(circle at 70% 8%, rgba(255,255,255,.45) 0 .8px, transparent 1.4px),
    radial-gradient(circle at 91% 13%, rgba(255,255,255,.5) 0 .8px, transparent 1.4px),
    radial-gradient(ellipse at 58% 47%, rgba(61,103,178,.20), transparent 36%),
    radial-gradient(ellipse at 67% 61%, rgba(26,62,126,.26), transparent 38%);
  background-size:
    300px 300px, 420px 420px, 520px 520px, 610px 610px,
    740px 740px, 860px 860px, 970px 970px, 1110px 1110px,
    1220px 1220px, 1340px 1340px, 1480px 1480px, 1580px 1580px,
    680px 680px, 920px 920px, 1160px 1160px, 1380px 1380px, 100% 100%, 100% 100% !important;
  opacity:1 !important;
  filter:contrast(1.15) brightness(.95);
}
.orbit-hero:after{
  /* Nebula band + very restrained orbital traces. */
  background:
    linear-gradient(152deg, transparent 0 31%, rgba(31,79,154,.14) 37%, rgba(4,12,36,.0) 56%),
    radial-gradient(ellipse at 60% 55%, rgba(70,105,190,.28), transparent 26%),
    radial-gradient(ellipse at 70% 40%, rgba(79,35,124,.18), transparent 32%),
    radial-gradient(ellipse at 51% 62%, rgba(5,46,96,.22), transparent 30%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), transparent 0 23%, rgba(0,229,255,.12) 23.1%, transparent 23.6%),
    radial-gradient(ellipse at var(--orbit-center-x) var(--orbit-center-y), transparent 0 34%, rgba(255,49,180,.08) 34.2%, transparent 34.7%) !important;
  opacity:.82 !important;
}
.orbit-stage{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.orbit-stage:before{
  width:min(45vw,690px) !important;
  height:min(45vw,690px) !important;
  background:
    radial-gradient(circle, rgba(255,136,208,.13), transparent 24%),
    radial-gradient(circle, rgba(0,229,255,.10), transparent 38%),
    radial-gradient(circle, rgba(56,86,178,.14), transparent 62%) !important;
  filter:blur(22px) !important;
  opacity:.74 !important;
}
.orbit-rings{
  opacity:.28 !important;
  border-color:rgba(78,149,255,.16) !important;
  box-shadow:0 0 34px rgba(67,135,255,.08) !important;
}
.orbit-rings:before{border-color:rgba(255,58,187,.12) !important;}
.orbit-rings:after{border-color:rgba(0,229,255,.11) !important;}
.ship-model{
  width:min(44vw,760px) !important;
  height:min(44vw,700px) !important;
  min-width:480px !important;
  min-height:440px !important;
  filter:
    brightness(.92)
    contrast(1.08)
    saturate(1.18)
    drop-shadow(0 0 8px rgba(255,214,160,.30))
    drop-shadow(0 0 16px rgba(255,70,215,.55))
    drop-shadow(0 0 36px rgba(166,40,255,.52))
    drop-shadow(0 0 82px rgba(60,120,255,.22)) !important;
}
/* A soft star-ray/unknown-signal wash, as if the vessel is being caught by distant light. */
.orbit-stage:after{
  content:"";
  position:absolute;
  inset:-20%;
  pointer-events:none;
  z-index:3;
  background:
    linear-gradient(112deg, transparent 8%, rgba(255,217,165,.12) 39%, transparent 47%),
    radial-gradient(ellipse at 31% 18%, rgba(255,219,176,.18), transparent 28%),
    radial-gradient(ellipse at 72% 74%, rgba(87,137,255,.10), transparent 34%);
  mix-blend-mode:screen;
  opacity:.62;
}
/* Scan labels: pin to the vessel silhouette instead of the far orbital shell. */
.beacon{
  opacity:0;
  transform:translate(-50%,-50%) scale(.92);
  box-shadow:0 0 18px color-mix(in srgb,var(--chamber) 46%,transparent), inset 0 0 18px rgba(0,0,0,.28);
  background:rgba(1,4,14,.78) !important;
  backdrop-filter:blur(8px);
}
.orbit-stage.scanned .beacon{opacity:1;transform:translate(-50%,-50%) scale(1);}
.beacon:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:clamp(45px,6vw,115px);
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg,color-mix(in srgb,var(--chamber) 85%,white),transparent);
  opacity:.62;
  filter:drop-shadow(0 0 7px var(--chamber));
}
.b0{left:calc(var(--orbit-center-x) - 13%) !important;top:calc(var(--orbit-center-y) - 22%) !important;}
.b0:after{transform:rotate(46deg)}
.b1{left:calc(var(--orbit-center-x) + 19%) !important;top:calc(var(--orbit-center-y) - 16%) !important;}
.b1:after{transform:rotate(146deg)}
.b2{left:calc(var(--orbit-center-x) - 20%) !important;top:calc(var(--orbit-center-y) + 12%) !important;}
.b2:after{transform:rotate(-18deg)}
.b3{left:calc(var(--orbit-center-x) + 24%) !important;top:calc(var(--orbit-center-y) + 12%) !important;}
.b3:after{transform:rotate(196deg)}
.b4{left:calc(var(--orbit-center-x) - 2%) !important;top:calc(var(--orbit-center-y) + 26%) !important;bottom:auto !important;}
.b4:after{transform:rotate(-96deg)}
.b5{left:calc(var(--orbit-center-x) + 8%) !important;top:calc(var(--orbit-center-y) - 2%) !important;bottom:auto !important;}
.b5:after{transform:rotate(160deg)}
.scan-wave{
  width:22px !important;
  height:22px !important;
  border:2px solid rgba(255,74,214,.95) !important;
  box-shadow:0 0 24px rgba(255,74,214,.7),0 0 55px rgba(0,229,255,.55) !important;
}
.orbit-stage.scanned .scan-wave{
  animation:cosmicScanPulse 1.8s ease-out 1;
}
@keyframes cosmicScanPulse{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.18);}
  10%{opacity:1;}
  55%{opacity:.9;transform:translate(-50%,-50%) scale(23);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(34);}
}
.orbit-stage.scanned .ship-model{
  animation:cosmicShipPing 1.8s ease-out 1;
}
@keyframes cosmicShipPing{
  0%,100%{filter:brightness(.92) contrast(1.08) saturate(1.18) drop-shadow(0 0 8px rgba(255,214,160,.30)) drop-shadow(0 0 16px rgba(255,70,215,.55)) drop-shadow(0 0 36px rgba(166,40,255,.52)) drop-shadow(0 0 82px rgba(60,120,255,.22));}
  38%{filter:brightness(1.22) contrast(1.16) saturate(1.32) drop-shadow(0 0 14px rgba(255,239,206,.62)) drop-shadow(0 0 28px rgba(255,70,215,.88)) drop-shadow(0 0 66px rgba(166,40,255,.74)) drop-shadow(0 0 120px rgba(60,120,255,.38));}
}
.orbit-copy{
  background:linear-gradient(135deg,rgba(0,2,9,.76),rgba(0,5,18,.46)) !important;
  border-color:rgba(0,229,255,.12) !important;
  box-shadow:0 0 28px rgba(0,229,255,.06), inset 0 0 70px rgba(0,0,0,.36) !important;
}
.orbit-copy h1{text-shadow:0 0 30px rgba(255,255,255,.11),0 0 62px rgba(0,229,255,.13) !important;}
@media (max-width:1120px){
  .ship-model{width:78vw !important;height:62vh !important;min-width:0 !important;min-height:380px !important;}
  .beacon:after{display:none;}
}
@media (max-width:760px){
  .ship-model{width:104vw !important;height:430px !important;min-height:0 !important;}
}

/* v26: keep embedded systems clean and readable */
.game-shell:before{display:none !important;}


/* v26.2 click-to-wake stability layer */
.signal-sleeper{
  height:calc(100vh - 128px);
  min-height:780px;
  max-height:1080px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:30px;
  background:
    radial-gradient(circle at 50% 42%, color-mix(in srgb,var(--chamber) 20%, transparent), transparent 32%),
    linear-gradient(135deg,#02030b,#050917 58%,#010611);
}
.signal-sleeper p{
  margin:0 0 12px;
  font-family:var(--tech);
  letter-spacing:.22em;
  color:color-mix(in srgb,var(--chamber) 82%, white);
  text-transform:uppercase;
  text-shadow:0 0 18px var(--chamber);
}
.signal-sleeper small{
  display:block;
  max-width:min(620px,80vw);
  margin:0 auto 24px;
  color:rgba(255,255,255,.55);
  overflow-wrap:anywhere;
}
.wake-signal{
  border:1px solid var(--chamber);
  border-radius:999px;
  padding:14px 20px;
  background:color-mix(in srgb,var(--chamber) 14%, transparent);
  color:white;
  font-family:var(--tech);
  text-transform:uppercase;
  letter-spacing:.18em;
  cursor:pointer;
  box-shadow:0 0 24px color-mix(in srgb,var(--chamber) 28%, transparent);
}
.wake-signal:hover{
  background:color-mix(in srgb,var(--chamber) 24%, transparent);
}
.game-shell.signal-awake iframe{
  display:block;
  width:100%;
  height:calc(100vh - 128px);
  min-height:780px;
  max-height:1080px;
  border:0;
  background:#020713;
}
@media (max-width:760px){
  .signal-sleeper,
  .game-shell.signal-awake iframe{
    height:72vh;
    min-height:520px;
  }
  .playable-list{
    gap:76px;
  }
  .orbit-stage{
    min-height:460px;
  }
  .ship-model{
    pointer-events:none !important;
  }
}


/* v27 Navigation Hub signal transmission layer */
.hub-transmission{
  min-height:620px;
  height:70vh;
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr);
  gap:32px;
  align-items:center;
  padding:clamp(24px,5vw,68px);
  background:
    radial-gradient(circle at 32% 45%, rgba(139,92,246,.25), transparent 24%),
    radial-gradient(circle at 62% 55%, rgba(0,229,255,.11), transparent 30%),
    linear-gradient(135deg,#02030b,#06091a 55%,#010611);
}
.transmission-orb{
  width:min(330px,58vw);
  aspect-ratio:1;
  border-radius:50%;
  margin:auto;
  border:1px solid color-mix(in srgb,var(--chamber) 54%, transparent);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.8) 0 2px, transparent 3px),
    repeating-radial-gradient(circle, transparent 0 34px, rgba(139,92,246,.24) 35px 36px, transparent 37px 68px),
    radial-gradient(circle, rgba(0,229,255,.18), transparent 60%);
  box-shadow:
    0 0 38px rgba(139,92,246,.38),
    0 0 90px rgba(0,229,255,.16),
    inset 0 0 52px rgba(139,92,246,.12);
  animation:transmissionPulse 5s ease-in-out infinite;
}
@keyframes transmissionPulse{
  0%,100%{transform:scale(.98);filter:brightness(.86)}
  50%{transform:scale(1.03);filter:brightness(1.18)}
}
.transmission-copy h4{
  margin:8px 0 14px;
  font-family:var(--display);
  font-size:clamp(32px,5vw,70px);
  line-height:.92;
}
.transmission-copy p{
  margin:0;
  color:#d4e0df;
  font-size:clamp(17px,1.3vw,22px);
  line-height:1.55;
}
.transmission-label,
.transmission-lines{
  font-family:var(--tech);
  letter-spacing:.18em;
  text-transform:uppercase;
}
.transmission-label{
  color:color-mix(in srgb,var(--chamber) 82%, white);
  font-size:12px !important;
}
.transmission-lines{
  display:grid;
  gap:9px;
  margin:22px 0;
  color:#a9bcc4;
  font-size:12px;
}
.wake-audio{
  border:1px solid var(--chamber);
  border-radius:999px;
  padding:14px 20px;
  background:color-mix(in srgb,var(--chamber) 14%, transparent);
  color:white;
  font-family:var(--tech);
  text-transform:uppercase;
  letter-spacing:.18em;
  cursor:pointer;
  box-shadow:0 0 24px color-mix(in srgb,var(--chamber) 28%, transparent);
}
.wake-audio:hover{
  background:color-mix(in srgb,var(--chamber) 24%, transparent);
}
@media (max-width:760px){
  .hub-transmission{
    grid-template-columns:1fr;
    height:auto;
    min-height:660px;
    text-align:left;
  }
  .transmission-orb{
    width:min(260px,70vw);
  }
}


/* v29.1 visitor attunement logs */
.signal-sleeper.attuning{
  position:relative;
  overflow:hidden;
}
.signal-sleeper.attuning::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 42%, color-mix(in srgb,var(--chamber) 18%, transparent), transparent 34%),
    repeating-radial-gradient(circle at 50% 50%, transparent 0 34px, color-mix(in srgb,var(--chamber) 11%, transparent) 35px 36px, transparent 37px 70px);
  animation:attunementPulse 2.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes attunementPulse{
  0%,100%{opacity:.42;transform:scale(.98)}
  50%{opacity:1;transform:scale(1.04)}
}
.visitor-log-panel{
  position:relative;
  z-index:2;
  max-width:min(680px,88%);
  margin:28px auto 0;
  padding:22px 24px;
  border:1px solid color-mix(in srgb,var(--chamber) 44%, rgba(255,255,255,.12));
  border-radius:22px 4px 22px 4px;
  background:rgba(2,3,11,.72);
  box-shadow:0 0 34px color-mix(in srgb,var(--chamber) 20%, transparent), inset 0 0 30px rgba(255,255,255,.035);
  backdrop-filter:blur(10px);
  text-align:left;
}
.visitor-log-label,
.visitor-log-panel span{
  font-family:var(--tech);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--chamber) 82%, white);
  font-size:11px;
}
.visitor-log-panel h4{
  margin:10px 0 12px;
  font-family:var(--display);
  font-size:clamp(28px,4vw,54px);
  line-height:.95;
  color:white;
}
.visitor-log-panel p{
  margin:0 0 14px;
  color:#d4e0df;
  font-size:clamp(17px,1.5vw,23px);
  line-height:1.55;
}
.wake-signal{
  min-width:150px;
}
.signal-awake .game-toolbar:after{
  content:"ATTUNED";
  margin-left:12px;
  color:color-mix(in srgb,var(--chamber) 88%, white);
  font-family:var(--tech);
  letter-spacing:.16em;
  text-shadow:0 0 14px var(--chamber);
}
@media (max-width:760px){
  .visitor-log-panel{
    max-width:94%;
    padding:18px;
  }
  .visitor-log-panel h4{
    font-size:32px;
  }
}


/* v29.2 Quiet Signal controls */
.quiet-signal{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:9;
  border:1px solid color-mix(in srgb,var(--chamber) 72%, white);
  border-radius:999px;
  padding:11px 15px;
  background:rgba(2,3,11,.78);
  color:white;
  font-family:var(--tech);
  text-transform:uppercase;
  letter-spacing:.16em;
  cursor:pointer;
  box-shadow:0 0 24px color-mix(in srgb,var(--chamber) 26%, transparent);
  backdrop-filter:blur(10px);
}
.quiet-signal:hover{
  background:color-mix(in srgb,var(--chamber) 18%, rgba(2,3,11,.82));
}
.quiet-all-signals{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:95;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:10px 14px;
  background:rgba(2,3,11,.72);
  color:rgba(255,255,255,.78);
  font-family:var(--tech);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  cursor:pointer;
  backdrop-filter:blur(12px);
}
.quiet-all-signals:hover{
  color:white;
  border-color:var(--active-chamber);
  box-shadow:0 0 22px color-mix(in srgb,var(--active-chamber) 28%, transparent);
}
.game-shell.signal-awake{
  position:relative;
}
@media (max-width:760px){
  .quiet-all-signals{
    right:12px;
    bottom:12px;
  }
  .quiet-signal{
    right:12px;
    bottom:12px;
    font-size:10px;
  }
}


/* v31 Attunement & Presence */
.ambient-organism{
  position:absolute;
  right:clamp(18px,5vw,72px);
  top:clamp(34px,8vw,96px);
  width:min(260px,30vw);
  aspect-ratio:1;
  opacity:.32;
  filter:drop-shadow(0 0 28px color-mix(in srgb,var(--chamber) 38%, transparent)) saturate(.82);
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:0;
}
.ambient-organism model-viewer{
  width:100%;
  height:100%;
}
.ambient-organism span{
  position:absolute;
  left:50%;
  bottom:4px;
  transform:translateX(-50%);
  white-space:nowrap;
  font-family:var(--tech);
  font-size:9px;
  letter-spacing:.16em;
  color:color-mix(in srgb,var(--chamber) 78%, white);
  text-transform:uppercase;
  text-shadow:0 0 12px var(--chamber);
  opacity:.86;
}
.chamber > *:not(.ambient-organism){
  position:relative;
  z-index:1;
}
.terminal-log-panel{
  background:#040711 !important;
  border:1px solid rgba(255,190,120,.42) !important;
  border-radius:20px 4px 20px 4px !important;
  box-shadow:0 0 44px rgba(255,180,80,.15), inset 0 0 36px rgba(255,255,255,.025) !important;
  font-family:var(--tech);
}
.terminal-log-panel:before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(255,190,120,.12);
  pointer-events:none;
}
.terminal-log-panel .visitor-log-label{
  color:#ffbf6b !important;
}
.terminal-log-panel h4{
  color:#ffe1b4 !important;
  font-family:var(--tech) !important;
  font-size:clamp(18px,2.4vw,30px) !important;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.terminal-body{
  min-height:150px;
  color:#dce6ef;
  line-height:1.85;
  font-family:var(--tech);
  font-size:clamp(15px,1.3vw,20px);
  text-shadow:0 0 10px rgba(255,190,120,.08);
}
.cursor{
  animation:terminalBlink .9s steps(1) infinite;
  color:#ffbf6b;
}
@keyframes terminalBlink{
  50%{opacity:0;}
}
.terminal-status{
  display:block;
  margin-top:14px;
  color:#8fd3ff !important;
  letter-spacing:.18em;
  font-family:var(--tech);
  text-transform:uppercase;
}
.signal-sleeper.attuning::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, transparent, rgba(255,190,120,.04), transparent);
  animation:terminalScan 1.8s linear infinite;
}
@keyframes terminalScan{
  from{transform:translateY(-40%);}
  to{transform:translateY(40%);}
}
@media (max-width:980px){
  .ambient-organism{
    position:relative;
    right:auto;
    top:auto;
    width:min(220px,62vw);
    margin:0 auto 24px;
    opacity:.26;
  }
}
@media (max-width:760px){
  .ambient-organism{
    width:min(190px,58vw);
  }
  .terminal-body{
    min-height:120px;
  }
}


/* v31.1 — cyber-green old-tech terminal attunement */
.terminal-log-panel{
  background:
    radial-gradient(circle at 50% 0%, rgba(0,255,140,.08), transparent 38%),
    linear-gradient(180deg,#020703,#010301 100%) !important;
  border:1px solid rgba(48,255,128,.48) !important;
  border-radius:2px !important;
  box-shadow:
    0 0 34px rgba(0,255,100,.18),
    inset 0 0 32px rgba(0,255,100,.055) !important;
  font-family:
    "Courier New",
    "IBM Plex Mono",
    "Lucida Console",
    "Monaco",
    monospace !important;
  color:#9cffb7 !important;
  text-shadow:0 0 7px rgba(48,255,128,.34);
}
.terminal-log-panel:before{
  border-color:rgba(48,255,128,.16) !important;
}
.terminal-log-panel:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.035) 0 1px,
      transparent 1px 4px
    );
  opacity:.22;
  mix-blend-mode:screen;
}
.terminal-log-panel .visitor-log-label,
.terminal-status{
  color:#38ff7a !important;
  font-family:
    "Courier New",
    "Lucida Console",
    "Monaco",
    monospace !important;
  letter-spacing:.16em !important;
  text-shadow:0 0 10px rgba(56,255,122,.5);
}
.terminal-log-panel h4{
  color:#baffc9 !important;
  font-family:
    "Courier New",
    "Lucida Console",
    "Monaco",
    monospace !important;
  font-size:clamp(18px,2.1vw,28px) !important;
  letter-spacing:.12em !important;
  text-transform:uppercase;
  text-shadow:0 0 11px rgba(56,255,122,.38);
}
.terminal-body{
  color:#8dffad !important;
  font-family:
    "Courier New",
    "Lucida Console",
    "Monaco",
    monospace !important;
  font-size:clamp(15px,1.25vw,19px) !important;
  line-height:1.65 !important;
  text-shadow:0 0 7px rgba(56,255,122,.36);
}
.cursor{
  color:#38ff7a !important;
  text-shadow:0 0 10px rgba(56,255,122,.75);
}
.signal-sleeper.attuning::after{
  background:linear-gradient(180deg, transparent, rgba(48,255,128,.08), transparent) !important;
}


/* v31.2 dedication / kin signal */
.dedication{
  position:relative;
  overflow:hidden;
  margin-top:clamp(42px,8vw,110px);
  border-color:rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 18% 12%, rgba(255,49,102,.14), transparent 34%),
    radial-gradient(circle at 82% 76%, rgba(139,92,246,.14), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.035), rgba(0,0,0,.22));
}
.dedication:before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}
.dedication h2{
  margin:0 0 18px;
  font-family:var(--display);
  font-size:clamp(44px,8vw,110px);
  line-height:.86;
  letter-spacing:.02em;
  color:#fff7fb;
  text-shadow:
    0 0 28px rgba(255,49,102,.22),
    0 0 52px rgba(139,92,246,.18);
}
.dedication-lede{
  max-width:820px;
  font-size:clamp(20px,2vw,32px);
  line-height:1.25;
  color:#f2d9e8;
}
.dedication p:not(.eyebrow):not(.dedication-lede){
  max-width:860px;
  color:#d8e2e2;
  font-size:clamp(16px,1.25vw,21px);
  line-height:1.7;
}


/* v31.4 — make ambient rolling organisms visible and animated */
.ambient-organism{
  opacity:.48 !important;
  width:min(340px,34vw) !important;
  filter:
    drop-shadow(0 0 34px color-mix(in srgb,var(--chamber) 52%, transparent))
    drop-shadow(0 0 70px rgba(255,255,255,.08))
    saturate(.95) !important;
}
.ambient-organism model-viewer{
  transform:scale(1.06);
}
.ambient-organism span{
  opacity:1 !important;
  background:rgba(2,3,11,.42);
  padding:6px 9px;
  border:1px solid color-mix(in srgb,var(--chamber) 24%, transparent);
  border-radius:999px;
  backdrop-filter:blur(8px);
}
.chamber:nth-of-type(odd) .ambient-organism{
  animation:ambientFloatA 9s ease-in-out infinite;
}
.chamber:nth-of-type(even) .ambient-organism{
  animation:ambientFloatB 11s ease-in-out infinite;
}
@keyframes ambientFloatA{
  0%,100%{transform:translate3d(0,0,0) rotate(-1deg);}
  50%{transform:translate3d(0,-12px,0) rotate(1deg);}
}
@keyframes ambientFloatB{
  0%,100%{transform:translate3d(0,0,0) rotate(1deg);}
  50%{transform:translate3d(0,10px,0) rotate(-1deg);}
}
@media (max-width:980px){
  .ambient-organism{
    width:min(260px,68vw) !important;
    opacity:.42 !important;
  }
}


/* v31.5 — ambient organism visibility fix */
.ambient-organism{
  z-index:3 !important;
  opacity:.82 !important;
  width:min(420px,42vw) !important;
  height:auto !important;
  min-height:240px;
  display:grid !important;
  place-items:center !important;
  isolation:isolate;
  mix-blend-mode:normal !important;
  filter:
    drop-shadow(0 0 28px color-mix(in srgb,var(--chamber) 58%, transparent))
    drop-shadow(0 0 80px rgba(255,255,255,.16))
    saturate(1.18)
    contrast(1.08) !important;
}
.ambient-organism:before{
  content:"";
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb,var(--chamber) 18%, transparent), transparent 58%),
    repeating-radial-gradient(circle at 50% 50%, transparent 0 26px, color-mix(in srgb,var(--chamber) 14%, transparent) 27px 28px, transparent 29px 54px);
  box-shadow:
    0 0 44px color-mix(in srgb,var(--chamber) 24%, transparent),
    inset 0 0 34px rgba(255,255,255,.035);
  z-index:-1;
  opacity:.95;
}
.ambient-organism model-viewer{
  position:relative;
  z-index:2;
  width:100% !important;
  height:clamp(240px,34vw,420px) !important;
  --poster-color:transparent;
  background:transparent;
}
.ambient-organism span{
  z-index:4 !important;
  bottom:-8px !important;
  color:color-mix(in srgb,var(--chamber) 90%, white) !important;
  opacity:1 !important;
}
.chamber > .ambient-organism{
  position:absolute !important;
}
@media (max-width:980px){
  .ambient-organism{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    width:min(320px,82vw) !important;
    min-height:260px;
    margin:6px auto 30px !important;
    opacity:.9 !important;
    transform:none !important;
  }
  .ambient-organism model-viewer{
    height:280px !important;
  }
}
@media (max-width:520px){
  .ambient-organism{
    width:min(300px,88vw) !important;
    min-height:245px;
    margin-top:0 !important;
  }
  .ambient-organism model-viewer{
    height:260px !important;
  }
}


/* v31.6 — one meaningful artifact: Nursery incubator only */
.ambient-organism{
  opacity:.68 !important;
  width:min(360px,38vw) !important;
}
.ambient-organism span{
  content:"";
}
@media (max-width:980px){
  .ambient-organism{
    width:min(300px,76vw) !important;
    min-height:260px;
    margin:4px auto 26px !important;
    opacity:.74 !important;
  }
  .ambient-organism model-viewer{
    height:270px !important;
  }
}


/* v32 immediate embeds: no attunement / wake cycle */
.wake-signal,
.quiet-signal,
.quiet-all-signals,
.signal-sleeper,
.visitor-log-panel{
  display:none !important;
}
.game-shell iframe{
  display:block;
  width:100%;
  height:calc(100vh - 128px);
  min-height:780px;
  max-height:1080px;
  border:0;
  background:#020713;
}
.game-shell{
  position:relative;
}
@media (max-width:760px){
  .game-shell iframe{
    height:72vh;
    min-height:520px;
  }
}


/* v32.1 tighter immediate embeds */
.playable-list{
  gap:clamp(42px,6vw,84px) !important;
}
.playable{
  padding:clamp(16px,2vw,24px) !important;
  margin-bottom:clamp(28px,4vw,48px) !important;
}
.playable-head{
  margin-bottom:14px !important;
}
.caption-grid{
  margin-top:14px !important;
  gap:18px !important;
}
.game-shell iframe{
  height:min(68vh,720px) !important;
  min-height:520px !important;
  max-height:720px !important;
}
.game-toolbar{
  height:44px !important;
}
.chamber{
  padding-top:clamp(54px,8vw,96px) !important;
  padding-bottom:clamp(54px,8vw,96px) !important;
}
.chamber-intro{
  margin-bottom:clamp(28px,5vw,54px) !important;
}
.end-marker{
  text-align:center;
  margin-top:clamp(42px,8vw,100px);
  margin-bottom:clamp(32px,6vw,80px);
  background:
    radial-gradient(circle at 50% 0%, rgba(139,92,246,.16), transparent 40%),
    linear-gradient(135deg, rgba(255,255,255,.035), rgba(0,0,0,.24));
}
.end-marker h2{
  max-width:920px;
  margin:0 auto 14px;
  font-family:var(--display);
  font-size:clamp(38px,6vw,82px);
  line-height:.92;
}
.end-marker p:not(.eyebrow){
  color:var(--muted);
  font-size:clamp(16px,1.25vw,21px);
}
@media (max-width:760px){
  .game-shell iframe{
    height:58vh !important;
    min-height:390px !important;
    max-height:520px !important;
  }
  .playable-list{
    gap:46px !important;
  }
  .playable{
    padding:14px !important;
  }
  .caption-grid{
    margin-top:12px !important;
  }
}


/* v32.2 portfolio polish */
.chamber h2{
  font-size:clamp(58px,7.1vw,126px) !important;
  line-height:.9 !important;
  max-width:100%;
}
.playable h3{
  font-size:clamp(34px,4.7vw,76px) !important;
  line-height:.92 !important;
}
.tags-top{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.caption-grid .tags{
  display:none !important;
}
.spectrum-card small,
#railNav small,
.chamber-count,
.chamber .count{
  text-transform:uppercase;
}
.iframe-mute{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:8;
  border:1px solid color-mix(in srgb,var(--chamber) 72%, white);
  border-radius:999px;
  padding:10px 14px;
  background:rgba(2,3,11,.74);
  color:white;
  font-family:var(--tech);
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 0 22px color-mix(in srgb,var(--chamber) 24%, transparent);
  backdrop-filter:blur(10px);
}
.iframe-mute:disabled{
  opacity:.68;
  cursor:default;
}
.orbit-stage,
.ship-field,
.model-card,
.ship-model,
model-viewer[src*="lattice"]{
  --active-chamber:#ffb65c;
}
.orbit-stage:before,
.orbit-stage:after,
.ship-field:before,
.ship-field:after{
  border-color:rgba(255,182,92,.34) !important;
  box-shadow:0 0 44px rgba(255,182,92,.18) !important;
}
@media (max-width:760px){
  .chamber h2{
    font-size:clamp(48px,13vw,72px) !important;
  }
  .playable h3{
    font-size:clamp(31px,10vw,54px) !important;
  }
  .tags-top{
    margin-top:12px;
  }
  .iframe-mute{
    right:12px;
    bottom:12px;
    font-size:10px;
  }
}


/* v33 new chamber artifacts + chambers language polish */

@font-face{
  font-family:'EctopiaScienceTitle';
  src:url('assets/fonts/science-title.otf') format('opentype');
  font-display:swap;
}

.orbit-hero h1,
.brand{
  font-family:'EctopiaScienceTitle', var(--display) !important;
  letter-spacing:.18em !important;
}
.orbit-stage,
.ship-field,
.model-card,
.ship-model,
model-viewer[src*="lattice"]{
  --active-chamber:#ffb65c;
}
.orbit-stage:before,
.orbit-stage:after,
.ship-field:before,
.ship-field:after,
.model-card:before,
.model-card:after{
  border-color:rgba(255,182,92,.38) !important;
  box-shadow:0 0 48px rgba(255,182,92,.22), inset 0 0 38px rgba(255,182,92,.08) !important;
}
.ship-model{
  filter:drop-shadow(0 0 34px rgba(255,182,92,.38)) drop-shadow(0 0 92px rgba(255,182,92,.14));
}
.chamber h2{
  font-size:clamp(54px,6.4vw,112px) !important;
  line-height:.9 !important;
  white-space:normal;
}
.playable-kicker{
  letter-spacing:.2em;
}
@media (min-width:1100px){
  .chamber h2{
    white-space:nowrap;
  }
}
@media (max-width:760px){
  .chamber h2{
    font-size:clamp(44px,11vw,66px) !important;
    white-space:normal;
  }
}


/* v33.2 embed fallback for Netlify iframe refusal */
.embed-fallback{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:7;
  max-width:min(420px,calc(100% - 36px));
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--chamber) 48%, rgba(255,255,255,.18));
  border-radius:18px 4px 18px 4px;
  background:rgba(2,3,11,.76);
  box-shadow:0 0 24px color-mix(in srgb,var(--chamber) 20%, transparent);
  backdrop-filter:blur(12px);
}
.embed-fallback p{
  margin:0 0 10px;
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.35;
}
.embed-fallback a{
  display:inline-block;
  border:1px solid color-mix(in srgb,var(--chamber) 72%, white);
  border-radius:999px;
  padding:9px 12px;
  font-family:var(--tech);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:white;
  background:color-mix(in srgb,var(--chamber) 14%, transparent);
}
@media (max-width:760px){
  .embed-fallback{
    left:12px;
    right:12px;
    bottom:54px;
    max-width:none;
  }
}


/* v34 curator notes */
.curator-note{
  max-width:920px;
  margin:18px 0 0;
  padding:16px 18px;
  border-left:2px solid color-mix(in srgb,var(--chamber) 70%, white);
  background:linear-gradient(90deg, color-mix(in srgb,var(--chamber) 10%, transparent), transparent);
  color:#dbe8e6;
  font-size:clamp(16px,1.2vw,21px);
  line-height:1.6;
  font-style:italic;
}
.curator-note::before{
  content:"CURATOR'S NOTE";
  display:block;
  margin-bottom:8px;
  font-family:var(--tech);
  font-size:10px;
  letter-spacing:.18em;
  color:color-mix(in srgb,var(--chamber) 78%, white);
  font-style:normal;
}


/* v34.1 Field Navigator visual preview */
.preview-embed{
  position:relative;
  min-height:620px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#020713;
}
.preview-embed img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.12) contrast(1.04) brightness(.78);
  transform:scale(1.01);
}
.preview-embed:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 45%, transparent 0 30%, rgba(2,7,19,.16) 50%, rgba(2,7,19,.78) 100%),
    linear-gradient(180deg, rgba(2,7,19,.12), rgba(2,7,19,.72));
}
.preview-copy{
  position:relative;
  z-index:2;
  max-width:min(620px,86%);
  padding:26px;
  border:1px solid color-mix(in srgb,var(--chamber) 46%, white);
  border-radius:24px 4px 24px 4px;
  background:rgba(2,7,19,.72);
  box-shadow:0 0 44px color-mix(in srgb,var(--chamber) 22%, transparent);
  backdrop-filter:blur(12px);
  text-align:left;
}
.preview-copy p,
.preview-copy span{
  font-family:var(--tech);
  text-transform:uppercase;
  letter-spacing:.16em;
  color:color-mix(in srgb,var(--chamber) 86%, white);
  font-size:11px;
}
.preview-copy h4{
  margin:10px 0 14px;
  font-family:var(--display);
  font-size:clamp(34px,5vw,78px);
  line-height:.9;
  color:white;
}
.preview-copy a{
  display:inline-block;
  margin-top:20px;
  border:1px solid color-mix(in srgb,var(--chamber) 78%, white);
  border-radius:999px;
  padding:12px 15px;
  color:white;
  font-family:var(--tech);
  text-transform:uppercase;
  letter-spacing:.14em;
  background:color-mix(in srgb,var(--chamber) 16%, transparent);
}
@media(max-width:760px){
  .preview-embed{
    min-height:460px;
  }
  .preview-copy{
    padding:20px;
  }
}


/* v34.3: give World-Building Engine more breathing room */
iframe[src*="world"], 
iframe[src*="persephone"],
iframe[src*="synth"]{
  transform:scale(0.88);
  transform-origin:top center;
  width:113.6%;
  height:113.6%;
  border:0;
}
