:root {
  --pink: #ff2d95;
  --pink-hot: #ff4db8;
  --pink-dim: #c4186e;
  --black: #0a0a0b;
  --ink: #121214;
  --card: #16161a;
  --border: #2a2a32;
  --text: #f5f5f7;
  --muted: #9a9aa3;
  --ok: #3ddc97;
  --warn: #ffc857;
  --danger: #ff5c7a;
  --radius: 14px;
  --font: "Segoe UI", system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  font-family: var(--font);
  background: var(--black);
  color: var(--text);
  line-height: 1.5;
}

.bg-grid {
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255,45,149,.25), transparent 60%),
    linear-gradient(rgba(255,45,149,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,45,149,.04) 1px, transparent 1px);
  background-size: auto, 48px 48px, 48px 48px;
}

.topbar, .app, .footer { position: relative; z-index: 1; }

.topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--border);
  background: rgba(10,10,11,.85);
  backdrop-filter: blur(10px);
  position: sticky; top: 0;
}
.brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--text); }
.brand-avatar { width: 42px; height: 42px; border-radius: 50%; border: 2px solid var(--pink); object-fit: cover; }
.brand-name { font-weight: 800; letter-spacing: .02em; font-size: 1.15rem; }
.brand-name .crown { color: var(--pink); position: relative; }
.brand-name .crown::after {
  content: "♔"; font-size: .45em; position: absolute; top: -.85em; left: 50%;
  transform: translateX(-50%); color: var(--pink-hot);
}
.nav { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
.nav a { color: var(--muted); text-decoration: none; font-weight: 600; }
.nav a:hover, .nav a.active { color: var(--pink); }

.app { max-width: 960px; margin: 0 auto; padding: 1.5rem; min-height: 70vh; }
.footer { text-align: center; padding: 2rem 1rem; color: var(--muted); border-top: 1px solid var(--border); }
.footer .muted { font-size: .85rem; }
.hidden { display: none !important; }

.hero {
  display: grid; gap: 1.5rem;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  margin-bottom: 2rem;
}
@media (max-width: 760px) { .hero { grid-template-columns: 1fr; } }
.hero-copy h1 {
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  margin: 0 0 .75rem;
  line-height: 1.15;
}
.hero-copy h1 span { color: var(--pink); }
.tagline { color: var(--muted); font-size: 1.05rem; margin: 0 0 1.25rem; }
.splash {
  width: 100%; border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: 0 0 40px rgba(255,45,149,.2);
  display: block;
}

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem 1.35rem;
  margin-bottom: 1rem;
}
.card h2, .card h3 { margin-top: 0; }
.card.accent { border-color: var(--pink-dim); box-shadow: inset 0 0 0 1px rgba(255,45,149,.15); }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 640px) { .grid-2 { grid-template-columns: 1fr; } }

label { display: block; font-size: .85rem; color: var(--muted); margin-bottom: .35rem; font-weight: 600; }
input, select, textarea {
  width: 100%; padding: .7rem .85rem; margin-bottom: .9rem;
  border-radius: 10px; border: 1px solid var(--border);
  background: var(--ink); color: var(--text); font: inherit;
}
input:focus, select:focus { outline: 2px solid var(--pink); border-color: transparent; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .7rem 1.1rem; border-radius: 999px; border: none;
  font-weight: 700; cursor: pointer; font: inherit; text-decoration: none;
  background: var(--pink); color: #fff;
  transition: transform .12s ease, box-shadow .12s ease;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(255,45,149,.35); }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.btn.ghost { background: transparent; color: var(--pink); border: 1px solid var(--pink-dim); }
.btn.secondary { background: var(--ink); border: 1px solid var(--border); color: var(--text); }
.btn.block { width: 100%; }
.btn-row { display: flex; flex-wrap: wrap; gap: .6rem; }

.badge {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .25rem .65rem; border-radius: 999px;
  font-size: .8rem; font-weight: 700; letter-spacing: .02em;
}
.badge.ok { background: rgba(61,220,151,.15); color: var(--ok); }
.badge.off { background: rgba(255,92,122,.15); color: var(--danger); }
.badge.trial { background: rgba(255,200,87,.15); color: var(--warn); }
.badge.pink { background: rgba(255,45,149,.18); color: var(--pink-hot); }

