/* Vs. Nothing desk system v1: one visual grammar for every public surface. */
:root {
  --site-max: 1440px;
  --site-gutter: clamp(18px, 3.4vw, 58px);
  --site-panel: #101110;
  --site-panel-2: #171918;
  --site-panel-line: rgba(255,255,255,.15);
  --site-accent: #ff4b2b;
  --site-accent-soft: #ffd8cf;
  --site-green: #52d68b;
  --site-yellow: #f3c85b;
  --site-blue: #8fc9ff;
  --site-radius: 4px;
  --site-shadow: 0 20px 60px rgba(10,10,10,.08);
}

html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--ink);
  font-size: 15px;
  line-height: 1.55;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .035;
  background-image: linear-gradient(var(--ink) 1px, transparent 1px), linear-gradient(90deg, var(--ink) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 68%);
  z-index: -1;
}

main.fight-home,
main.call-wire,
main.call-detail,
main.room-shell,
main.chaos-shell,
main.gurus-page,
main.tm-wrap,
main.receipt-page,
main.dispute-page,
main.how-page,
main.account-shell,
main.power-page,
main.vsn-desk {
  width: min(var(--site-max), calc(100% - (var(--site-gutter) * 2)));
  margin-inline: auto;
}

.topbar,
.vsn-fights__nav {
  min-height: 72px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  position: relative;
  z-index: 5;
}
.wordmark { display: inline-flex; flex-direction: column; gap: 2px; font-size: 14px; letter-spacing: .02em; }
.brand-parent { color: var(--muted); font-size: 8px; letter-spacing: .13em; font-weight: 500; }
.brand-accent { color: var(--site-accent); }
.topbar-right { gap: 7px; }
.topbar-right a,
.vsn-fights__nav a {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .08em;
  padding: 8px 10px;
  border: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.topbar-right a:hover,
.topbar-right a:focus-visible,
.topbar-right a[aria-current="page"] {
  color: var(--ink);
  border-color: var(--line);
  background: var(--card);
}
.icon-btn { width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 50%; }

.kicker,
.section-index,
.vsn-desk__eyebrow,
.power-hero-meta,
.power-source-line,
.power-state-row,
.call-wire-trust,
.live-capture-trust,
.season-marquee-eyebrow,
.season-marquee-billing,
.site-policy-footer {
  font-family: var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.kicker, .section-index, .vsn-desk__eyebrow { color: var(--muted); font-size: 10px; }
.section-index::before,
.kicker::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 9px 1px 0; border-radius: 50%; background: var(--site-accent); }
h1, h2, h3 { text-wrap: balance; }
a { text-underline-offset: 4px; }

/* Homepage: today first, explanation after the proof. */
.fight-home { padding-bottom: 40px; }
.fight-home > .topbar { margin-bottom: 24px; }
.home-daily-card { margin: 0 0 28px; }
.home-kickoff {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: 28px;
  align-items: end;
  padding: 24px 0 30px;
  border-bottom: 1px solid var(--line);
}
.home-kickoff-copy { max-width: 760px; }
.home-kickoff h1 { margin: 8px 0 12px; font-family: var(--font-display); font-size: clamp(48px, 7vw, 96px); font-weight: 400; line-height: .88; letter-spacing: -.025em; }
.home-kickoff-copy > p:not(.season-marquee-eyebrow) { max-width: 620px; color: var(--muted); font-size: clamp(15px, 1.4vw, 19px); }
.home-kickoff-copy strong { color: var(--ink); }
.home-today-call { align-self: stretch; min-height: 150px; padding: 20px; border: 1px solid var(--line); background: var(--card); }
.home-today-call.is-superseded { display: none; }
.fight-home-proof { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 18px; padding-top: 4px; color: var(--muted); font: 10px var(--mono); letter-spacing: .08em; }
.fight-home-proof span::before { content: "●"; color: var(--site-accent); padding-right: 8px; }
.season-command { margin: 28px 0; border: 1px solid var(--line); background: var(--card); box-shadow: var(--site-shadow); }
.season-command-head { display: flex; justify-content: space-between; gap: 16px; padding: 12px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font: 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.season-command-state { display: inline-flex; align-items: center; gap: 8px; color: var(--site-green); }
.season-command-state i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 16%, transparent); animation: desk-pulse 2s ease-in-out infinite; }
.season-command-data { display: grid; grid-template-columns: minmax(200px, .42fr) minmax(0, 1fr); }
.season-score { padding: 20px; border-right: 1px solid var(--line); }
.control-room-rows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.control-room-row { min-height: 86px; padding: 18px; border-right: 1px solid var(--line); }
.season-agent-rail, .season-marquee-billing { grid-column: 1 / -1; }
.season-agent-rail { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-top: 1px solid var(--line); }
.season-agent-nodes { display: flex; gap: 4px; }
.season-agent-nodes > * { width: 12px; height: 12px; border-radius: 50%; background: var(--site-accent); box-shadow: 0 0 0 3px var(--accent-bg); }
.season-marquee-billing { margin: 0; padding: 12px 18px; border-top: 1px solid var(--line); color: var(--muted); font: 10px var(--mono); }
.arena-stage, .arena-today, .fight-home-undercard, .home-reality-week, .fight-home-routes { margin-top: 54px; }
.fight-home-section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.fight-home-section-head h2 { margin-top: 8px; font-family: var(--font-display); font-size: clamp(34px, 5vw, 62px); font-weight: 400; line-height: .94; }
.fight-home-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fight-home-main-event { grid-template-columns: minmax(0, 1fr); }
.home-docket { margin-top: 28px; }
.home-record-link { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 30px; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-record-link h2 { margin: 6px 0; font-family: var(--font-display); font-size: clamp(30px, 4vw, 48px); font-weight: 400; }
.home-record-link p { color: var(--muted); }
.home-record-link > a, .fight-route-grid a { color: var(--site-accent); font: 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.fight-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.fight-route-grid a { display: block; min-height: 180px; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.fight-route-grid a:hover { background: var(--card); }
.fight-route-grid a > span { display: block; margin-bottom: 26px; color: var(--muted); font-size: 10px; }
.fight-route-grid strong { display: block; color: var(--ink); font: 24px/1.05 var(--font-display); text-transform: none; }
.fight-route-grid p { margin-top: 12px; color: var(--muted); font: 13px/1.5 var(--sans); text-transform: none; letter-spacing: 0; }
.fight-home-footer { display: flex; justify-content: space-between; gap: 20px; margin-top: 60px; padding-top: 18px; border-top: 2px solid var(--ink); color: var(--muted); font: 10px/1.5 var(--mono); }

/* Shared data surfaces: dense, legible, and visually active. */
.daily-card-host, .vsn-desk, .room-shell, .chaos-shell, .receipt-page, .call-detail, .call-wire, .gurus-page, .tm-wrap, .dispute-page, .how-page, .account-shell, .power-page { padding-bottom: 42px; }
.daily-card-host:not(:empty), .vsn-fights__list, .call-desk-stage, .live-capture-list, .gurus-grid, .chaos-board, .room-brief, .receipt-card, .report-card-grid { position: relative; }
.card, .pill, .badge, button, input, select, textarea, summary { border-radius: var(--site-radius); }
.pill, button { transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
button:hover, .pill:hover { transform: translateY(-1px); }
.vsn-desk__heading, .call-wire-hero, .chaos-hero, .gurus-hero, .tm-command, .receipt-hero, .dispute-hero, .how-hero, .account-hero, .power-hero { padding-block: clamp(42px, 8vw, 112px) 34px; border-bottom: 1px solid var(--line); }
.vsn-desk__title, .call-wire-hero h1, .chaos-hero h1, .gurus-hero h1, .tm-command h1, .receipt-hero h1, .dispute-hero h1, .how-hero h1, .account-hero h1, .power-hero h1 { font-family: var(--font-display); font-size: clamp(50px, 8vw, 116px); font-weight: 400; line-height: .88; letter-spacing: -.025em; }
.vsn-desk__subtitle, .call-wire-hero p, .chaos-hero p, .gurus-hero p, .tm-command p, .receipt-hero p, .dispute-hero p, .how-hero p, .account-hero p, .power-hero .power-deck { max-width: 700px; margin-top: 18px; color: var(--muted); font-size: 17px; }
.vsn-fights__toolbar, .call-wire-controls, .live-capture-controls, .chaos-controls { position: sticky; top: 0; z-index: 3; padding: 12px 0; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(14px); }
.vsn-fights__filter[aria-pressed="true"], .call-desk-tab[aria-selected="true"] { box-shadow: inset 0 -2px var(--site-accent); }
.vsn-fights__list, .call-wire-list, .live-capture-list, .gurus-grid { margin-top: 22px; }
.call-wire-row-shell { min-width: 0; }
.call-wire-actions { width: 100%; min-width: 0; overflow: hidden; grid-template-columns: minmax(0, 1fr); }
.call-wire-comparison { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.call-wire { display: flex; flex-direction: column; }
.call-wire > .topbar { order: 0; }
.call-wire > .season-score { order: 1; }
.call-wire > .call-wire-hero { order: 2; padding-block: 52px 30px; }
.call-wire > .call-wire-trust { order: 3; }
.call-wire > .call-desk { order: 4; }
.call-wire > .call-archive-head { order: 5; }
.call-wire > .call-wire-controls { order: 6; }
.call-wire > .call-wire-status { order: 7; }
.call-wire > .call-wire-loading { order: 8; }
.call-wire > .call-wire-list { order: 9; }
.call-wire > .call-wire-more { order: 10; }
.call-wire > .live-capture { order: 11; }
.call-wire > .call-source-coverage { order: 12; }
.call-wire > .call-lifecycle { order: 13; }
.call-wire > .rti-source-panel { order: 14; }
.call-wire > .call-wire-footer { order: 15; }
.call-request-button, .call-request-live, .call-share-button { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.vsn-fights__row, .call-wire-row, .live-capture-row, .guru-card { border-bottom: 1px solid var(--line); }
.call-wire-hero, .chaos-hero, .gurus-hero, .power-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 40px; align-items: end; }
.call-wire-readout, .chaos-summary, .gurus-summary, .power-state-row { padding: 18px; border: 1px solid var(--line); background: var(--card); }
.call-wire-trust, .live-capture-trust { display: flex; flex-wrap: wrap; gap: 14px 24px; padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.call-wire-trust span::before, .live-capture-trust strong::before { content: "●"; color: var(--site-accent); margin-right: 8px; }
.call-source-coverage, .live-capture, .call-lifecycle, .call-desk, .tm-section, .room-section, .chaos-section, .power-section, .dispute-section, .how-stop, .account-section { margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--line); }
.call-source-coverage h2, .live-capture h2, .call-lifecycle h2, .call-desk h2, .tm-section h2, .room-section h2, .chaos-section h2, .power-section h2, .dispute-section h2, .how-stop h2, .account-section h2 { font-family: var(--font-display); font-size: clamp(30px, 4vw, 56px); font-weight: 400; line-height: .96; }
.home-evidence-feed, .arena-today-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.home-evidence-feed > *, .arena-today-grid > *, .rti-source-panel, .docket-item { padding: 16px; border: 1px solid var(--line); background: var(--card); }

/* Dark cards are the product's high-attention mode. */
.daily-card, .matchup-card, .matchup, .vsn-desk__row, .fight-card, .chaos-board, .chaos-tote, .room-brief, .room-hero, .receipt-card, .report-command, .report-card, .power-highlight { box-shadow: var(--site-shadow); }
.daily-card, .matchup-card, .matchup, .vsn-desk__row, .fight-card, .chaos-board, .chaos-tote, .room-brief, .room-hero, .receipt-card, .report-command { border-radius: var(--site-radius); }
.daily-card { overflow: clip; }
.daily-card__hero, .daily-card-hero, .matchup-card__hero { border-top-color: var(--site-accent); }
.matchup-card:hover, .vsn-desk__row:hover, .guru-card:hover { border-color: var(--site-accent); }

/* HOUSE opportunity pages become a research desk, not a wall of prose. */
.power-page { max-width: var(--site-max); }
.power-page .topbar { margin-bottom: 0; }
.power-hero-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; color: var(--site-accent); font-size: 10px; }
.power-hero-meta span { color: var(--muted); }
.power-source-line { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 26px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 9px; }
.power-source-line a { color: var(--site-accent); }
.power-state-row { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 16px; font-size: 9px; }
.power-section-head { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 16px; align-items: start; }
.power-section-head > span, .account-number { color: var(--site-accent); font: 11px var(--mono); }
.power-section-head p, .power-evidence-note, .house-section-lead { color: var(--muted); }
.power-rails, .power-evidence-grid, .house-opportunity-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.power-rails > *, .power-evidence-grid > *, .house-opportunity-grid > * { padding: 16px; border: 1px solid var(--line); background: var(--card); }
.power-not-this, .power-bear, .power-nothing { border-left: 3px solid var(--site-accent); }

/* Static proof / education pages use the same actions rail. */
.tm-wrap .topbar, .receipt-page .topbar, .how-page .topbar, .account-shell .topbar, .policy-page .topbar { margin-bottom: 0; }
.tm-hero, .receipt-content, .report-command { border-radius: var(--site-radius); }
.tm-section details, .call-source-directory, .chaos-audit-notes, .power-section details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
summary { cursor: pointer; padding: 14px 0; color: var(--site-accent); font: 10px var(--mono); letter-spacing: .09em; }
.site-policy-footer { width: min(var(--site-max), calc(100% - (var(--site-gutter) * 2))); }

@keyframes desk-pulse { 0%,100% { opacity: .55; transform: scale(.86); } 50% { opacity: 1; transform: scale(1); } }
@keyframes desk-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
main > * { animation: desk-rise .45s ease both; }
main > *:nth-child(2) { animation-delay: .03s; }
main > *:nth-child(3) { animation-delay: .06s; }

[data-theme="dark"] body::before { opacity: .06; }
[data-theme="dark"] .home-record-link > a, [data-theme="dark"] .fight-route-grid a { color: var(--red); }
[data-theme="dark"] .vsn-fights__toolbar, [data-theme="dark"] .call-wire-controls, [data-theme="dark"] .live-capture-controls { background: color-mix(in srgb, var(--bg) 90%, transparent); }

/* One market-state contract. The state is intentionally visible in every
   shared comparison so a sealed basis cannot read like a live quote. */
.call-market-state { display: block; margin-bottom: 4px; color: var(--red); font: 700 10px/1.2 var(--mono); letter-spacing: .1em; }
.call-market-basis { display: block; color: var(--muted); font: 500 10px/1.35 var(--mono); letter-spacing: .02em; }
.call-comparison.market-state-snapshot { border-color: color-mix(in srgb, var(--red) 45%, var(--line)); }
.call-comparison.market-state-unavailable { border-style: dashed; opacity: .9; }
.call-comparison.market-state-unavailable .call-comparison-verdict { color: var(--muted); }

@media (max-width: 900px) {
  .home-kickoff, .call-wire-hero, .chaos-hero, .gurus-hero, .power-hero { grid-template-columns: 1fr; }
  .season-command-data { grid-template-columns: 1fr; }
  .season-score { border-right: 0; border-bottom: 1px solid var(--line); }
  .control-room-rows { grid-template-columns: 1fr; }
  .control-room-row { border-right: 0; border-bottom: 1px solid var(--line); }
  .fight-route-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .power-rails, .power-evidence-grid, .house-opportunity-grid, .house-opportunity-desk { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 560px) {
  body { font-size: 14px; }
  .topbar, .vsn-fights__nav { align-items: flex-start; flex-direction: column; gap: 12px; }
  .topbar-right { width: 100%; overflow-x: auto; padding-bottom: 3px; }
  .topbar-right a { flex: 0 0 auto; padding-inline: 8px; }
  .home-kickoff { padding-top: 18px; }
  .home-kickoff h1 { font-size: clamp(52px, 16vw, 78px); }
  .home-today-call { min-height: 120px; }
  .fight-home-grid, .home-evidence-feed, .arena-today-grid { grid-template-columns: 1fr; }
  .fight-home-section-head, .home-record-link, .fight-home-footer { align-items: flex-start; flex-direction: column; }
  .fight-route-grid { grid-template-columns: 1fr; }
  .fight-route-grid a { min-height: 0; }
  .season-agent-rail { align-items: flex-start; flex-direction: column; }
  .power-rails, .power-evidence-grid, .house-opportunity-grid, .house-opportunity-desk { grid-template-columns: 1fr; }
  .power-section-head { grid-template-columns: 34px minmax(0,1fr); }
  .site-policy-footer { width: calc(100% - 36px); }
  main > * { animation: none; }
}

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