/*
 * Visual Install 1 — owner-directed premiere leap.
 * Representative surfaces only: Home, NFL research, Frank, Fantasy War Room.
 * Product behavior and truth contracts remain untouched.
 */

:root {
  --leap-night: #02070d;
  --leap-navy: #071522;
  --leap-ink: #f6f4ed;
  --leap-muted: #9cabb8;
  --leap-gold: #f3c86d;
  --leap-cyan: #63c8ff;
  --leap-green: #72e1ad;
  --leap-display: "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --leap-type-display: clamp(4.5rem, 8vw, 8rem);
  --leap-type-page: clamp(2.8rem, 5vw, 5.6rem);
  --leap-type-section: clamp(2rem, 3.8vw, 4.4rem);
  --leap-type-title: clamp(1.25rem, 2vw, 2rem);
  --leap-type-body: .92rem;
  --leap-type-data: clamp(1.7rem, 2.8vw, 2.65rem);
  --leap-type-label: .72rem;
  --leap-type-meta: .74rem;
}

/* HOME — an editorial sports front, not a directory of cards. */
.frank-first-foundation .ff-home-identity {
  position: relative;
  min-height: 13rem;
  align-items: end;
  padding: 2.7rem 0 1.8rem;
  overflow: hidden;
  border-bottom: 1px solid rgba(243, 200, 109, .48);
}
.frank-first-foundation .ff-home-identity::before {
  position: absolute;
  right: -2rem;
  bottom: -4.5rem;
  width: 27rem;
  height: 13rem;
  opacity: .45;
  background:
    radial-gradient(circle at 70% 34%, rgba(99, 200, 255, .4), transparent 13%),
    repeating-radial-gradient(ellipse at 90% 100%, transparent 0 22px, rgba(255,255,255,.05) 23px 24px);
  content: "";
}
.frank-first-foundation .ff-home-identity h1 {
  max-width: 8ch;
  margin: 0;
  font-family: var(--leap-display);
  font-size: var(--leap-type-display);
  font-weight: 950;
  line-height: .75;
  letter-spacing: -.085em;
  text-transform: uppercase;
  text-wrap: balance;
}
.frank-first-foundation .ff-home-identity::after {
  position: relative;
  z-index: 1;
  max-width: 20ch;
  padding-bottom: .5rem;
  color: #d8e0e7;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.55;
  text-align: right;
  text-transform: uppercase;
}
.frank-first-foundation .browser-card-grid.ff-sport-worlds {
  gap: 1px !important;
  overflow: hidden;
  border: 1px solid rgba(166, 193, 216, .15);
  border-radius: 0;
  background: rgba(166, 193, 216, .2);
  box-shadow: 0 3rem 8rem rgba(0, 0, 0, .42);
}
.frank-first-foundation .ff-sport-world {
  min-height: 29rem;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  isolation: isolate;
}
.frank-first-foundation .ff-sport-world::after {
  position: absolute;
  z-index: 1;
  right: -1rem;
  bottom: -2.5rem;
  color: rgba(255,255,255,.035);
  font-family: var(--leap-display);
  font-size: clamp(7rem, 13vw, 13rem);
  font-weight: 950;
  line-height: .75;
  letter-spacing: -.08em;
  content: attr(data-living-sport);
  text-transform: uppercase;
  pointer-events: none;
}
.frank-first-foundation .ff-sport-world-link::after {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(1, 5, 9, .06), rgba(1, 5, 9, .28) 42%, rgba(1, 5, 9, .96)),
    linear-gradient(120deg, color-mix(in srgb, var(--sport-accent) 20%, transparent), transparent 44%);
}
.frank-first-foundation .ff-sport-art {
  z-index: 0;
  inset: -2%;
  filter: saturate(.92) contrast(1.08);
  transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .6s ease;
}
.frank-first-foundation .ff-sport-world[data-living-sport="nfl"] .ff-sport-art {
  opacity: .56;
  background: url("/assets/images/visual-install-1/nfl-stadium-atmosphere-v2.png") center 68% / cover no-repeat;
}
.frank-first-foundation .ff-sport-world[data-living-sport="college-football"] .ff-sport-art {
  opacity: .44;
  background:
    linear-gradient(90deg, rgba(208,112,35,.28), transparent 48%),
    repeating-linear-gradient(90deg, transparent 0 9.8%, rgba(255,255,255,.1) 10% 10.15%, transparent 10.3% 20%),
    linear-gradient(145deg,#35190b,#07101a);
}
.frank-first-foundation .ff-sport-world[data-living-sport="premier-league"] .ff-sport-art {
  opacity: .42;
  background:
    radial-gradient(circle at 50% 62%, transparent 0 15%, rgba(255,255,255,.15) 15.3% 15.8%, transparent 16.1%),
    linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,.13) 50%, transparent 50.3%),
    linear-gradient(145deg,#063f35,#07101a);
}
.frank-first-foundation .ff-sport-world[data-living-sport="mlb"] .ff-sport-art {
  opacity: .43;
  background:
    linear-gradient(45deg, transparent 48.8%, rgba(255,255,255,.12) 49.3% 50.7%, transparent 51.2%),
    linear-gradient(-45deg, transparent 48.8%, rgba(255,255,255,.08) 49.3% 50.7%, transparent 51.2%),
    radial-gradient(circle at 50% 72%, rgba(204,65,48,.24), transparent 30%),
    linear-gradient(145deg,#3d130f,#07101a);
}
.frank-first-foundation .ff-sport-world-link:hover .ff-sport-art,
.frank-first-foundation .ff-sport-world-link:focus-visible .ff-sport-art {
  transform: scale(1.055);
  filter: saturate(1.15) contrast(1.12) brightness(1.08);
}
.frank-first-foundation .ff-sport-world[data-living-sport="horse"] { min-height: 13rem; }
.frank-first-foundation .ff-sport-world[data-living-sport="horse"] .ff-sport-world-copy { justify-content: center; }
.frank-first-foundation .ff-sport-world-copy {
  z-index: 3;
  max-width: none;
  justify-content: flex-end;
  padding: clamp(1.5rem, 3vw, 2.65rem);
}
.frank-first-foundation .ff-sport-world[data-living-sport] .ff-sport-world-copy > strong:first-child {
  position: absolute;
  top: 1.55rem;
  left: clamp(1.5rem, 3vw, 2.65rem);
  color: #fff;
  font-family: var(--leap-display);
  font-size: .78rem;
  letter-spacing: .2em;
  display: block;
  width: 38%;
  line-height: 1.25;
}
.frank-first-foundation .ff-sport-cue {
  position: absolute;
  top: 1.65rem;
  right: clamp(1.5rem, 3vw, 2.65rem);
  margin: 0;
  color: var(--sport-accent);
  font-size: .72rem;
  letter-spacing: .18em;
  display: block;
  width: 52%;
  line-height: 1.25;
  white-space: normal;
  text-align: right;
}
.frank-first-foundation .ff-event-versus {
  display: grid;
  grid-template-columns: minmax(0,1fr) 2.8rem minmax(0,1fr);
  gap: .7rem;
  align-items: end;
  margin: 0 0 1.15rem;
}
.frank-first-foundation .ff-event-team { min-width: 0; }
.frank-first-foundation .ff-event-mark {
  width: 3.4rem;
  height: 3.4rem;
  border: 0;
  border-radius: .3rem;
  background: rgba(255,255,255,.1);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 1rem 2.5rem rgba(0,0,0,.32);
  clip-path: polygon(12% 0,88% 0,100% 20%,100% 80%,88% 100%,12% 100%,0 80%,0 20%);
}
.frank-first-foundation .ff-event-team > span {
  width: 100%;
  max-width: 9ch;
  overflow-wrap: normal;
  font-size: clamp(1.65rem, 2.35vw, 2.75rem);
  line-height: .9;
  letter-spacing: -.055em;
}
.frank-first-foundation .ff-event-versus > i {
  align-self: center;
  padding-bottom: 1.5rem;
}
.frank-first-foundation .nfl-b2b-home-time {
  padding: 0;
  border-radius: 0;
  color: #fff;
  background: none;
  font-size: .82rem;
  letter-spacing: .035em;
}
.frank-first-foundation .nfl-b2b-home-facts {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top-color: rgba(255,255,255,.2);
}
.frank-first-foundation .nfl-b2b-home-facts li { font-size: .78rem; line-height: 1.45; }
.frank-first-foundation .nfl-b2b-currentness { font-size: var(--leap-type-meta); line-height: 1.4; }
.frank-first-foundation .ff-analyst-state {
  width: fit-content;
  margin-top: .55rem;
  padding: .38rem .62rem;
  border: 1px solid color-mix(in srgb,var(--sport-accent) 38%,transparent);
  border-radius: 999px;
  color: #f6f1e5;
  background: color-mix(in srgb,var(--sport-accent) 12%,rgba(3,8,14,.72));
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.frank-first-foundation .nfl-b2b-home-action {
  margin-top: .75rem;
  color: var(--sport-accent);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* NFL RESEARCH — full-bleed event theatre plus visual evidence. */
.nfl-b2b-experience { gap: 0; }
.nfl-b2b-subject {
  min-height: clamp(38rem, 65vh, 50rem);
  margin: 0;
  padding: clamp(1.4rem, 3.5vw, 4rem);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(3,24,42,.88), rgba(2,7,12,.28) 40%, rgba(2,7,12,.25) 60%, rgba(14,52,38,.83)),
    linear-gradient(180deg, rgba(2,7,12,.12), rgba(2,7,12,.45) 55%, #02070d 100%),
    url("/assets/images/visual-install-1/nfl-stadium-atmosphere-v2.png") center 62% / cover no-repeat;
  box-shadow: 0 4rem 8rem rgba(0,0,0,.48);
}
.nfl-b2b-subject::before {
  opacity: .22;
  background:
    linear-gradient(90deg, transparent 49.85%, rgba(255,255,255,.24) 50%, transparent 50.15%),
    repeating-linear-gradient(90deg, transparent 0 9.9%, rgba(255,255,255,.08) 10% 10.1%, transparent 10.2% 20%);
}
.nfl-b2b-subject::after {
  inset: auto 8% -56% 8%;
  height: 28rem;
  border-color: rgba(255,255,255,.15);
  background: radial-gradient(ellipse, rgba(45,137,86,.28), transparent 64%);
}
.nfl-b2b-subject .nfl-b2b-overline {
  color: var(--leap-gold);
  font-size: var(--leap-type-label);
  letter-spacing: .24em;
}
.nfl-premiere-event-stage {
  grid-template-columns: minmax(0,1fr) 4rem minmax(0,1fr);
  gap: clamp(1rem, 5vw, 7rem);
  margin: clamp(3rem, 8vh, 7rem) auto 3rem;
}
.nfl-premiere-team { gap: 1.4rem; }
.nfl-premiere-team-mark {
  width: clamp(6.8rem, 10vw, 10rem);
  border: 0;
  border-radius: .7rem;
  background: linear-gradient(145deg,rgba(101,199,255,.23),rgba(3,23,39,.8));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), 0 2rem 5rem rgba(0,0,0,.46), 0 0 5rem rgba(53,157,224,.19);
  clip-path: polygon(13% 0,87% 0,100% 18%,100% 82%,87% 100%,13% 100%,0 82%,0 18%);
  font-size: clamp(1.8rem,3vw,3rem);
}
.nfl-premiere-team-home .nfl-premiere-team-mark {
  background: linear-gradient(145deg,rgba(114,225,173,.24),rgba(4,38,29,.84));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), 0 2rem 5rem rgba(0,0,0,.46), 0 0 5rem rgba(114,225,173,.17);
}
.nfl-premiere-team strong {
  width: 100%;
  max-width: 11ch;
  color: #fff;
  font-size: clamp(2.5rem, 3.8vw, 4.15rem);
  line-height: .82;
  letter-spacing: -.065em;
  overflow-wrap: normal;
  text-shadow: 0 1rem 3rem rgba(0,0,0,.62);
}
.nfl-premiere-at {
  width: 4rem;
  height: 4rem;
  border-color: rgba(243,200,109,.44);
  color: var(--leap-gold);
  background: rgba(2,7,12,.76);
  box-shadow: 0 0 3rem rgba(243,200,109,.12);
}
.nfl-premiere-research-lens {
  max-width: 76rem;
  border: 0;
  background: rgba(2,7,12,.68);
  box-shadow: inset 0 1px rgba(255,255,255,.12), 0 1.3rem 4rem rgba(0,0,0,.3);
  backdrop-filter: blur(20px);
}
.nfl-premiere-research-lens > * {
  padding: 1rem .9rem;
  font-size: var(--leap-type-label);
  letter-spacing: .1em;
}
.nfl-b2b-subject-meta { margin-top: 1.4rem; color: #e7edf2; }
.nfl-b2b-subject-actions { top: 1.8rem; right: 2rem; }
.nfl-b2b-subject-actions .beta-button { border: 0; border-radius: 999px; }
.nfl-b2b-tabs {
  top: 0;
  gap: 2.2rem;
  margin: 0;
  padding: .2rem 1.8rem;
  border: 0;
  border-bottom: 1px solid rgba(177,202,224,.14);
  border-radius: 0;
  background: rgba(2,7,12,.91);
}
.nfl-premiere-truth-deck {
  grid-template-columns: 1.5fr .75fr;
  margin-top: 2.2rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.nfl-premiere-truth-deck > section { padding: clamp(1.5rem,3vw,3rem); }
.nfl-premiere-truth-deck > section:first-child { background: linear-gradient(120deg,rgba(15,40,61,.78),rgba(5,14,23,.35)); }
.nfl-premiere-truth-deck > section+section { border: 0; background: linear-gradient(140deg,rgba(19,54,38,.68),rgba(4,13,20,.32)); }
.witb-metric-intelligence {
  margin-top: 2.5rem;
  padding: clamp(1.7rem,3.5vw,3.8rem);
  border-radius: 0;
  background:
    radial-gradient(circle at 12% 0,rgba(70,168,230,.22),transparent 30%),
    radial-gradient(circle at 90% 100%,rgba(90,191,137,.16),transparent 30%),
    #05101a;
}
.witb-metric-intelligence > header h2 { max-width: 14ch; font-size: var(--leap-type-page); line-height: .86; }
.witb-matchup-metric-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(177,202,224,.12); }
.witb-matchup-pair { border-radius: 0; background: #06111b; }
.witb-matchup-pair > header { min-height: 5rem; padding: 1.2rem 1.35rem; }
.witb-matchup-pair-sides .witb-metric-card { min-height: 11rem; }
.witb-metric-card summary { min-height: 11rem; }
.witb-distribution-track { height: .52rem; }

/* FRANK — visible intelligence with a real editorial presence. */
.frank-core-entry {
  min-width: 12.5rem;
  min-height: 4.1rem;
  padding-left: 4.8rem;
  border: 0;
  color: #fff;
  background: linear-gradient(110deg,#0d3049,#06101a 72%);
  box-shadow: 0 1.6rem 4.5rem rgba(0,0,0,.58), inset 0 0 0 1px rgba(243,200,109,.32);
}
.frank-core-entry::before {
  left: .35rem;
  width: 3.45rem;
  height: 3.45rem;
  display: grid;
  place-items: center;
  border: 0;
  color: #07111b;
  background: linear-gradient(145deg,#f8dd91,#d9a943);
  box-shadow: 0 0 0 2px rgba(243,200,109,.62), 0 0 2rem rgba(243,200,109,.18);
  content: "F";
  font-family: Georgia,serif;
  font-size: 1.35rem;
  font-weight: 800;
}
.frank-core-workspace,
.frank-core-workspace[data-frank-state] {
  width: min(38rem,47vw) !important;
  max-height: calc(100dvh - 1.5rem);
  border-left: 1px solid rgba(243,200,109,.22);
  border-radius: 1.8rem 0 0 1.8rem;
  background:
    radial-gradient(circle at 12% 0,rgba(50,145,205,.28),transparent 24%),
    linear-gradient(180deg,#081725,#03090f 74%);
  box-shadow: -3rem 0 9rem rgba(0,0,0,.68);
}
.frank-core-workspace > header {
  position: relative;
  display: block;
  min-height: 11.5rem;
  padding: 1.4rem 9rem 1.25rem 1.5rem;
  overflow: hidden;
  background:
    linear-gradient(110deg,rgba(32,89,128,.42),transparent 60%),
    radial-gradient(circle at 8% 110%,rgba(243,200,109,.14),transparent 34%);
}
.frank-core-workspace > header .frank-core-expand,
.frank-core-workspace > header .frank-core-close { position: absolute; top: 1.4rem; z-index: 2; }
.frank-core-workspace > header .frank-core-expand { right: 3.6rem; }
.frank-core-workspace > header .frank-core-close { right: 1.5rem; }
.frank-core-workspace > header .frank-core-identity {
  display: grid;
  grid-template-columns: 6rem minmax(0,1fr);
  gap: 1.15rem;
  align-items: center;
  padding: 0;
}
.frank-core-workspace > header .frank-core-identity::before {
  position: static !important;
  display: grid;
  width: 5.6rem;
  height: 5.6rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  color: #07111b;
  background: linear-gradient(145deg,#f8dd91,#d9a943);
  box-shadow: 0 0 0 .55rem rgba(243,200,109,.035),0 1.5rem 4rem rgba(0,0,0,.42),0 0 3rem rgba(243,200,109,.13);
  content: "F";
  font-family: Georgia,serif;
  font-size: 2.25rem;
  font-weight: 800;
}
.frank-core-identity .beta-kicker { color: var(--leap-gold) !important; font-size: var(--leap-type-label) !important; }
.frank-core-identity h2 { font-size: clamp(2.3rem,3.15vw,3.15rem) !important; line-height: .9; }
.frank-core-presence { color: #d7e2ea; }
.frank-core-specialties {
  display: block;
  margin-top: .45rem;
  color: #8fb4cd;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.frank-core-context {
  margin: 0;
  padding: .95rem 1.35rem .95rem 3.25rem;
  border-radius: 0;
  background: linear-gradient(90deg,rgba(99,200,255,.18),rgba(99,200,255,.025));
}
.frank-core-messages { padding: 1.4rem 1.5rem 2rem; }
.frank-core-empty { max-width: 23ch; margin: 3.2rem auto; font-size: 1.65rem; line-height: 1.18; }
.frank-core-message { border-radius: 0 1rem 1rem 1rem; background: rgba(255,255,255,.06); }
.frank-core-message-you { border-radius: 1rem 0 1rem 1rem; background: linear-gradient(125deg,rgba(49,139,199,.48),rgba(22,61,91,.42)); }
.frank-core-form { padding: 1.1rem 1.5rem 1.4rem; background: rgba(2,7,12,.94); }
.frank-core-form textarea { min-height: 5.8rem; border-radius: 1rem; background: rgba(0,4,8,.72); }

/* WAR ROOM — draft theatre, fast decisions, no admin-shell feeling. */
.fantasy-room-header {
  grid-template-columns: minmax(19rem,.95fr) minmax(28rem,1.3fr) auto;
  min-height: 25rem;
  padding: clamp(2rem,4vw,4.2rem);
  border-radius: 0;
  background:
    linear-gradient(90deg,rgba(5,20,33,.95),rgba(5,16,27,.48) 48%,rgba(2,8,13,.84)),
    repeating-linear-gradient(90deg,transparent 0 8.25%,rgba(255,255,255,.045) 8.35% 8.45%,transparent 8.55% 16.66%),
    radial-gradient(circle at 72% 12%,rgba(69,164,224,.32),transparent 27%),
    radial-gradient(circle at 10% 112%,rgba(243,200,109,.22),transparent 35%),
    #071522;
  box-shadow: 0 4rem 9rem rgba(0,0,0,.48);
}
.fantasy-room-header::before {
  opacity: .38;
  background:
    linear-gradient(120deg,transparent 64%,rgba(255,255,255,.09) 64.3%,transparent 64.6%),
    repeating-linear-gradient(115deg,transparent 0 78px,rgba(255,255,255,.055) 79px 80px);
}
.fantasy-room-identity h1 {
  max-width: 8ch;
  font-size: clamp(3.4rem,5.8vw,6.35rem);
  line-height: .8;
  letter-spacing: -.07em;
}
.fantasy-room-pulse {
  align-self: end;
  border: 0;
  border-radius: 0;
  background: rgba(255,255,255,.14);
}
.fantasy-room-pulse > div { min-height: 8.5rem; justify-content: end; padding: 1.2rem 1.35rem; background: rgba(3,12,20,.72); }
.fantasy-room-pulse strong { font-size: var(--leap-type-data); }
.fantasy-room-actions { align-self: start; }
.fantasy-room-actions .beta-button { min-height: 3.6rem; border-radius: 0; }
.fantasy-room-tabs { margin-top: 0; padding-top: 1rem; }
.fantasy-snake { margin-top: 0; border-radius: 0; background: linear-gradient(95deg,#12344e,#07111b 72%); }
.fantasy-pick-strip { overflow-x: clip; }
.fantasy-board-head { padding-top: 3rem; }
.fantasy-board-head h2 { max-width: 10ch; font-size: clamp(3rem,4.6vw,4.5rem); line-height: .86; }
.fantasy-board-controls { border-radius: 0; }
.fantasy-player-table-wrap { overflow: clip; border-radius: 0; background: #050c13; }
.fantasy-player-table { border-spacing: 0; }
.fantasy-player-table th { height: 3.5rem; color: #aebdca; background: #091725; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.fantasy-player-table td { font-size: .8rem; line-height: 1.35; }
.fantasy-room-actions .beta-button,
.fantasy-load-more { font-size: .78rem; letter-spacing: .045em; }
.fantasy-player-table td { height: 4.5rem; }
.fantasy-player-table tr::after { width: 4px; inset: 0 auto 0 0; border-radius: 0; }
.fantasy-player-mark { border-radius: .3rem; clip-path: polygon(12% 0,88% 0,100% 20%,100% 80%,88% 100%,12% 100%,0 80%,0 20%); }
.fantasy-load-more { min-height: 4rem; border: 0; border-top: 1px solid rgba(166,193,216,.14); color: var(--leap-gold); background: #07131e; text-transform: uppercase; letter-spacing: .08em; }
.fantasy-player-inspector { border-top: 0; border-left: 4px solid var(--leap-gold); border-radius: 0; }

@media (max-width: 760px) {
  .frank-first-foundation .ff-home-identity { min-height: 12rem; padding: 2rem 0 1.3rem; }
  .frank-first-foundation .ff-home-identity h1 { max-width: 100%; font-size: clamp(3.2rem,15vw,4.2rem); line-height: .8; }
  .frank-first-foundation .ff-home-identity::after { max-width: 26ch; font-size: .74rem; letter-spacing: .11em; text-align: left; }
  .frank-first-foundation .browser-card-grid.ff-sport-worlds {
    display: flex;
    gap: 1px !important;
    margin-right: -1rem;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-left: 0;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: rgba(243,200,109,.52) rgba(255,255,255,.05);
  }
  .frank-first-foundation .ff-sport-world:nth-child(n) {
    flex: 0 0 min(84vw, 24rem);
    min-height: 27rem;
    scroll-snap-align: start;
  }
  .frank-first-foundation .ff-sport-world[data-living-sport="horse"] { min-height: 13rem; }
  .frank-first-foundation .ff-sport-world-copy { justify-content: flex-end; padding: 1.35rem; }
  .frank-first-foundation .ff-sport-world[data-living-sport] .ff-sport-world-copy > strong:first-child { top: 1.3rem; left: 1.35rem; }
  .frank-first-foundation .ff-sport-cue { top: 1.4rem; right: 1.35rem; }
  .frank-first-foundation .ff-sport-cue { max-width: 55%; line-height: 1.25; text-align: right; }
  .frank-first-foundation .ff-event-versus { grid-template-columns: minmax(0,1fr) 1.5rem minmax(0,1fr); gap: .3rem; margin-top: auto; }
  .frank-first-foundation .ff-event-team > span { max-width: 8ch; font-size: clamp(1.15rem,5.7vw,1.5rem); line-height: .94; }
  .frank-first-foundation .ff-event-versus > i { padding-bottom: .9rem; font-size: .6rem; }
  .frank-first-foundation .nfl-b2b-home-facts { grid-template-columns: 1fr 1fr; }
  .frank-first-foundation .nfl-b2b-home-facts li:last-child { grid-column: 1/-1; }
  .frank-first-foundation .ff-analyst-state { font-size: .63rem; }

  .nfl-b2b-subject { min-height: 42rem; padding: 1.2rem; background-position: center bottom; }
  .nfl-premiere-event-stage { grid-template-columns: minmax(0,1fr) 1.9rem minmax(0,1fr); gap: .15rem; margin: 5rem auto 2rem; }
  .nfl-premiere-team { min-width: 0; gap: .8rem; }
  .nfl-premiere-team-mark { width: 4.2rem; }
  .nfl-premiere-team strong { max-width: 8ch; font-size: clamp(1.2rem,6.2vw,1.62rem); line-height: .86; }
  .nfl-premiere-at { width: 1.9rem; height: 1.9rem; font-size: .55rem; }
  .nfl-premiere-research-lens { display: grid; grid-template-columns: 1fr; margin-top: 1rem; }
  .nfl-premiere-research-lens > * { padding: .72rem .55rem; border-top: 1px solid rgba(255,255,255,.08); font-size: .65rem; letter-spacing: .08em; text-align: center; }
  .nfl-b2b-subject-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem .65rem; font-size: .74rem; line-height: 1.45; text-align: center; }
  .nfl-b2b-subject-actions { position: static; margin-top: 1.2rem; }
  .nfl-b2b-tabs { gap: 1.3rem; padding: .15rem .75rem; }
  .nfl-premiere-truth-deck { margin-top: 1rem; }
  .nfl-premiere-truth-deck > section { padding: 1.2rem; }
  .witb-metric-intelligence { padding: 1.25rem; }
  .witb-metric-intelligence > header h2 { font-size: 2.55rem; line-height: .9; }
  .witb-matchup-metric-grid { grid-template-columns: 1fr; }

  .frank-core-entry { width: 4rem !important; min-width: 4rem; max-width: 4rem; height: 4rem; bottom: 4.6rem; padding: 0; font-size: 0 !important; color: transparent !important; }
  .frank-core-entry::before { left: .25rem; width: 3.5rem; height: 3.5rem; }
  .frank-core-workspace,
  .frank-core-workspace[data-frank-state] { width: 100% !important; height: min(44rem,88dvh); max-height: 88dvh; border-radius: 1.5rem 1.5rem 0 0; }
  .frank-core-workspace > header { position: relative; display: block; min-height: 8.6rem; padding: 1rem 5.4rem 1rem 1rem; }
  .frank-core-workspace > header .frank-core-identity { grid-template-columns: 4.5rem minmax(0,1fr); gap: .85rem; align-items: center; }
  .frank-core-workspace > header .frank-core-identity::before { width: 4.25rem; height: 4.25rem; font-size: 1.75rem; }
  .frank-core-workspace > header .frank-core-expand,
  .frank-core-workspace > header .frank-core-close { position: absolute; top: 1rem; z-index: 2; }
  .frank-core-workspace > header .frank-core-expand { right: 3.25rem; }
  .frank-core-workspace > header .frank-core-close { right: 1rem; }
  .frank-core-workspace > header .frank-core-expand { font-size: 0; }
  .frank-core-workspace > header .frank-core-expand::before { content: "↗"; font-size: 1rem; }
  .frank-core-identity h2 { font-size: 2rem !important; }
  .frank-core-presence { display: block; max-width: 17ch; line-height: 1.25; }
  .frank-core-specialties { font-size: .66rem; line-height: 1.35; }
  .frank-core-context { padding-left: 2.7rem; }
  .frank-core-messages { padding: 1.1rem 1rem 1.5rem; }
  .frank-core-empty { margin: 2rem auto; font-size: 1.5rem; line-height: 1.2; }
  .frank-core-form { padding: .85rem 1rem 1rem; }
  .frank-core-form textarea { min-height: 4.8rem; }

  .fantasy-room-header { grid-template-columns: 1fr; min-height: 0; padding: 1.4rem; }
  .fantasy-room-identity h1 { max-width: 9ch; font-size: clamp(3rem,13.5vw,3.9rem); line-height: .84; }
  .fantasy-room-pulse { grid-template-columns: 1fr 1fr; }
  .fantasy-room-pulse > div { min-height: 6.2rem; padding: .8rem; }
  .fantasy-room-pulse > div:last-child { grid-column: 1/-1; min-height: 4.8rem; }
  .fantasy-room-pulse strong { font-size: 2.15rem; }
  .fantasy-room-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1px;
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }
  .fantasy-room-actions .beta-button { min-width: 0; width: 100%; min-height: 3.5rem; font-size: .76rem; line-height: 1.25; white-space: normal; }
  .fantasy-room-tabs { display: flex; gap: .35rem; min-height: 0; overflow-x: auto; padding: .55rem 0; white-space: nowrap; }
  .fantasy-snake { padding: 1.15rem; }
  .fantasy-pick-strip { display: flex; gap: .35rem; max-width: 100%; overflow-x: auto; scroll-snap-type: x proximity; }
  .fantasy-pick-strip > button { flex: 0 0 5.25rem; min-height: 5.6rem; scroll-snap-align: start; }
  .fantasy-board-head h2 { font-size: 3.1rem; line-height: .88; }
  .fantasy-board-head { padding-top: 2rem; }
  .fantasy-board-controls { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; padding: .85rem; }
  .fantasy-board-controls .fantasy-filter-search,
  .fantasy-board-controls .fantasy-help { grid-column: 1 / -1; }
  .fantasy-player-table tbody { display: grid; gap: .65rem; padding: .65rem; }
  .fantasy-player-table tr {
    display: grid !important;
    grid-template-columns: 1.15fr repeat(4,minmax(0,.72fr));
    gap: 0;
    padding: .8rem;
    border: 0 !important;
    border-left: 3px solid rgba(99,200,255,.46) !important;
    border-radius: 0 !important;
    background: linear-gradient(100deg,rgba(12,31,47,.95),rgba(5,13,21,.92)) !important;
  }
  .fantasy-player-table td { display: grid !important; min-width: 0; height: auto !important; padding: .55rem .4rem !important; border: 0 !important; }
  .fantasy-player-table td::before { margin-bottom: .2rem; color: #7890a4; font-size: .56rem; letter-spacing: .07em; }
  .fantasy-player-table td[data-label="Player"] { grid-column: 1/-1; padding: 0 0 .7rem !important; border-bottom: 1px solid rgba(166,193,216,.12) !important; }
  .fantasy-player-table td[data-label="Player"] button { grid-template-columns: 2.7rem minmax(0,1fr) !important; }
  .fantasy-player-table td[data-label="Pos"],
  .fantasy-player-table td[data-label="ECR"],
  .fantasy-player-table td[data-label="ADP"],
  .fantasy-player-table td[data-label="Proj"],
  .fantasy-player-table td[data-label="Expert tier"] { grid-row: 2; }
  .fantasy-player-table td[data-label="My tier"] { grid-column: 1/2; grid-row: 3; }
  .fantasy-player-table td[data-label="My price"] { grid-column: 2/5; grid-row: 3; }
  .fantasy-player-table td[data-label="My plan"] { grid-column: 5/6; grid-row: 3; }
  .fantasy-price-range { grid-template-columns: 1fr auto 1fr; gap: .2rem; }
  .fantasy-price-range input { min-width: 0; }
  .fantasy-quick-select,
  .fantasy-quick-tag { min-width: 0; width: 100%; }
  .fantasy-player-inspector { margin-top: 1rem; }
  .fantasy-player-inspector { padding: 1rem; }
  .fantasy-player-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; }
  .fantasy-player-facts > div { min-width: 0; padding: .65rem .45rem; }
  .fantasy-inspector-grid { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .fantasy-price-editor { grid-column: 1/-1; }
  .fantasy-player-inspector textarea { min-height: 4.5rem; }
  .fantasy-pick-window { display: block; min-width: 0; padding: 1.1rem; }
  .fantasy-pick-window > div,
  .fantasy-pick-window > form { width: 100%; min-width: 0; }
  .fantasy-window-grid { display: flex; width: 100%; max-width: 100%; gap: .6rem; overflow-x: auto; scroll-snap-type: x mandatory; }
  .fantasy-plan-lane { flex: 0 0 min(74vw,15rem); min-height: 13rem; scroll-snap-align: start; }
}

@media (max-width: 380px) {
  .fantasy-room-actions { grid-template-columns: 1fr; }
}

.browser-mobile-more { display: none; }
@media (max-width: 600px) {
  .browser-card-grid-secondary:not([data-mobile-expanded]) .browser-card-mobile-overflow { display: none; }
  .browser-card-grid-secondary .browser-mobile-more { display: block; width: 100%; min-height: 3.25rem; }
  .browser-card-grid-secondary .browser-mobile-more[hidden] { display: none; }
}

@media (min-width: 761px) and (max-width: 1200px) {
  .frank-first-foundation .ff-home-identity h1 { font-size: clamp(4.3rem,7.7vw,6.6rem); }
  .frank-first-foundation .ff-event-team > span { font-size: clamp(1.45rem,2.2vw,2.15rem); }
  .nfl-premiere-team strong { font-size: clamp(2.15rem,3.35vw,3.35rem); }
  .witb-metric-intelligence > header h2 { font-size: clamp(2.75rem,5vw,4.6rem); }
  .fantasy-room-identity h1 { font-size: clamp(3.2rem,5.3vw,5rem); }
  .fantasy-board-head h2 { font-size: clamp(2.8rem,4.5vw,4.4rem); }
}

@media (max-width: 350px) {
  .frank-first-foundation .ff-home-identity { min-height: 10.5rem; }
  .frank-first-foundation .ff-home-identity h1 { font-size: 3rem; }
  .frank-first-foundation .ff-sport-world-copy { padding: 1.05rem; }
  .frank-first-foundation .ff-sport-world[data-living-sport] .ff-sport-world-copy > strong:first-child { left: 1.05rem; }
  .frank-first-foundation .ff-sport-cue { right: 1.05rem; }
  .frank-first-foundation .ff-event-team > span { font-size: 1.08rem; }
  .nfl-premiere-event-stage { margin-top: 4.5rem; }
  .nfl-premiere-team-mark { width: 3.7rem; }
  .nfl-premiere-team strong { font-size: 1.16rem; }
  .nfl-premiere-research-lens > * { font-size: .62rem; }
  .witb-metric-intelligence > header h2 { font-size: 2.15rem; }
  .frank-core-workspace > header { padding-right: 5rem; }
  .frank-core-workspace > header .frank-core-identity { grid-template-columns: 3.9rem minmax(0,1fr); gap: .65rem; }
  .frank-core-workspace > header .frank-core-identity::before { width: 3.7rem; height: 3.7rem; font-size: 1.55rem; }
  .frank-core-identity h2 { font-size: 1.75rem !important; }
  .frank-core-specialties { font-size: .6rem; }
  .fantasy-room-identity h1 { font-size: 2.75rem; }
  .fantasy-room-pulse strong { font-size: 1.9rem; }
  .fantasy-board-head h2 { font-size: 2.75rem; }
  .fantasy-player-table td { font-size: .72rem; }
}

@media (prefers-reduced-motion: reduce) {
  .frank-first-foundation .ff-sport-art { transition: none; }
}
