/* WITB Visual Excellence / Premium Expression Gate
   Local-only presentation layer. It changes no evidence, ranking, routing,
   privacy, or deterministic Frank contract. Meaningful data remains the art. */

:root {
  --vx-ink: #f6f3ec;
  --vx-copy: #c4ccd5;
  --vx-muted: #8995a4;
  --vx-void: #05090e;
  --vx-panel: #0a121c;
  --vx-panel-2: #101b28;
  --vx-panel-3: #152334;
  --vx-line: rgba(151, 169, 190, .18);
  --vx-line-strong: rgba(194, 207, 221, .31);
  --vx-gold: #e6bc63;
  --vx-gold-soft: rgba(230, 188, 99, .13);
  --vx-blue: #61a9df;
  --vx-green: #62d19d;
  --vx-amber: #efbd63;
  --vx-red: #ef8581;
  --vx-radius: .82rem;
  --vx-radius-lg: 1.25rem;
  --vx-shadow: 0 1.4rem 4.5rem rgba(0, 0, 0, .3);
  --vx-number: "Arial Narrow", "Roboto Condensed", Inter, ui-sans-serif, system-ui, sans-serif;
}

.beta-body {
  color: var(--vx-ink);
  background:
    radial-gradient(70rem 35rem at 82% -8%, rgba(42, 111, 147, .17), transparent 62%),
    radial-gradient(45rem 28rem at 5% 0%, rgba(180, 137, 57, .1), transparent 66%),
    linear-gradient(165deg, #08111a, var(--vx-void) 58%);
}

.beta-main { padding-top: clamp(1.2rem, 2.8vw, 2.7rem); padding-bottom: 5rem; }
.beta-kicker, .ff-overline, .nfl-b2b-overline { color: var(--vx-gold); letter-spacing: .12em; }
.beta-button { min-height: 2.75rem; border-radius: .55rem; box-shadow: none; font-weight: 780; }
.beta-button:not(.beta-button-secondary) { border-color: #f0ca76; color: #0b0c0d; background: linear-gradient(135deg, #f0ca76, #dba84c); }
.beta-button:not(.beta-button-secondary):hover { background: linear-gradient(135deg, #f7d890, #e7b75c); }
.beta-button-secondary { border-color: var(--vx-line-strong); color: var(--vx-ink); background: rgba(15, 27, 40, .78); }
.beta-body :where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #ffd879; outline-offset: 3px; }

/* Shared shell: quiet framing, clear destination, no competing ornament. */
.beta-app-header { border-bottom-color: var(--vx-line); background: rgba(5, 10, 16, .92); box-shadow: 0 .5rem 2rem rgba(0,0,0,.18); }
.beta-nav-hardened { min-height: 4.25rem; }
.beta-brand strong { font-size: .75rem; letter-spacing: .12em; }
.beta-brand small { color: var(--vx-gold); }
.beta-shell-desktop { gap: .25rem; }
.beta-shell-desktop :where(a,button) { border-radius: .55rem; color: #aeb8c4; }
.beta-shell-desktop :where(a,button):hover,
.beta-shell-desktop :where(a,button)[aria-current="page"] { color: #fff; background: rgba(255,255,255,.055); }

/* Home: every sport is a distinct broadcast window, not a generic tile. */
.ff-home-identity { display: grid; grid-template-columns: 1fr auto; align-items: end; min-height: 5.4rem; border-bottom: 1px solid var(--vx-line); }
.ff-home-identity::after { color: var(--vx-muted); font-size: .72rem; letter-spacing: .08em; content: "FEATURED NOW  /  CURRENT EVIDENCE"; }
.ff-home-identity h1 { margin: .18rem 0 .7rem; font-size: clamp(1.7rem, 3vw, 2.6rem); letter-spacing: -.04em; }
.frank-first-foundation .browser-card-grid.ff-sport-worlds { grid-auto-rows: minmax(19rem, auto); gap: .85rem; }
.ff-sport-world { position: relative; overflow: hidden; border: 1px solid var(--vx-line); border-radius: var(--vx-radius); box-shadow: 0 .8rem 2.4rem rgba(0,0,0,.18); isolation: isolate; }
.ff-sport-world::before { position: absolute; z-index: 2; inset: 0 auto 0 0; width: 3px; background: var(--sport-accent, var(--vx-blue)); content: ""; }
.ff-sport-world-link { min-height: 100%; }
.ff-sport-world-link::after { z-index: 0; background: linear-gradient(8deg, rgba(4,8,13,.98) 6%, rgba(6,13,21,.88) 44%, rgba(8,17,27,.25) 86%); }
.ff-sport-world-copy { z-index: 3; gap: .32rem; padding: clamp(1.15rem, 1.9vw, 1.75rem); }
.ff-sport-world[data-living-sport] .ff-sport-world-copy > strong:first-child { width: fit-content; padding-bottom: .4rem; border-bottom: 2px solid var(--sport-accent, var(--vx-gold)); color: #fff; font-size: .78rem; letter-spacing: .13em; }
.ff-sport-cue { margin-top: auto; color: var(--sport-accent, var(--vx-gold)); font-size: .66rem; font-weight: 850; letter-spacing: .12em; }
.nfl-b2b-home-headline { max-width: 21ch; font-size: clamp(1.55rem, 2.3vw, 2.35rem); font-weight: 760; letter-spacing: -.045em; text-wrap: balance; }
.nfl-b2b-home-time { color: #e3e8ee; font-size: .84rem; font-weight: 700; }
.nfl-b2b-home-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .45rem; margin-top: .75rem; }
.nfl-b2b-home-facts li { min-width: 0; padding: .52rem .6rem .52rem .8rem; border-top: 1px solid var(--vx-line-strong); color: #bec8d4; background: rgba(4,10,16,.38); line-height: 1.35; }
.nfl-b2b-currentness { color: #8292a3; }
.nfl-b2b-home-action { width: fit-content; margin-top: .55rem; padding-top: .42rem; border-top: 1px solid rgba(230,188,99,.35); color: #f0cb7b; }
.ff-sport-world:hover { transform: translateY(-2px); border-color: var(--vx-line-strong); box-shadow: var(--vx-shadow); }
.ff-sport-world:hover .nfl-b2b-home-action { color: #ffe0a0; }

/* Sport-native, deliberately non-statistical field markings. */
.ff-sport-world[data-living-sport="nfl"] { --sport-accent:#6fb0e0; background: linear-gradient(145deg,#0c1d2d,#08101a); }
.ff-sport-world[data-living-sport="nfl"] .ff-sport-art,
.ff-sport-world[data-living-sport="college-football"] .ff-sport-art { background: repeating-linear-gradient(90deg,transparent 0 11.5%,rgba(255,255,255,.08) 11.7% 12%,transparent 12.2% 24%), linear-gradient(155deg,rgba(23,78,111,.75),rgba(7,15,24,.2)); }
.ff-sport-world[data-living-sport="college-football"] { --sport-accent:#e0a85e; background: linear-gradient(145deg,#24190d,#0d1117); }
.ff-sport-world[data-living-sport="premier-league"] { --sport-accent:#60c9a5; background: linear-gradient(145deg,#0b2b27,#081218); }
.ff-sport-world[data-living-sport="premier-league"] .ff-sport-art { background: linear-gradient(90deg,transparent 49.7%,rgba(255,255,255,.12) 49.8% 50.2%,transparent 50.3%), radial-gradient(circle at 50% 50%,transparent 0 17%,rgba(255,255,255,.12) 17.4% 18%,transparent 18.4%), linear-gradient(155deg,rgba(21,97,75,.7),rgba(7,17,22,.25)); }
.ff-sport-world[data-living-sport="mlb"] { --sport-accent:#df806f; background: linear-gradient(145deg,#291410,#0d1117); }
.ff-sport-world[data-living-sport="mlb"] .ff-sport-art { background: linear-gradient(45deg,transparent 46%,rgba(255,255,255,.11) 46.4% 47%,transparent 47.4%), linear-gradient(-45deg,transparent 46%,rgba(255,255,255,.11) 46.4% 47%,transparent 47.4%), radial-gradient(circle at 50% 76%,rgba(205,128,81,.32),transparent 34%); }
.ff-sport-world[data-living-sport="horse"] { --sport-accent:#8e9aa7; }
.ff-sport-world[data-feature-state="INACTIVE"] { opacity: .72; filter: saturate(.45); }
.ff-sport-world[data-feature-state="INACTIVE"]::after { position:absolute; z-index:3; top:.85rem; right:.85rem; padding:.3rem .52rem; border:1px solid var(--vx-line); border-radius:999px; color:#a9b2bc; background:rgba(5,9,14,.78); font-size:.62rem; letter-spacing:.08em; content:"NOT ACTIVE"; }
.ff-home-personal, .ff-discovery { border-color: var(--vx-line); background: linear-gradient(145deg, rgba(16,28,41,.9), rgba(8,15,23,.76)); }

/* NFL: the B2I data grammar gains stronger reading order, not extra decoration. */
.nfl-b2b-subject { border-top: 2px solid var(--vx-gold); box-shadow: 0 1.2rem 3.6rem rgba(0,0,0,.2); }
.nfl-b2b-subject h1 { text-wrap: balance; }
.nfl-b2b-tabs { position: sticky; z-index: 7; top: 4.2rem; padding-top: .3rem; background: rgba(5,10,16,.93); backdrop-filter: blur(16px); }
.nfl-b2b-tabs a[aria-current="page"] { color: #fff; }
.nfl-b2b-game { gap: 1rem; }
.nfl-b2b-game-lower { grid-template-columns:repeat(auto-fit,minmax(18rem,1fr)); gap:1px; background:var(--vx-line); }
.nfl-b2b-matchup-canvas { border: 1px solid var(--vx-line); border-radius: var(--vx-radius); overflow: hidden; box-shadow: 0 .9rem 2.8rem rgba(0,0,0,.18); }
.nfl-b2b-matchup-row { position: relative; }
.nfl-b2b-matchup-row::after { position:absolute; left:50%; top:18%; bottom:18%; width:1px; background:linear-gradient(transparent,var(--vx-line-strong),transparent); content:""; }
.nfl-b2b-metric-side strong, .nfl-b2b-metric strong, .nfl-b2i-recent-values strong { font-family: var(--vx-number); font-variant-numeric: tabular-nums; }
.nfl-b2i-scale-context { border-left: 2px solid var(--vx-blue); background: linear-gradient(90deg,rgba(97,169,223,.09),transparent); }
.nfl-b2i-distribution, .nfl-b2i-recent-series { border-radius: .65rem; background: linear-gradient(180deg,rgba(97,169,223,.06),transparent); }
.nfl-b2i-compact-state { border-radius: 0 .55rem .55rem 0; }
.nfl-b2b-data-section, .nfl-b2b-analysis-history { background: linear-gradient(160deg,rgba(15,27,40,.96),rgba(8,15,23,.96)); }
.nfl-b2b-source-details { border-color: var(--vx-line); }

/* Frank: a WITB research instrument, visibly tied to active evidence. */
.frank-core-entry { right: 1.1rem; bottom: 1.1rem; min-height: 3.1rem; padding: .65rem 1rem .65rem .72rem; border: 1px solid rgba(230,188,99,.38); border-radius: .7rem; color: #f7f4ec; background: linear-gradient(135deg,#14283a,#0a111a 72%); box-shadow: 0 .8rem 2.3rem rgba(0,0,0,.38), inset 3px 0 0 var(--vx-gold); font-size: .78rem; letter-spacing: .01em; }
.frank-core-entry::before { display:inline-grid; place-items:center; width:1.7rem; height:1.7rem; margin-right:.55rem; border:1px solid rgba(230,188,99,.46); border-radius:50%; color:var(--vx-gold); content:"F"; font-family:Georgia,serif; font-weight:700; }
.frank-core-entry::after { display:block; margin-left:2.25rem; color:#8fa1b4; font-size:.6rem; letter-spacing:.08em; content:"WITB RESEARCH GUIDE"; }
.frank-core-workspace { border: 1px solid rgba(230,188,99,.32); background: #071019; box-shadow: -1.5rem 0 5rem rgba(0,0,0,.48); }
.frank-core-workspace > header { border-top: 3px solid var(--vx-gold); background: linear-gradient(135deg,#12283a,#09131d); }
.frank-core-context { padding: .8rem 1rem; border-left: 3px solid var(--vx-blue); color: #c4d0dc; background: rgba(97,169,223,.07); }
.frank-core-context::before { display:block; margin-bottom:.22rem; color:#78b9e8; font-size:.6rem; font-weight:800; letter-spacing:.1em; content:""; }
.frank-core-message { border: 1px solid var(--vx-line); border-radius: .65rem; background: #101d2a; }
.frank-core-message-you { border-color: rgba(97,169,223,.28); background: #17334d; }
.frank-core-preset { border-color: rgba(230,188,99,.25); background: rgba(230,188,99,.065); }
.frank-core-form { background: #08111a; }
.frank-core-form textarea { border-color: var(--vx-line-strong); background: #050c13; }
.frank-beta-hero { border-top: 2px solid var(--vx-gold); background: radial-gradient(circle at 85% 10%,rgba(97,169,223,.17),transparent 38%),linear-gradient(135deg,#111e2c,#08111a); }
.frank-purpose-strip article { border-top: 2px solid rgba(97,169,223,.42); }
.frank-conversation-panel { box-shadow: 0 1.2rem 3.5rem rgba(0,0,0,.22); }

/* Fantasy: market, owner strategy, and exact turns form the visual spine. */
.fantasy-impl-main { --fantasy-market:#6faee0; --fantasy-mine:#e6bc63; --fantasy-turn:#69d0a2; }
.fantasy-impl-hero, .fantasy-room-header { position:relative; overflow:hidden; border-top:2px solid var(--fantasy-mine); background: radial-gradient(circle at 88% 12%,rgba(111,174,224,.15),transparent 34%),linear-gradient(135deg,#111d2a,#080f17); }
.fantasy-impl-hero::after, .fantasy-room-header::after { position:absolute; right:-4rem; bottom:-5rem; width:18rem; height:18rem; border:1px solid rgba(230,188,99,.12); border-radius:50%; box-shadow:inset 0 0 0 3.5rem rgba(111,174,224,.025); content:""; pointer-events:none; }
.fantasy-impl-hero h1, .fantasy-room-header h1, .fantasy-section-head h1 { max-width: 17ch; font-size: clamp(2rem,4.3vw,4.1rem); text-wrap:balance; }
.fantasy-room-tabs { top: 4.2rem; gap: .3rem; padding: .5rem; border: 1px solid var(--vx-line); border-radius: .7rem; }
.fantasy-room-tabs a { padding: .58rem .78rem; border-radius: .45rem; text-decoration:none; }
.fantasy-room-tabs a[aria-current] { color:#080b0e; background:var(--fantasy-mine); }
.fantasy-snake { border-left:3px solid var(--fantasy-turn); background:linear-gradient(100deg,rgba(105,208,162,.09),#0c1520 35%); }
.fantasy-pick-strip button { position:relative; min-width:84px; border-color:rgba(105,208,162,.2); background:#09131d; }
.fantasy-pick-strip button::after { position:absolute; left:50%; bottom:-.75rem; width:calc(100% + 9px); height:1px; background:rgba(105,208,162,.28); content:""; }
.fantasy-pick-strip button:last-child::after { display:none; }
.fantasy-pick-strip button.is-active { border-color:var(--fantasy-turn); box-shadow:0 0 0 2px rgba(105,208,162,.12); }
.fantasy-board-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; padding: 1rem 1.1rem; border: 1px solid var(--vx-line); border-radius: var(--vx-radius); background: linear-gradient(125deg,rgba(111,174,224,.07),rgba(230,188,99,.05)); }
.fantasy-term-note { grid-column:1 / -1; margin:.55rem 0 0; padding-top:.6rem; border-top:1px solid var(--vx-line); color:#8797a8; font-size:.73rem; }
.fantasy-term-note abbr { color:#d6dee7; text-decoration:underline dotted rgba(214,222,231,.55); text-underline-offset:.18rem; }
.fantasy-board-legend span { border-radius:.48rem; }
.fantasy-board-legend span:nth-child(1) { border-left:3px solid var(--fantasy-market); }
.fantasy-board-legend span:nth-child(2) { border-left:3px solid var(--fantasy-mine); }
.fantasy-board-legend span:nth-child(3) { border-left:3px solid var(--fantasy-turn); }
.fantasy-board-controls { border-left:3px solid var(--fantasy-market); }
.fantasy-player-table-wrap { box-shadow: 0 1rem 3rem rgba(0,0,0,.2); }
.fantasy-player-table th { height:2.6rem; border-bottom:1px solid var(--vx-line-strong); }
.fantasy-player-table th:nth-child(3), .fantasy-player-table th:nth-child(4), .fantasy-player-table td:nth-child(3), .fantasy-player-table td:nth-child(4) { background:rgba(111,174,224,.045); }
.fantasy-player-table th:nth-child(7), .fantasy-player-table th:nth-child(8), .fantasy-player-table td:nth-child(7), .fantasy-player-table td:nth-child(8) { background:rgba(230,188,99,.045); }
.fantasy-player-table td:nth-child(3), .fantasy-player-table td:nth-child(4), .fantasy-player-table td:nth-child(5), .fantasy-player-table td:nth-child(6) { font-family:var(--vx-number); font-variant-numeric:tabular-nums; }
.fantasy-player-table tr:hover { background:linear-gradient(90deg,rgba(111,174,224,.09),rgba(230,188,99,.06)); }
.fantasy-player-inspector { border-top:2px solid var(--fantasy-mine); box-shadow:0 1rem 3rem rgba(0,0,0,.22); }
.fantasy-position { color:#081018; background:linear-gradient(135deg,var(--fantasy-market),#8ec7ef); }
.fantasy-price-editor { border-left:3px solid var(--fantasy-mine); }
.fantasy-price-range input:focus { border-color:var(--fantasy-mine); }
.fantasy-tier-lanes article { border-left:3px solid var(--fantasy-mine); }
.fantasy-pick-window { border-top:2px solid var(--fantasy-turn); }
.fantasy-plan-lane { border-top:2px solid rgba(105,208,162,.36); }
.fantasy-source-details { background:#09111a; }
.fantasy-source-details summary { color:#c5d1dc; }
.mock-draft-workspace, .mock-intel-workspace, .fantasy-registered-league { min-width:0; }
.mock-draft-board, .mock-draft-command, .mock-intel-lead, .registered-league-hero { border-top:2px solid var(--fantasy-mine); box-shadow:0 1rem 3rem rgba(0,0,0,.18); }

/* BOD: healthy flow is a status spine; exceptions remain visually louder. */
.operations-main > .beta-page-heading { padding-bottom:1.3rem; border-bottom:1px solid var(--vx-line); }
.operations-main > .beta-page-heading h1 { font-size:clamp(2.3rem,5vw,4.2rem); letter-spacing:-.05em; }
.ops-boundary { border-left:3px solid var(--vx-gold); background:linear-gradient(90deg,rgba(230,188,99,.08),transparent); }
.operations-main .admin-panel { position:relative; border-color:var(--vx-line); border-radius:var(--vx-radius); background:linear-gradient(145deg,rgba(15,27,39,.95),rgba(7,14,21,.95)); box-shadow:0 .8rem 2.4rem rgba(0,0,0,.14); }
.operations-main .admin-panel::before { position:absolute; inset:0 auto 0 0; width:2px; background:rgba(97,169,223,.38); content:""; }
.operations-main .admin-panel:has(.ops-state-critical)::before { width:4px; background:var(--vx-red); }
.bod-ops-sport-card { position:relative; overflow:hidden; border-left:3px solid var(--vx-green); }
.bod-ops-sport-card::after { position:absolute; right:1rem; top:1rem; width:.48rem; height:.48rem; border-radius:50%; background:var(--vx-green); box-shadow:0 0 0 .3rem rgba(98,209,157,.1); content:""; }
.ops-state { gap:.35rem; }
.ops-state::before { width:.38rem; height:.38rem; border-radius:50%; background:currentColor; content:""; }
.ops-metric strong { font-family:var(--vx-number); font-variant-numeric:tabular-nums; }

/* Responsive: mobile is re-composed rather than a squeezed desktop. */
@media (max-width: 760px) {
  .beta-main { width:min(100% - 1rem, 100%); padding-top:.9rem; padding-bottom:5.5rem; }
  .ff-home-identity { grid-template-columns:1fr; min-height:4.5rem; }
  .ff-home-identity::after { margin-bottom:.6rem; }
  .frank-first-foundation .browser-card-grid.ff-sport-worlds { display:grid; grid-template-columns:1fr; grid-auto-rows:auto; gap:.65rem; }
  .ff-sport-world:nth-child(n) { min-height:15.5rem; grid-column:1; }
  .ff-sport-world[data-feature-state="INACTIVE"] { min-height:8.5rem; }
  .nfl-b2b-home-facts { grid-template-columns:1fr; gap:.2rem; }
  .nfl-b2b-home-facts li { padding:.35rem .45rem .35rem .7rem; }
  .nfl-b2b-tabs { top:0; max-width:100%; }
  .nfl-b2b-matchup-row::after { display:none; }
  .frank-core-entry { left:auto !important; right:.65rem !important; bottom:4.8rem; width:3.15rem !important; min-width:3.15rem; max-width:3.15rem; height:3.15rem; padding:0; border-radius:.65rem; overflow:hidden; font-size:0; }
  .frank-core-entry::before { width:100%; height:100%; margin:0; border:0; font-size:1rem; }
  .frank-core-entry::after { display:none; }
  .fantasy-room-tabs { top:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; overflow:visible; white-space:normal; }
  .fantasy-room-tabs a { text-align:center; }
  .fantasy-room-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; overflow:visible; }
  .fantasy-room-actions :where(button,a) { width:100%; min-width:0; white-space:normal; }
  .fantasy-pick-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:100%; width:100%; overflow:visible; }
  .fantasy-pick-strip button { min-width:0; }
  .fantasy-pick-strip button::after { display:none; }
  .fantasy-board-head { display:grid; padding:.85rem; }
  .fantasy-board-legend { display:grid; grid-template-columns:1fr; }
  .fantasy-player-table tr { grid-template-columns:repeat(2,minmax(0,1fr)); border-left:3px solid var(--fantasy-market); }
  .fantasy-player-table td:nth-child(n) { grid-column:auto; }
  .fantasy-player-table td:first-child, .fantasy-player-table td:nth-child(8), .fantasy-player-table td:nth-child(9) { grid-column:1 / -1; }
  .fantasy-player-table td:nth-child(7), .fantasy-player-table td:nth-child(8), .fantasy-player-table td:nth-child(9) { padding:.55rem; background:rgba(230,188,99,.04); }
  .fantasy-tier-lanes { display:grid; overflow:visible; }
  .fantasy-tier-lanes article { min-width:0; }
  .operations-main > .beta-page-heading { display:grid; }
  .operations-main > .beta-page-heading .beta-button { width:100%; }
}

@media (max-width: 380px) {
  .nfl-b2b-home-headline { font-size:1.4rem; }
  .fantasy-room-actions, .fantasy-pick-strip, .fantasy-room-tabs { grid-template-columns:1fr; }
  .fantasy-player-table tr { grid-template-columns:repeat(2,minmax(0,1fr)); padding:.75rem; }
  .fantasy-impl-hero h1, .fantasy-room-header h1 { font-size:2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
  .ff-sport-world:hover { transform:none; }
}

@media (forced-colors: active) {
  .ff-sport-world::before, .operations-main .admin-panel::before { background:CanvasText; }
  .beta-button, .ff-sport-world, .fantasy-player-table-wrap, .admin-panel { border:1px solid CanvasText; }
}
