/* ROVER DIVISION FIVE — base system stylesheet
   Terminal-severe. Near-black navy field, light-gray hairlines, small mono type. */

:root{
  --bg:#070a10;
  --bg-2:#0a0e16;
  --panel:#0b1019;
  --line:#1a222d;
  --line-2:#28323f;
  --ink:#c3cad3;
  --ink-hi:#e8edf2;
  --dim:#6f7a89;
  --faint:#5f6d5e;   /* dim label gray, slight phosphor-green tint */
  --live:#8bab86;      /* phosphor, used sparingly for active state */
  --warn:#b6975f;      /* muted amber, classification strip only */
  --grid:rgba(255,255,255,.020);
  --mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Roboto Mono", "Liberation Mono", monospace;
  --fs: 12px;
  --tr: .14em;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--mono);
  font-size:var(--fs);
  line-height:1.55;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
}
::selection{background:#20303c;color:var(--ink-hi)}

a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-2)}
a:hover{color:var(--ink-hi);border-color:var(--dim)}

/* ---- structural helpers ---- */
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.rule{height:1px;background:var(--line);border:0;margin:0}
.rule.strong{background:var(--line-2)}
.mono-label{font-size:10px;letter-spacing:var(--tr);text-transform:uppercase;color:var(--dim)}
.hi{color:var(--ink-hi)}
.dimmed{color:var(--dim)}

/* ---- classification strip ---- */
.class-bar{
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--bg-2),var(--bg));
}
.class-bar .wrap{
  display:flex;justify-content:center;align-items:center;gap:12px;
  height:22px;
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--warn);
}
.class-bar .tick{color:var(--faint)}

/* ---- top bar ---- */
.topbar{border-bottom:1px solid var(--line);background:var(--bg)}
.topbar .wrap{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  height:42px;
  font-size:10px;letter-spacing:var(--tr);text-transform:uppercase;color:var(--dim);
}
.topbar .seg{display:flex;align-items:center;gap:14px;white-space:nowrap;overflow:hidden}
.topbar .dot{width:5px;height:5px;border-radius:50%;background:var(--live);
  box-shadow:0 0 6px var(--live);display:inline-block;animation:pulse 2.4s infinite ease-in-out}
.topbar .utc{color:var(--ink)}
.topbar a.home{border:0;color:inherit;text-decoration:none;cursor:pointer}
.topbar a.home:hover .dimmed{color:var(--ink-hi)}

@keyframes pulse{0%,100%{opacity:.35}50%{opacity:1}}

/* ---- footer ---- */
.foot{border-top:1px solid var(--line);margin-top:64px}
.foot .wrap{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;
  padding-top:16px;padding-bottom:40px;
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);
}
.foot a{border:0;color:var(--faint)}
.foot a:hover{color:var(--dim)}

/* =====================================================================
   HOME
   ===================================================================== */
.hero{padding:64px 0 40px}
.hero .kicker{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--dim);margin:0 0 18px}
.hero h1{
  margin:0;font-weight:400;
  font-size:22px;letter-spacing:.30em;text-transform:uppercase;color:var(--ink-hi);
  line-height:1.25;
}
.hero h1 .paren{color:var(--dim);letter-spacing:.18em}
.hero .about{
  max-width:64ch;margin:24px 0 0;color:var(--ink);
  font-size:12.5px;line-height:1.75;letter-spacing:.012em;
}
.hero .meta-row{
  display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:26px;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
}
.hero .meta-row b{color:var(--ink);font-weight:400}

