:root {
  --bg:#03070b; --panel:#07111a; --panel2:#0b1721; --line:#24465a;
  --blue:#67b8e6; --blue2:#1c6f99; --text:#eaf3f8; --muted:#8fa4b0;
  --red:#b63c47; --red2:#4b141b;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;
  background:
    radial-gradient(circle at 85% 5%,rgba(47,120,163,.12),transparent 28rem),
    linear-gradient(180deg,#03070b,#050b10 58%,#020407);
}
button{font:inherit}
.shell{width:min(1180px,calc(100% - 28px));margin:18px auto 36px}
.panel{position:relative;overflow:hidden;border:1px solid rgba(94,155,188,.25);
  background:linear-gradient(180deg,rgba(7,17,26,.97),rgba(3,9,14,.985));
  border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.hero{min-height:520px;padding:38px 38px 30px}
.hero::after{content:"";position:absolute;right:0;top:0;width:34%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(134,34,44,.06));pointer-events:none}
.hero-art,.page-art{position:absolute;inset:0;pointer-events:none;opacity:.085}
.hero-art svg,.page-art svg{width:100%;height:100%}
.kicker{font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.22em;
  text-transform:uppercase;color:#72a8c9}
.title{font:700 clamp(42px,7vw,78px)/.88 Georgia,serif;letter-spacing:-.04em;margin:14px 0 0}
.subtitle{width:min(720px,100%);font-size:16px;line-height:1.65;color:#a2b4be;margin:22px 0 0}
.quote{font:italic 18px/1.5 Georgia,serif;border-left:2px solid var(--red);
  padding-left:15px;margin:22px 0 0;color:#dbe7ed}
.sigil-strip{position:relative;z-index:3;margin-top:28px;border:1px solid rgba(94,155,188,.28);
  background:rgba(3,9,14,.72);border-radius:14px;padding:12px;overflow:hidden}
.sigil-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 10px}
.sigil-meta{font:600 10px ui-monospace,monospace;letter-spacing:.12em;color:#678697}
.sigil-video-wrap{position:relative;background:#000;border-radius:10px;overflow:hidden;height:180px;
  border:1px solid rgba(82,154,191,.16)}
.sigil-video{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.sigil-video-wrap::before,.sigil-video-wrap::after{content:"";position:absolute;top:0;bottom:0;width:13%;z-index:2;pointer-events:none}
.sigil-video-wrap::before{left:0;background:linear-gradient(90deg,#000,transparent)}
.sigil-video-wrap::after{right:0;background:linear-gradient(-90deg,#000,transparent)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.chip{font:700 10px ui-monospace,monospace;letter-spacing:.07em;padding:8px 10px;border-radius:999px;
  border:1px solid rgba(96,161,197,.3);color:#a1cee7;background:rgba(13,42,58,.52)}
.chip.red{border-color:rgba(188,64,75,.44);background:rgba(76,17,24,.38);color:#ffadb4}

.archive-shell{margin-top:14px}
.nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px;border-bottom:1px solid rgba(94,155,188,.18);
  background:rgba(2,7,11,.94);position:relative;z-index:5}
.nav button{min-height:46px;border:1px solid rgba(91,149,181,.2);background:#08131b;color:#90a9b7;
  border-radius:9px;font:700 12px ui-monospace,monospace;letter-spacing:.08em;cursor:pointer}
.nav button.active{background:#102d40;color:#f0faff;border-color:#5897bb}
.page{display:none;min-height:500px;padding:22px;position:relative}
.page.active{display:block}
.grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;position:relative;z-index:2}
.card{background:rgba(5,15,23,.87);border:1px solid rgba(94,155,188,.18);border-radius:12px;padding:18px;backdrop-filter:blur(1.5px)}
.card h2{font-size:19px;margin:5px 0 0}
.card p{color:#93a6b1;line-height:1.58;font-size:14px}
.records{display:grid;gap:9px;margin-top:15px}
.record{text-align:left;width:100%;padding:12px;border-radius:9px;border:1px solid rgba(93,151,182,.16);
  background:rgba(7,20,29,.9);color:#adbfca;cursor:pointer}
.record strong{display:block;color:#f0f6f9;margin-bottom:4px}
.record small{font:10px ui-monospace,monospace;color:#708997;letter-spacing:.06em}
.record.selected{border-color:#5fa2c7;background:#0d2737}
.warning{margin-top:12px;border:1px solid rgba(179,57,67,.4);background:rgba(81,17,23,.28);color:#ffaab1;
  padding:10px 12px;border-radius:8px;font:12px ui-monospace,monospace}
.books{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.book{border:1px solid rgba(91,149,181,.18);background:#091620;border-radius:9px;padding:12px}
.book small{font:9px ui-monospace,monospace;letter-spacing:.12em;color:#719bb4;text-transform:uppercase}
.book strong{display:block;margin-top:7px;font-size:13px}
.book span{display:block;margin-top:4px;color:#8195a1;font-size:11px}

.signalbox{height:190px;display:flex;align-items:flex-end;gap:5px;background:#02070a;border:1px solid rgba(91,149,181,.2);
  padding:15px;border-radius:10px;margin-top:15px}
.bar{flex:1;min-width:4px;background:linear-gradient(180deg,#63bce9,#143a50);border-radius:3px 3px 0 0;transition:.32s}
.controls{display:flex;gap:9px;margin-top:11px}
.controls button{min-height:42px;border-radius:8px;padding:0 13px;font-weight:800;cursor:pointer}
.run{background:#0c3044;border:1px solid #4d94bb;color:#eaf9ff}
.reset{background:#351318;border:1px solid #8a3039;color:#ffd8dc}
.terminal{min-height:160px;margin-top:14px;padding:14px;background:#010508;border:1px solid rgba(91,149,181,.17);
  border-radius:10px;white-space:pre-line;color:#8fc3e0;font:12px/1.68 ui-monospace,monospace}

.shipbox{border:1px solid rgba(91,149,181,.18);background:rgba(2,8,12,.9);border-radius:12px;padding:12px}
.shipbox svg{width:100%;height:auto;display:block}
.hotspots{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hotspot{border:1px solid rgba(91,149,181,.2);background:#081823;color:#9db6c3;border-radius:8px;padding:9px 11px;cursor:pointer}
.hotspot.active{background:#12354a;border-color:#5da3cc;color:white}
.vessel-hero{
  position:relative;
  height:330px;
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(91,149,181,.18);
  background:#02070b;
}
.vessel-hero img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
  filter:saturate(.88) contrast(1.03) brightness(.86);
}
.vessel-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 55px rgba(1,6,10,.72);
  background:linear-gradient(180deg,rgba(2,8,12,.02),rgba(2,8,12,.16));
}
.zone{
  position:absolute;
  z-index:3;
  border:1px solid transparent;
  background:transparent;
  border-radius:12px;
  opacity:0;
  transition:opacity .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease;
  pointer-events:none;
}
.zone.active{
  opacity:1;
  border-color:rgba(105,197,244,.92);
  background:radial-gradient(circle at center,rgba(55,164,221,.23),rgba(21,96,134,.08) 68%,transparent 72%);
  box-shadow:0 0 24px rgba(52,170,229,.34), inset 0 0 25px rgba(74,185,236,.12);
}
.zone.active.warn{
  border-color:rgba(224,80,90,.9);
  background:radial-gradient(circle at center,rgba(197,47,59,.20),rgba(98,21,28,.08) 68%,transparent 72%);
  box-shadow:0 0 24px rgba(207,49,61,.26), inset 0 0 25px rgba(207,49,61,.10);
}
/* approximate highlight envelopes over the accepted 3/4 presentation image */
.zone.bridge{left:2%;top:29%;width:27%;height:45%}
.zone.docking{left:29%;top:14%;width:18%;height:32%}
.zone.ops{left:25%;top:30%;width:34%;height:42%}
.zone.pods{left:54%;top:24%;width:25%;height:50%}
.zone.aft{left:68%;top:17%;width:20%;height:48%}
.zone.engines{left:81%;top:17%;width:18%;height:46%}
.vessel-caption{
  position:absolute;
  left:12px;
  bottom:10px;
  z-index:4;
  padding:6px 9px;
  border-radius:7px;
  background:rgba(2,8,12,.76);
  border:1px solid rgba(104,176,216,.22);
  color:#9fcbe3;
  font:700 10px ui-monospace,monospace;
  letter-spacing:.08em;
}
.vessel-ops{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.vessel-ops .hotspot{
  flex:1 1 auto;
  min-width:105px;
}
.detail-slot{
  margin-top:14px;
  min-height:128px;
  border:1px dashed rgba(95,157,191,.34);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(17,47,64,.34),rgba(3,9,14,.72)),
    repeating-linear-gradient(90deg,transparent 0 31px,rgba(90,153,186,.035) 32px),
    repeating-linear-gradient(0deg,transparent 0 31px,rgba(90,153,186,.035) 32px);
}
.detail-slot::before{
  content:"DETAIL IMAGE SLOT";
  color:#607c8d;
  font:700 10px ui-monospace,monospace;
  letter-spacing:.16em;
}
.detail-slot[data-loaded="true"]::before{display:none}
.detail-slot img{
  display:none;
  width:100%;
  height:100%;
  object-fit:cover;
}
.detail-slot[data-loaded="true"] img{display:block}
.vessel-helper{
  margin-top:8px;
  color:#688494;
  font:10px/1.45 ui-monospace,monospace;
  letter-spacing:.04em;
}
@media(max-width:760px){
  .vessel-hero{height:245px}
}


.timeline{display:grid;gap:10px;margin-top:15px}
.event{display:grid;grid-template-columns:105px 1fr;gap:13px;padding:13px 14px;background:rgba(7,22,31,.78);
  border-left:2px solid #3a7798}
.event.red{border-left-color:var(--red)}
.when{font:700 10px ui-monospace,monospace;letter-spacing:.08em;color:#7eb8d7}
.event strong{display:block;margin-bottom:4px}
.event p{margin:0;color:#8fa4b0;font-size:13px;line-height:1.5}

footer{padding:18px 4px 0;color:#57707f;font:10px ui-monospace,monospace;letter-spacing:.08em;text-align:center}
@media(max-width:760px){
  .hero{padding:25px 20px;min-height:unset}
  .sigil-video-wrap{height:135px}
  .nav{grid-template-columns:repeat(2,1fr)}
  .grid,.books{grid-template-columns:1fr}
  .page{padding:14px}
  .event{grid-template-columns:1fr}
}

/* ===== Archive evolution: story serials, books, signup ===== */
.archive-stack{display:grid;gap:14px;position:relative;z-index:3;margin-top:14px}
.section-card{background:rgba(5,15,23,.87);border:1px solid rgba(94,155,188,.18);border-radius:12px;padding:18px;backdrop-filter:blur(1.5px)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.section-head h2{margin:5px 0 0;font-size:19px}
.section-head p{margin:4px 0 0;color:#8fa4b0;font-size:13px;line-height:1.5;max-width:720px}

.story-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.story-tab{min-height:38px;padding:0 12px;border-radius:8px;border:1px solid rgba(91,149,181,.2);background:#08131b;color:#8fa9b7;font:700 11px ui-monospace,monospace;letter-spacing:.07em;cursor:pointer}
.story-tab.active{background:#102d40;color:#f0faff;border-color:#5897bb}

.story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.episode-card{position:relative;min-height:188px;border:1px solid rgba(91,149,181,.18);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,rgba(9,24,34,.96),rgba(4,10,15,.98));padding:14px;display:flex;flex-direction:column}
.episode-card::after{content:"";position:absolute;right:-28px;bottom:-28px;width:110px;height:110px;border:1px solid rgba(83,153,190,.12);border-radius:50%}
.episode-card .ep-no{font:700 9px ui-monospace,monospace;letter-spacing:.14em;color:#6c91a7;text-transform:uppercase}
.episode-card h3{font-size:15px;margin:8px 0 6px;line-height:1.25}
.episode-card p{font-size:12px;line-height:1.45;color:#8297a3;margin:0 0 12px}
.episode-status{display:inline-flex;width:max-content;padding:5px 7px;border-radius:999px;font:700 9px ui-monospace,monospace;letter-spacing:.08em;border:1px solid rgba(93,154,186,.22);color:#88b6cf;background:rgba(14,44,59,.36)}
.episode-status.red{border-color:rgba(179,57,67,.38);background:rgba(81,17,23,.26);color:#f29ba3}
.episode-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;position:relative;z-index:2}
.mini-btn{min-height:34px;padding:0 10px;border-radius:7px;border:1px solid rgba(91,149,181,.2);background:#091722;color:#9fb7c3;font:700 10px ui-monospace,monospace;letter-spacing:.05em;cursor:pointer}
.mini-btn.primary{border-color:#4d94bb;background:#0c3044;color:#eaf9ff}
.mini-btn.booklink{border-color:rgba(179,57,67,.34);background:rgba(60,17,23,.34);color:#efb4b9}

.books-market{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.market-book{border:1px solid rgba(91,149,181,.18);border-radius:10px;background:linear-gradient(180deg,rgba(10,27,39,.96),rgba(5,12,18,.98));padding:15px;min-height:205px;display:flex;flex-direction:column}
.market-book .volume{font:700 9px ui-monospace,monospace;letter-spacing:.14em;color:#6f9db8;text-transform:uppercase}
.market-book h3{font-size:16px;margin:8px 0 5px}
.market-book p{font-size:12px;line-height:1.5;color:#8399a6;margin:0 0 12px}
.market-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}
.market-actions a,.market-actions button{min-height:36px;padding:0 10px;border-radius:7px;border:1px solid rgba(91,149,181,.22);background:#091722;color:#9fb7c3;font:700 10px ui-monospace,monospace;letter-spacing:.05em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.market-actions .buy{background:#102d40;color:#effaff;border-color:#4f91b8}
.market-actions .paper{border-color:rgba(179,57,67,.36);background:rgba(67,18,24,.33);color:#f0b7bc}

.signup-card{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;background:
radial-gradient(circle at 82% 30%,rgba(48,135,181,.14),transparent 18rem),
linear-gradient(180deg,rgba(7,19,29,.97),rgba(4,10,15,.98));border:1px solid rgba(94,155,188,.22);border-radius:12px;padding:18px;position:relative;overflow:hidden}
.signup-card::after{content:"";position:absolute;right:0;top:0;width:6px;height:100%;background:linear-gradient(180deg,transparent,#9a303a,transparent);opacity:.55}
.signup-copy h2{margin:6px 0 8px;font-size:20px}
.signup-copy p{margin:0;color:#8fa4b0;font-size:13px;line-height:1.55}
.signup-form{display:grid;gap:8px}
.signup-form label{font:700 10px ui-monospace,monospace;letter-spacing:.08em;color:#7597aa}
.signup-form input[type="email"]{height:44px;border-radius:8px;border:1px solid rgba(91,149,181,.3);background:#02080c;color:#edf7fb;padding:0 12px;outline:none}
.signup-form input[type="email"]:focus{border-color:#5ca5cc;box-shadow:0 0 0 3px rgba(72,154,198,.12)}
.signup-form button{height:42px;border-radius:8px;border:1px solid #4d94bb;background:#0c3044;color:#ecfaff;font-weight:800;cursor:pointer}
.signup-check{display:flex;gap:8px;align-items:flex-start;color:#6f8795;font-size:10px;line-height:1.35}
.signup-check input{margin-top:2px}
.signup-result{min-height:16px;color:#8dc7e7;font:10px ui-monospace,monospace;letter-spacing:.04em}
.config-note{margin-top:8px;color:#536f7f;font:9px ui-monospace,monospace;letter-spacing:.04em}

.archive-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.preview-pane{border:1px solid rgba(91,149,181,.18);border-radius:10px;min-height:150px;padding:14px;background:rgba(2,8,12,.82)}
.preview-pane h3{margin:4px 0 8px;font-size:15px}
.preview-pane p{margin:0;color:#8297a3;font-size:12px;line-height:1.5}
.preview-media{display:flex;align-items:center;justify-content:center;text-align:center;color:#5f7d8d;font:700 10px ui-monospace,monospace;letter-spacing:.12em;
background:repeating-linear-gradient(135deg,rgba(74,134,164,.035) 0 12px,transparent 12px 24px),rgba(2,8,12,.88)}

@media(max-width:920px){
  .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signup-card{grid-template-columns:1fr}
}
@media(max-width:760px){
  .story-grid,.books-market,.archive-preview{grid-template-columns:1fr}
}

/* ===== v0.2 public-site polish ===== */
.skip-link{
  position:fixed;
  left:12px;
  top:-60px;
  z-index:9999;
  padding:10px 12px;
  border-radius:8px;
  background:#102d40;
  color:#fff;
  border:1px solid #5897bb;
  text-decoration:none;
  font:700 11px ui-monospace,monospace;
  transition:top .15s ease;
}
.skip-link:focus{top:12px}

button:focus-visible,
a:focus-visible,
input:focus-visible{
  outline:2px solid #67b8e6;
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}