.table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.table th, .table td { text-align: left; padding: .65rem .4rem; border-bottom: 1px solid var(--border); }
.table th { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85rem; word-break: break-all; }

.plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.plan {
  background: var(--card); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 1.25rem; display: flex; flex-direction: column; gap: .75rem;
}
.plan.featured { border-color: var(--pink); box-shadow: 0 0 0 1px var(--pink), 0 0 30px rgba(255,45,149,.2); }
.plan .price { font-size: 2rem; font-weight: 800; }
.plan .price small { font-size: .9rem; color: var(--muted); font-weight: 600; }
.provider-btns { display: flex; flex-direction: column; gap: .5rem; margin-top: auto; }

.msg { padding: .75rem 1rem; border-radius: 10px; margin: .75rem 0; font-size: .92rem; }
.msg.error { background: rgba(255,92,122,.12); border: 1px solid var(--danger); color: #ffc0cb; }
.msg.ok { background: rgba(61,220,151,.12); border: 1px solid var(--ok); color: #b8f5d8; }
.msg.info { background: rgba(255,45,149,.1); border: 1px solid var(--pink-dim); }

.tabs { display: flex; gap: .5rem; margin-bottom: 1rem; }
.tabs button {
  background: transparent; border: 1px solid var(--border); color: var(--muted);
  padding: .5rem 1rem; border-radius: 999px; cursor: pointer; font-weight: 700;
}
.tabs button.active { border-color: var(--pink); color: var(--pink); }

.crypto-box {
  background: var(--ink); border: 1px dashed var(--pink-dim);
  border-radius: 12px; padding: 1rem; margin-top: .75rem;
}

/* --- Scan progress + position report cards --- */
.scan-progress-bar {
  height: 6px;
  border-radius: 999px;
  background: var(--ink);
  border: 1px solid var(--border);
  overflow: hidden;
  margin-top: .5rem;
}
.scan-progress-pulse {
  display: block;
  height: 100%;
  width: 40%;
  background: linear-gradient(90deg, transparent, var(--pink), transparent);
  animation: scan-pulse 1.2s ease-in-out infinite;
}
@keyframes scan-pulse {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(350%); }
}
.scan-progress-label { margin: .5rem 0 0; font-size: .9rem; }

.position-list { display: flex; flex-direction: column; gap: .85rem; margin-bottom: 1rem; }
.position-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.1rem 1.25rem;
  box-shadow: inset 0 0 0 1px rgba(255,45,149,.08);
}
.position-card-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 1rem; flex-wrap: wrap; margin-bottom: .85rem;
}
.position-card-head .badge { margin-right: .35rem; }
.position-card-head .badge:not(.pink):not(.ok):not(.off):not(.trial) {
  background: rgba(255,255,255,.06); color: var(--muted);
}

.live-hf {
  text-align: right;
  padding: .45rem .75rem;
  border-radius: 12px;
  background: rgba(255,45,149,.12);
  border: 1px solid var(--pink-dim);
  min-width: 7.5rem;
}
.live-hf-label {
  display: block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--pink-hot);
}
.live-hf-value {
  font-size: 1.45rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.live-hf.hf-ok { border-color: rgba(61,220,151,.45); background: rgba(61,220,151,.1); }
.live-hf.hf-ok .live-hf-label, .live-hf.hf-ok .live-hf-value { color: var(--ok); }
.live-hf.hf-warn { border-color: rgba(255,200,87,.5); background: rgba(255,200,87,.1); }
.live-hf.hf-warn .live-hf-label, .live-hf.hf-warn .live-hf-value { color: var(--warn); }
.live-hf.hf-danger { border-color: rgba(255,92,122,.55); background: rgba(255,92,122,.12); }
.live-hf.hf-danger .live-hf-label, .live-hf.hf-danger .live-hf-value { color: var(--danger); }

.position-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: .65rem;
}
@media (max-width: 520px) { .position-grid { grid-template-columns: 1fr; } }
.tiny { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }

