:root {
  --bg:#050810; --panel:#0c1220; --panel2:#111a2b; --border:#1a2540;
  --cyan:#22d3ee; --mint:#34d399; --amber:#fbbf24; --red:#f87171;
  --text:#c9d4e3; --dim:#6b7a94;
  --sans:-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono","SF Mono",Menlo,Consolas,monospace;
}
* { box-sizing:border-box; }
html,body { margin:0; background:var(--bg); color:var(--text);
  font-family:var(--sans); line-height:1.6; }
a { color:var(--cyan); text-decoration:none; }
a:hover { text-decoration:underline; }
.mono { font-family:var(--mono); }

header.site {
  display:flex; align-items:center; gap:14px; padding:16px 24px;
  border-bottom:1px solid var(--border); background:var(--panel);
}
header.site img { height:30px; }
header.site .brand { font-family:var(--mono); letter-spacing:3px;
  font-size:15px; color:#fff; }
header.site nav { margin-left:auto; font-family:var(--mono); font-size:13px; }
header.site nav a { color:var(--text); margin-left:22px; }
header.site nav a:hover { color:var(--cyan); text-decoration:none; }

main { max-width:960px; margin:0 auto; padding:36px 24px 64px; }
footer.site {
  border-top:1px solid var(--border); background:var(--panel);
  padding:18px 24px; font-family:var(--mono); font-size:12px; color:var(--dim);
  display:flex; gap:24px; flex-wrap:wrap;
}
footer.site a { color:var(--dim); }
footer.site a:hover { color:var(--cyan); }

/* landing */
h1.mission { font-size:clamp(22px,4vw,34px); font-weight:600; color:#fff;
  max-width:720px; line-height:1.3; }
h1.mission .accent { color:var(--cyan); }
.doors { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px; margin-top:36px; }
.door {
  display:block; background:var(--panel); border:1px solid var(--border);
  border-radius:8px; padding:20px 22px; color:var(--text);
}
.door:hover { border-color:var(--cyan); text-decoration:none;
  background:var(--panel2); }
.door .d-title { font-family:var(--mono); font-size:14px; letter-spacing:2px;
  color:#fff; }
.door .d-sub { font-size:13px; color:var(--dim); margin-top:6px; }
.door.d-map .d-title { color:var(--cyan); }
.door.d-analysis .d-title { color:var(--mint); }
.door.d-about .d-title { color:var(--amber); }

.stats {
  margin-top:36px; border:1px solid var(--border); background:var(--panel);
  border-radius:8px; padding:14px 18px;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px;
  font-family:var(--mono); font-size:13px;
}
.stat .k { color:var(--dim); font-size:11px; letter-spacing:1px; }
.stat .v { font-size:20px; color:#fff; }
.stat .t { font-size:10px; color:var(--dim); }
.stat.s-events .v { color:var(--cyan); }
.stat.s-flights .v { color:var(--cyan); }
.stat.s-ships .v { color:var(--amber); }
.stat.s-fires .v { color:var(--red); }

/* content pages */
h2.page { font-family:var(--mono); font-size:18px; letter-spacing:2px;
  color:#fff; border-bottom:1px solid var(--border); padding-bottom:10px; }
.article {
  display:block; background:var(--panel); border:1px solid var(--border);
  border-radius:8px; padding:18px 22px; margin-top:18px; color:var(--text);
}
.article:hover { border-color:var(--mint); text-decoration:none; }
.article .a-date { font-family:var(--mono); font-size:12px; color:var(--dim); }
.article .a-title { font-size:17px; color:#fff; margin-top:4px; }
.article.draft .a-title { color:var(--amber); }
