:root {
  --void:#04060a;
  --deep:#080c13;
  --panel:rgba(10,15,24,.90);
  --panel2:rgba(14,20,31,.95);
  --bone:#ece7d8;
  --ash:#b9b7ad;
  --brass:#b49a67;
  --green:#71e7b2;
  --blue:#7fd7ff;
  --red:#9c3944;
  --line:rgba(180,154,103,.34);
  --soft:rgba(236,231,216,.12);
  --shadow:rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--bone);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.65;
  background:
    radial-gradient(circle at 15% 5%,rgba(127,215,255,.11),transparent 30%),
    radial-gradient(circle at 85% 18%,rgba(156,57,68,.13),transparent 34%),
    linear-gradient(150deg,#03050a,#070b12 58%,#0c0910);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.20;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.5) 0 1px,transparent 1.4px),
    radial-gradient(circle,rgba(127,215,255,.32) 0 1px,transparent 1.5px);
  background-size:190px 190px,310px 310px;
  background-position:15px 26px,90px 70px;
  mix-blend-mode:screen;
}
a{color:var(--green);text-decoration:none}
a:hover,a:focus-visible{color:var(--blue);text-decoration:underline;text-underline-offset:.2em}
button{font:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.shell{width:min(1200px,calc(100% - 34px));margin-inline:auto;position:relative;z-index:2}
.skip-link{position:fixed;top:10px;left:10px;z-index:100;transform:translateY(-180%);padding:.65rem .9rem;background:var(--bone);color:var(--void);border-radius:999px}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:rgba(4,6,10,.82);backdrop-filter:blur(10px)}
.header-inner{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:22px}
.brand{display:grid;color:var(--bone)}
.brand:hover{text-decoration:none}
.brand strong{font-weight:normal;letter-spacing:.12em;text-transform:uppercase}
.brand span{color:var(--ash);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase}
.header-inner nav{display:flex;gap:16px;flex-wrap:wrap}
.header-inner nav a{font-size:.75rem;color:var(--bone);letter-spacing:.10em;text-transform:uppercase}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:clamp(60px,9vw,108px) 0 54px}
.eyebrow,.mini-label{margin:0 0 12px;color:var(--brass);font-size:.74rem;letter-spacing:.19em;text-transform:uppercase}
.hero h1{margin:0 0 22px;font-size:clamp(3rem,7vw,6.6rem);font-weight:normal;line-height:.92;letter-spacing:-.055em}
.hero h1 em{color:var(--blue);font-style:normal;text-shadow:0 0 28px rgba(127,215,255,.28)}
.lede{max-width:780px;margin:0;color:var(--ash);font-size:clamp(1.04rem,1.8vw,1.28rem)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:.7rem 1rem;border:1px solid var(--line);
  border-radius:999px;background:rgba(180,154,103,.06);color:var(--bone);cursor:pointer;
  font-size:.76rem;letter-spacing:.08em;text-transform:uppercase
}
.button:hover{border-color:var(--green);color:var(--green);text-decoration:none}
.button.primary{border-color:rgba(113,231,178,.58);background:linear-gradient(135deg,rgba(113,231,178,.14),rgba(127,215,255,.08))}
.button.small{min-height:36px;padding:.5rem .72rem;font-size:.69rem}
.mission-card,.panel{
  border:1px solid var(--line);border-radius:20px;background:var(--panel);
  box-shadow:0 24px 65px var(--shadow)
}
.mission-card{padding:28px}
.mission-card blockquote{margin:0 0 24px;padding:0;border:0;color:var(--bone);font-size:1.25rem}
.mission-card dl{display:grid;grid-template-columns:1fr auto;gap:10px 14px;margin:0}
.mission-card dt{color:var(--ash)}
.mission-card dd{margin:0;text-align:right}
.game-shell{padding-bottom:92px}
.topbar{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:1px;overflow:hidden;margin-bottom:18px}
.topbar>div{padding:16px 18px;border-right:1px solid var(--soft)}
.topbar>div:last-child{border-right:0}
.topbar strong{font-size:1.16rem;font-weight:normal}
.status-chip{display:grid;place-items:center;min-width:110px;color:var(--green);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}
.sidebar{display:grid;gap:18px;align-content:start}
.panel{overflow:hidden}
.panel-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:20px 22px;border-bottom:1px solid var(--soft)}
.panel-heading.compact{padding-bottom:14px}
.panel-heading h2{margin:0;font-size:1.5rem;font-weight:normal}
.panel-heading p:last-child{max-width:460px;margin:0;color:var(--ash);font-size:.88rem}
.star-map{
  display:grid;grid-template-columns:repeat(7,1fr);gap:1px;
  margin:20px;border:1px solid var(--soft);background:var(--soft)
}
.sector{
  position:relative;aspect-ratio:1;border:0;background:
    radial-gradient(circle at 25% 28%,rgba(255,255,255,.55) 0 1px,transparent 1.6px),
    radial-gradient(circle at 68% 72%,rgba(127,215,255,.4) 0 1px,transparent 1.5px),
    linear-gradient(145deg,#050912,#080d16);
  color:var(--ash);cursor:pointer
}
.sector:hover:not(:disabled){background:linear-gradient(145deg,#0c1320,#101a29)}
.sector:disabled{cursor:default}
.sector .coord{position:absolute;left:6px;bottom:4px;font-size:.62rem;color:rgba(185,183,173,.55)}
.sector.visited{box-shadow:inset 0 0 0 1px rgba(113,231,178,.25)}
.sector.adjacent{box-shadow:inset 0 0 0 1px rgba(127,215,255,.48)}
.sector.ship::after{
  content:"";position:absolute;inset:37%;border-radius:50%;background:var(--green);
  box-shadow:0 0 18px var(--green),0 0 0 5px rgba(113,231,178,.10)
}
.sector.anomaly::before{
  content:"";position:absolute;top:8px;right:8px;width:7px;height:7px;border:1px solid var(--brass);transform:rotate(45deg)
}
.sector.phenomenon::before{
  content:"";position:absolute;inset:24%;border:1px solid var(--red);border-radius:50%;
  box-shadow:0 0 18px rgba(156,57,68,.5)
}
.map-legend{display:flex;gap:16px;flex-wrap:wrap;padding:0 20px 18px;color:var(--ash);font-size:.75rem}
.map-legend i{display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:-1px}
.legend-ship{border-radius:50%;background:var(--green)}
.legend-seen{border:1px solid var(--green)}
.legend-anomaly{border:1px solid var(--brass);transform:rotate(45deg)}
.legend-phenomenon{border:1px solid var(--red);border-radius:50%}
.resource-panel,.crew-panel{padding-bottom:18px}
.meter-list{display:grid;gap:12px;padding:18px 20px}
.meter-row{display:grid;grid-template-columns:74px 1fr 34px;gap:9px;align-items:center;color:var(--ash);font-size:.83rem}
.meter-row b{font-weight:normal;text-align:right;color:var(--bone)}
meter{width:100%;height:10px}
.ship-actions{display:flex;gap:8px;padding:0 20px;flex-wrap:wrap}
.crew-list{display:grid;gap:10px;padding:18px 20px}
.crew-card{padding:12px;border:1px solid var(--soft);border-radius:12px;background:rgba(5,8,13,.48)}
.crew-card header{display:flex;justify-content:space-between;gap:12px}
.crew-card strong{font-weight:normal}
.crew-card small{color:var(--brass)}
.crew-card p{margin:6px 0 0;color:var(--ash);font-size:.78rem}
.crew-resolve{height:4px;margin-top:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.crew-resolve i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--brass),var(--green))}
.encounter{margin-top:18px}
.encounter-body{display:grid;grid-template-columns:340px minmax(0,1fr)}
.encounter-visual{position:relative;min-height:320px;border-right:1px solid var(--soft);background:radial-gradient(circle,rgba(127,215,255,.10),transparent 45%),#05080d}
.scope-ring{position:absolute;inset:50% auto auto 50%;border:1px solid rgba(127,215,255,.23);border-radius:50%;transform:translate(-50%,-50%)}
.ring-a{width:72%;aspect-ratio:1}
.ring-b{width:48%;aspect-ratio:1;border-color:rgba(180,154,103,.25)}
.ring-c{width:30%;aspect-ratio:1;border-color:rgba(113,231,178,.28)}
.scope-core{position:absolute;inset:50% auto auto 50%;width:12px;height:12px;border-radius:50%;background:var(--bone);box-shadow:0 0 30px var(--blue);transform:translate(-50%,-50%)}
.encounter-visual.anomaly .ring-b{transform:translate(-50%,-50%) rotate(26deg) scaleX(1.45)}
.encounter-visual.phenomenon{background:radial-gradient(circle,rgba(156,57,68,.18),transparent 52%),#04050a}
.encounter-visual.phenomenon .scope-core{background:var(--red);box-shadow:0 0 50px var(--red)}
.encounter-copy{padding:24px 26px}
.encounter-copy>p{color:var(--ash);font-size:1.03rem}
.interpretation-box{margin-top:24px;padding-top:20px;border-top:1px solid var(--soft)}
.question{color:var(--bone)!important}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.choice-grid button{padding:.8rem;border:1px solid var(--soft);border-radius:12px;background:rgba(5,8,13,.65);color:var(--bone);cursor:pointer;text-align:left}
.choice-grid button:hover{border-color:var(--blue);color:var(--blue)}
.resolution{margin-top:20px;padding:18px;border-left:3px solid var(--blue);background:rgba(127,215,255,.055)}
.resolution p{margin:0;color:var(--ash)}
.log-panel{margin-top:18px}
.mission-log{max-height:420px;overflow:auto;margin:0;padding:0 24px 22px 52px}
.mission-log li{padding:14px 0;border-bottom:1px solid var(--soft);color:var(--ash)}
.mission-log li strong{color:var(--bone);font-weight:normal}
.hidden{display:none!important}
.ending{padding:90px 0 120px;text-align:center}
.ending h2{margin:0 0 14px;font-size:clamp(2.4rem,6vw,5.6rem);font-weight:normal;letter-spacing:-.05em}
.ending-score{color:var(--blue);font-size:clamp(1.6rem,4vw,3.4rem)}
.ending-copy{max-width:820px;margin:22px auto;color:var(--ash)}
.ending blockquote{margin:52px auto 0;max-width:900px;padding:0;border:0}
.ending blockquote p{margin:0;font-size:clamp(1.8rem,4.8vw,4.5rem);line-height:1.06}
.ending blockquote p:last-child{color:var(--blue)}
.footer{border-top:1px solid var(--line);padding:34px 0;color:var(--ash)}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.noscript{position:fixed;inset:auto 1rem 1rem;z-index:100;padding:1rem;border:1px solid var(--brass);background:var(--deep);text-align:center}
@media(max-width:920px){
  .hero,.game-grid,.encounter-body{grid-template-columns:1fr}
  .encounter-visual{border-right:0;border-bottom:1px solid var(--soft)}
  .topbar{grid-template-columns:repeat(2,1fr)}
  .status-chip{min-height:56px}
}
@media(max-width:620px){
  .shell{width:min(100% - 22px,1200px)}
  .header-inner{align-items:flex-start;flex-direction:column;padding:14px 0}
  .topbar{grid-template-columns:1fr 1fr}
  .choice-grid{grid-template-columns:1fr}
  .star-map{margin:12px}
  .panel-heading{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