.notes-card h4 { margin: 0 0 .5rem; color: var(--pink-hot); }
.notes-list { margin: 0; padding-left: 1.15rem; color: var(--muted); }
.notes-list li { margin-bottom: .35rem; }

/* ========== Marketing landing — War Room energy ========== */
.app.landing-wide {
  max-width: 1100px;
}

.ticker-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  height: 36px;
  background: linear-gradient(90deg, rgba(255,45,149,.14), rgba(124,92,255,.08), rgba(255,45,149,.14));
  border-bottom: 1px solid rgba(255,45,149,.35);
  overflow: hidden;
  padding: 0 12px;
}
.ticker-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  color: var(--pink-hot);
  background: rgba(255,45,149,.14);
  border: 1px solid rgba(255,45,149,.45);
  padding: 3px 8px;
  border-radius: 4px;
  animation: pulse-live 1.6s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes pulse-live {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,45,149,.45); }
  50% { box-shadow: 0 0 12px 2px rgba(255,45,149,.35); }
}
.ticker-track {
  flex: 1;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.ticker-inner {
  display: inline-flex;
  gap: 36px;
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  will-change: transform;
  animation: tape 42s linear infinite;
}
.ticker-inner .tick {
  display: inline-flex;
  gap: 8px;
  align-items: baseline;
}
.ticker-inner .sym { color: var(--muted); letter-spacing: .06em; }
.ticker-inner .px { color: var(--text); font-weight: 600; }
.ticker-inner .chg-up { color: var(--ok); font-size: 10px; }
.ticker-inner .chg-dn { color: var(--danger); font-size: 10px; }
.ticker-inner .live-tag {
  color: var(--ok);
  font-size: 9px;
  letter-spacing: .1em;
}
@keyframes tape {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.ticker-meta {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  color: var(--muted);
  flex-shrink: 0;
}

.landing-hero {
  display: grid;
  gap: 1.75rem;
  grid-template-columns: 1.15fr .85fr;
  align-items: center;
  margin-bottom: 1.5rem;
}
@media (max-width: 860px) {
  .landing-hero { grid-template-columns: 1fr; }
}
.landing-kicker {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--pink-hot);
  margin: 0 0 .5rem;
}
.landing-hero h1 {
  font-size: clamp(2rem, 4.5vw, 3rem);
  margin: 0 0 .75rem;
  line-height: 1.1;
}
.landing-hero h1 span { color: var(--pink); }
.wallet-cta-card {
  background: rgba(22,22,26,.78);
  border: 1px solid rgba(255,45,149,.35);
  border-radius: var(--radius);
  padding: 1.15rem 1.25rem;
  box-shadow: 0 0 40px rgba(255,45,149,.12), inset 0 0 0 1px rgba(255,45,149,.1);
  backdrop-filter: blur(12px);
}
.wallet-cta-card form {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
  margin: 0;
}
.wallet-cta-card input {
  flex: 1 1 220px;
  margin-bottom: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.wallet-cta-card .btn { flex: 0 0 auto; }
.wallet-cta-hint {
  margin: .65rem 0 0;
  font-size: .82rem;
  color: var(--muted);
}

.glass {
  background: rgba(18,18,24,.72);
  border: 1px solid rgba(255,45,149,.22);
  border-radius: var(--radius);
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 32px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.03);
}

.activity-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin: 0 0 .85rem;
  flex-wrap: wrap;
}
.activity-head h2 {
  margin: 0;
  font-size: 1.05rem;
  letter-spacing: .04em;
}
.activity-head .pulse-dot {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ok);
  margin-right: .4rem;
  box-shadow: 0 0 8px var(--ok);
  animation: pulse-live 1.4s ease-in-out infinite;
}

.teaser-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .85rem;
  margin-bottom: 1.5rem;
}
.teaser-card {
  padding: 1rem 1.1rem;
  position: relative;
  overflow: hidden;
}
.teaser-card .addr {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .82rem;
  color: var(--pink-hot);
  margin-bottom: .35rem;
}
.teaser-card .metric-row {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  font-size: .85rem;
  margin-top: .25rem;
}
.teaser-card .metric-row span { color: var(--muted); }
.teaser-card .metric-row b { font-variant-numeric: tabular-nums; }
.teaser-card .scan-tag {
  position: absolute;
  top: .65rem;
  right: .75rem;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .1em;
  color: var(--ok);
}