/* ---- section head ---- */
.sec-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:12px 0;border-bottom:1px solid var(--line);
}
.sec-head .t{font-size:10px;letter-spacing:var(--tr);text-transform:uppercase;color:var(--ink)}
.sec-head .n{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.sec{margin-top:52px}

/* ---- clocks ---- */
.clocks{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:18px}
.clock{background:var(--bg);padding:18px 16px 16px;min-height:120px;position:relative}
.clock .city{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.clock .time{font-size:26px;letter-spacing:.04em;color:var(--ink-hi);margin:14px 0 2px;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.clock .sub{display:flex;justify-content:space-between;gap:10px;
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.clock .sub .z{color:var(--live)}
.clock .date{margin-top:12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.clock::after{content:"";position:absolute;top:14px;right:14px;width:4px;height:4px;
  background:var(--faint)}

/* ---- map ---- */
.mapbox{position:relative;margin-top:18px;border:1px solid var(--line);background:var(--bg-2);
  overflow:hidden}
.mapbox canvas{display:block;width:100%;height:auto}
.mapbox .overlay{position:absolute;inset:0;pointer-events:none}
.mapbox .corner{position:absolute;font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);padding:8px 10px}
.corner.tl{top:0;left:0}.corner.tr{top:0;right:0;text-align:right}
.corner.bl{bottom:0;left:0}.corner.br{bottom:0;right:0;text-align:right}
.marker{position:absolute;transform:translate(-50%,-50%)}
.marker .ring{position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%);
  border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live)}
.marker .ring::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;
  border-radius:50%;border:1px solid var(--live);transform:translate(-50%,-50%);
  animation:ping 2.8s infinite ease-out}
.marker .lab{position:absolute;left:12px;top:-6px;white-space:nowrap;
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  text-shadow:0 0 6px var(--bg),0 0 6px var(--bg)}
.marker .lab i{display:block;color:var(--faint);font-style:normal;letter-spacing:.1em}
@keyframes ping{0%{opacity:.9;width:7px;height:7px}70%,100%{opacity:0;width:26px;height:26px}}

/* ---- ledger / register table ---- */
.ledger{width:100%;border-collapse:collapse;margin-top:18px;font-size:11px}
.ledger th,.ledger td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);
  letter-spacing:.06em;vertical-align:top}
.ledger th{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);
  border-bottom:1px solid var(--line-2);font-weight:400}
.ledger td{color:var(--dim)}
.ledger td.ref{color:var(--ink);white-space:nowrap}
.ledger tr:hover td{background:var(--bg-2)}
.ledger a.rl{border:0;color:inherit;text-decoration:none;cursor:pointer}   /* cloaked live link */
.ledger a.rl:hover{color:var(--live)}
.ledger .st{font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.ledger .st.a{color:var(--live)}
.ledger .st.s{color:var(--warn)}
.redact{display:inline-block;background:var(--line-2);color:transparent;
  border-radius:1px;user-select:none;line-height:1;padding:0 2px;
  box-shadow:inset 0 0 0 1px var(--line)}
.redact::selection{background:var(--line-2)}

/* =====================================================================
   DOCUMENT PAGES (support / privacy — app-store required)
   ===================================================================== */
.doc-head{border-bottom:1px solid var(--line);padding:40px 0 22px}
.doc-head .kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);margin:0}
.doc-head h1{margin:14px 0 0;font-weight:400;font-size:17px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-hi)}
.doc-head .sub{margin:12px 0 0;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}

.doc{max-width:80ch;padding:34px 0 8px;font-size:12.5px;line-height:1.8;color:var(--ink)}
.doc h2{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-hi);
  margin:38px 0 4px;padding-top:20px;border-top:1px solid var(--line);font-weight:400}
.doc h3{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--live);
  margin:22px 0 2px;font-weight:400}
.doc p{margin:10px 0;color:var(--ink)}
.doc a{color:var(--ink-hi)}
.doc ul{margin:10px 0;padding:0;list-style:none}
.doc li{position:relative;padding:3px 0 3px 20px;color:var(--ink)}
.doc li::before{content:"—";position:absolute;left:0;color:var(--faint)}
.doc .contact{margin-top:14px;color:var(--ink-hi);letter-spacing:.06em}
.doc .lead{color:var(--dim);font-size:12px}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:820px){
  .clocks{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:17px;letter-spacing:.22em}
  .clock .time{font-size:22px}
}
@media (max-width:520px){
  .wrap{padding:0 18px}
  .topbar .seg.center{display:none}
  .clocks{grid-template-columns:1fr}
  .ledger .col-th{display:none}
}