.hero-metrics {
  display: grid;
  grid-template-columns: 1.4fr .8fr .9fr;
  gap: .85rem;
  margin-bottom: 1rem;
}
@media (max-width: 760px) {
  .hero-metrics { grid-template-columns: 1fr; }
}
.hero-metric {
  padding: 1.15rem 1.25rem;
}
.hero-metric .label {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .35rem;
}
.hero-metric .big {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  line-height: 1.15;
}
.hero-metric .sub {
  margin-top: .45rem;
  font-size: .82rem;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.blur-paywall {
  position: relative;
  margin: 1.25rem 0 1.75rem;
  border-radius: calc(var(--radius) + 4px);
  overflow: hidden;
  border: 1px solid rgba(255,45,149,.3);
}
.blur-paywall .tease-clear-metric {
  position: relative;
  z-index: 4;
  margin: .35rem 1rem .75rem;
  padding: .85rem 1.1rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,45,149,.4);
  background: linear-gradient(135deg, rgba(255,45,149,.16), rgba(20,12,18,.92));
  box-shadow: 0 0 28px rgba(255,45,149,.18);
  text-align: center;
}
.blur-paywall .tease-clear-label {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffb6d9;
  font-weight: 700;
}
.blur-paywall .tease-clear-value {
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  font-weight: 800;
  color: #fff;
  margin: .2rem 0;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 18px rgba(255,45,149,.35);
}
.blur-paywall .tease-clear-hint {
  margin: 0;
}
.blur-paywall .tease-fallback-note {
  position: relative;
  z-index: 4;
  text-align: center;
  margin: 0 1rem .5rem;
}
.blur-paywall .blur-stack {
  position: relative;
  min-height: 220px;
}
.blur-paywall .blur-stack .frost {
  /* frost only covers the blurred stack, not the clear collateral tease */
  inset: 0;
}
.blur-paywall.clear .tease-clear-metric { display: none; }
.blur-paywall.clear .tease-fallback-note { display: none; }

.blur-paywall .scan-addr-clear {
  position: relative;
  z-index: 4;
  padding: .85rem 1rem .35rem;
  font-size: .85rem;
  color: var(--muted);
}
.blur-paywall .scan-addr-clear .mono {
  color: var(--text, #f2f2f4);
  font-weight: 700;
}
.blur-paywall .calc-status {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  z-index: 4;
  width: fit-content;
  margin: .25rem auto .55rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .4rem .85rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: #ffe6f3;
  background: rgba(255,45,149,.22);
  border: 1px solid rgba(255,45,149,.45);
  box-shadow: 0 0 24px rgba(255,45,149,.25);
  backdrop-filter: blur(8px);
  pointer-events: none;
  animation: calc-pill-pulse 1.4s ease-in-out infinite;
  white-space: nowrap;
}
.blur-paywall .calc-status::before {
  content: "";
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #ff2d95;
  box-shadow: 0 0 10px #ff2d95;
  animation: calc-dot-blink 1s step-end infinite;
}
.blur-paywall .calc-status.settled {
  animation: none;
  opacity: .85;
  background: rgba(255,45,149,.14);
}
@keyframes calc-pill-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.03); opacity: .88; }
}
@keyframes calc-dot-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: .25; }
}
.blur-paywall .blur-target {
  position: relative;
  filter: blur(18px) brightness(1.05);
  transform: scale(1.04);
  pointer-events: none;
  user-select: none;
  padding: 1rem;
  transition: filter .35s ease, transform .35s ease;
}
/* shimmer sweep while calculating — glyphs stay unreadable under frost */
.blur-paywall .blur-target.calculating::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 35%,
    rgba(255, 180, 220, .18) 48%,
    rgba(255, 255, 255, .12) 52%,
    transparent 65%
  );
  background-size: 220% 100%;
  animation: blur-shimmer 1.6s linear infinite;
  pointer-events: none;
  z-index: 1;
}
@keyframes blur-shimmer {
  0% { background-position: 120% 0; }
  100% { background-position: -120% 0; }
}
.blur-paywall .frost {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
  /* Stronger pink-tint frost so digits are unreadable even when squinting */
  background: linear-gradient(
    180deg,
    rgba(10, 10, 11, .55) 0%,
    rgba(28, 8, 18, .78) 40%,
    rgba(10, 10, 11, .85) 100%
  );
  backdrop-filter: blur(6px) saturate(1.15);
  -webkit-backdrop-filter: blur(6px) saturate(1.15);
  z-index: 2;
}
.blur-paywall .frost h3 {
  margin: 0 0 .5rem;
  font-size: 1.25rem;
}
.blur-paywall .frost p {
  margin: 0 0 1rem;
  color: var(--muted);
  max-width: 420px;
}
.blur-paywall.clear .blur-target {
  filter: none;
  transform: none;
  pointer-events: auto;
  user-select: auto;
}
.blur-paywall.clear .blur-target.calculating::after { display: none; animation: none; }
.blur-paywall.clear .frost { display: none; }
.blur-paywall.clear .calc-status { display: none; }
.blur-paywall.clear .scan-addr-clear { display: none; }

.landing-tracker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .75rem;
}
.landing-tracker {
  padding: .9rem 1rem;
}
.landing-tracker .ht {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5rem;
}
.landing-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 1.5rem 0;
}
@media (max-width: 720px) {
  .landing-features { grid-template-columns: 1fr; }
}
.landing-features .card h3 { color: var(--pink-hot); font-size: 1rem; }
.cta-band {
  text-align: center;
  padding: 1.5rem;
  margin: 1rem 0 2rem;
}
.cta-band h2 { margin: 0 0 .5rem; }

/* HF text utilities (teaser / landing metrics) */
.hf-ok { color: var(--ok); }
.hf-warn { color: var(--warn); }
.hf-danger { color: var(--danger); }


/* Supported-chain badges (v1.1) */
.chain-row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .85rem 0 1rem;
}
.chain-pill {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(255,45,149,.45);
  background: rgba(255,45,149,.12);
  color: var(--pink-hot);
}
.chain-pill.sol {
  border-color: rgba(153,69,255,.55);
  background: rgba(153,69,255,.15);
  color: #c4a0ff;
}


/* --- Product slice: chain checks + scan summary --- */
.chain-checks {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .85rem;
  margin: .35rem 0 1rem;
}
.chain-check {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .92rem;
  cursor: pointer;
  color: var(--fg, #f5f5f5);
}
.chain-check input { accent-color: #ff2d95; }
.chain-check.soon { opacity: .55; cursor: not-allowed; }
.soon-tag {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ff2d95;
  border: 1px solid rgba(255,45,149,.45);
  border-radius: 999px;
  padding: .05rem .4rem;
}
.scan-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: .85rem;
  margin-top: .85rem;
}
.scan-summary-metric .label {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(255,255,255,.55);
  margin-bottom: .2rem;
}
.scan-summary-metric .big {
  font-size: 1.35rem;
  font-weight: 700;
}

.chain-pill.soon {
  border-color: rgba(154,154,163,.45);
  background: rgba(154,154,163,.12);
  color: var(--muted);
  text-transform: none;
  letter-spacing: .02em;
}

/* Member War Room cockpit */
.wr-member-grid { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.wr-card { background:rgba(12,14,20,.92); border:1px solid rgba(0,229,255,.22); border-radius:14px; padding:14px 16px; }
.wr-card.critical { border-color:rgba(255,64,129,.55); box-shadow:0 0 18px rgba(255,64,129,.18); }
.wr-card.warn { border-color:rgba(255,193,7,.45); }
.wr-card .hf { font-size:1.6rem; font-weight:700; letter-spacing:.02em; }
.wr-card .meta { font-size:.85rem; color:var(--muted,#9aa3b5); }
.wr-totals { display:flex; flex-wrap:wrap; gap:18px; margin:8px 0 4px; }
.wr-totals strong { color:var(--pink,#ff2d95); }
.isolation-note { font-size:.8rem; color:#7a8499; margin-top:8px; }
