.prototype-card-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  color: transparent;
  font-size: 0;
  filter: saturate(1.12) contrast(1.08);
}
.program-score-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.program-score-grid span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--muted);
  font-size: var(--t-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.program-score-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--green);
  font-size: clamp(1rem, 1.45vw, 1.28rem);
  line-height: 1.05;
}
.program-score-grid small {
  display: block;
  margin-top: 7px;
  color: #9fb0bd;
  font-size: var(--t-micro);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.1;
  text-transform: uppercase;
}
.program-guidance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.program-guidance p {
  margin: 8px 0 0;
  color: #b8c6d0;
  line-height: 1.4;
}
.squad-layout,
.squad-results-layout {
  margin-top: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 14px;
  align-items: start;
}
.squad-results-layout {
  grid-template-columns: 1fr;
}
.squad-deck {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 4px 0 12px;
}
.squad-build-controls {
  display: flex;
  gap: 8px;
  align-items: center;
}
.squad-build-controls select {
  flex: 1;
  min-width: 0;
}
@media (max-width: 900px) {
.squad-deck {
    grid-template-columns: 1fr;
  }
}
.squad-rail {
  display: grid;
  gap: 12px;
  align-content: start;
  position: sticky;
  top: 14px;
  max-height: calc(100vh - 28px);
  max-height: calc(100dvh - 28px);
  overflow-y: auto;
}
.squad-group-rotation .squad-group-grid {
  grid-template-columns: 1fr;
}
.squad-group-bullpen .squad-group-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 1100px) {
.squad-section[data-squad-section="pitchers"] .squad-section-body {
    grid-template-columns: 1fr;
  }
}
.squad-panel-head {
  cursor: pointer;
  user-select: none;
}
.squad-panel-caret {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-left: 8px;
  border-right: 2px solid var(--cyan-ink);
  border-bottom: 2px solid var(--cyan-ink);
  transform: rotate(45deg) translateY(-3px);
  transition: transform 0.15s ease;
}
.squad-panel.is-collapsed .squad-panel-caret {
  transform: rotate(-45deg) translateY(2px);
}
.squad-group-bench .squad-group-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.squad-slot-binder {
  text-align: center;
}
.squad-slot-binder .squad-slot-head strong {
  color: var(--cyan-ink);
  font-size: var(--t-small);
  letter-spacing: 0.06em;
}
.binder-art {
  position: relative;
  width: 100%;
  height: 158px;
  display: grid;
  place-items: center;
}
.binder-art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.squad-slot-binder.need-high .binder-art img {
  filter: drop-shadow(0 0 8px rgba(229, 57, 90, 0.55));
}
.squad-slot-binder.need-low .binder-art {
  opacity: 0.78;
}
.binder-empty {
  display: grid;
  gap: 2px;
  color: var(--dim);
  font-size: var(--t-lead);
  font-weight: 700;
}
.binder-empty small {
  font-size: var(--t-micro);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.binder-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  text-align: left;
}
.binder-meta [data-clear-starter],
.binder-meta [data-remove-slot] {
  flex: 0 0 auto;
  margin-left: auto;
}
.binder-name b {
  color: #ffffff;
  font-size: var(--t-body);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.binder-name em {
  font-style: normal;
  color: #91a3b0;
  font-size: var(--t-small);
}
.squad-slot-binder .priority-control {
  justify-content: center;
}
.squad-preset-row input {
  width: auto;
  min-width: 160px;
  flex: 1 1 160px;
  max-width: 240px;
}
.squad-preset-list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}
.squad-preset-empty {
  color: #91a3b0;
  font-size: var(--t-small);
}
.squad-preset-chip button {
  appearance: none;
  border: 0;
  background: none;
  color: var(--cyan-ink);
  font-size: var(--t-body);
  font-weight: 600;
  padding: 6px 4px 6px 12px;
  cursor: pointer;
}
.squad-preset-chip button:hover {
  color: var(--gold);
}
.squad-build-bar select {
  width: auto;
  min-width: 120px;
}
.squad-build-status {
  color: #9db4c0;
  font-size: var(--t-small);
  font-weight: 600;
}
.squad-fit-card.is-unowned {
  opacity: 0.82;
}
.squad-holes,
.squad-detail {
  border-color: rgba(241, 184, 75, 0.2);
  background:
    linear-gradient(135deg, rgba(241, 184, 75, 0.08), transparent 52%),
    rgba(15, 24, 33, 0.86);
}
.squad-detail h2 {
  margin: 0 0 10px;
  font-size: clamp(1.55rem, 2.5vw, 2.35rem);
  line-height: 1.02;
}
.squad-input-grid {
  display: grid;
  gap: 10px;
}
.squad-section-toggle {
  width: 100%;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background:
    linear-gradient(135deg, rgba(95, 199, 223, 0.12), rgba(85, 214, 165, 0.05)),
    rgba(8, 14, 22, 0.72);
  color: var(--ink);
  padding: 13px 14px;
  text-align: left;
}
.squad-section-toggle span {
  color: var(--cyan);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.squad-section-toggle small {
  color: var(--muted);
  font-size: var(--t-small);
  font-weight: 700;
}
.squad-section-toggle::after {
  content: "Hide";
  border: 1px solid rgba(147, 164, 179, 0.18);
  border-radius: 999px;
  color: var(--green);
  padding: 5px 8px;
  font-size: var(--t-small);
  font-weight: 700;
}
.squad-section.is-collapsed .squad-section-toggle::after {
  content: "Show";
}
.squad-section-body {
  display: grid;
  gap: 12px;
  padding: 12px;
}
.squad-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 0;
}
.squad-save-row span {
  color: var(--muted);
  font-size: var(--t-body);
  font-weight: 600;
}
.squad-save-row button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}
.squad-actions button {
  min-width: 0;
  border: 1px solid rgba(95, 199, 223, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(95, 199, 223, 0.1), rgba(85, 214, 165, 0.05)),
    rgba(8, 14, 22, 0.64);
  color: var(--ink);
  padding: 12px;
  text-align: left;
}
.squad-actions span,
.slot-best-upgrade span {
  display: block;
  color: var(--muted);
  font-size: var(--t-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.squad-actions strong,
.slot-best-upgrade strong {
  display: block;
  overflow: hidden;
  margin-top: 5px;
  color: var(--green);
  font-size: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.squad-actions small,
.slot-best-upgrade small {
  display: block;
  margin-top: 5px;
  color: #b8c6d0;
  font-size: var(--t-small);
  font-weight: 600;
  line-height: 1.32;
}
.squad-group h3,
.squad-hole-group h3 {
  margin: 0 0 10px;
  color: var(--cyan);
  font-size: var(--t-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.squad-group-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.squad-slot-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.squad-slot-head button,
.binder-meta [data-clear-starter],
.binder-meta [data-remove-slot] {
  border: 1px solid rgba(255, 101, 124, 0.22);
  border-radius: 999px;
  background: rgba(255, 101, 124, 0.08);
  color: #ffc6cf;
  padding: 5px 8px;
  font-size: var(--t-micro);
  font-weight: 700;
}
.squad-slot strong,
.starter-card-read b,
.starter-suggestions strong {
  color: var(--green);
  font-size: 1rem;
}
.squad-slot label {
  display: grid;
  gap: 5px;
}
.squad-slot span {
  color: var(--muted);
  font-size: var(--t-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.squad-slot input,
.squad-slot select {
  width: 100%;
  min-height: 40px;
  border: 1px solid rgba(147, 164, 179, 0.18);
  border-radius: 7px;
  background: rgba(8, 14, 22, 0.8);
  color: var(--ink);
  padding: 8px 9px;
}
.bullpen-role-select {
  width: min(136px, 100%);
  min-height: 36px;
  border-color: rgba(85, 214, 165, 0.3);
  background:
    linear-gradient(135deg, rgba(85, 214, 165, 0.1), rgba(95, 199, 223, 0.06)),
    rgba(8, 14, 22, 0.82);
  color: var(--green);
  font-size: 1rem;
  font-weight: 700;
}
.priority-control {
  display: grid;
  gap: 6px;
}
.priority-control > span {
  color: var(--muted);
  font-size: var(--t-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.priority-control > div {
  border: 1px solid rgba(147, 164, 179, 0.16);
  border-radius: 7px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: rgba(8, 14, 22, 0.8);
  padding: 4px;
}
.priority-control button {
  min-height: 34px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  font-size: var(--t-small);
  font-weight: 700;
}
.starter-card-read b,
.starter-card-read em {
  overflow: hidden;
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.starter-card-read em {
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--t-small);
  font-style: normal;
}
.starter-suggestions {
  display: grid;
  gap: 6px;
  max-height: 224px;
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-color: rgba(95, 199, 223, 0.65) rgba(8, 14, 22, 0.78);
  scrollbar-width: thin;
}
.starter-suggestions button {
  border: 1px solid rgba(147, 164, 179, 0.13);
  border-radius: 8px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  background: rgba(8, 14, 22, 0.68);
  color: var(--ink);
  padding: 7px;
  text-align: left;
}
.starter-suggestions button:hover,
.starter-suggestions button:focus-visible {
  border-color: rgba(95, 199, 223, 0.5);
  outline: none;
}
.starter-suggestions strong,
.starter-suggestions small {
  overflow: hidden;
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.starter-suggestions small,
.starter-suggestions p {
  margin: 0;
  color: var(--muted);
  font-size: var(--t-small);
}
.squad-hole-group {
  margin-top: 12px;
}
.squad-hole-group:first-child {
  margin-top: 0;
}
.squad-hole-group > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.squad-hole::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 14, 22, 0.95) 0%, rgba(12, 25, 38, 0.8) 54%, rgba(12, 25, 38, 0.36) 100%),
    var(--board-card-art, none);
  background-position: center, right 8px center;
  background-repeat: no-repeat;
  background-size: auto, auto 145%;
  opacity: 0;
  transform: translateX(4px) scale(1.01);
  transition: opacity 160ms ease, transform 160ms ease;
}
.squad-hole.has-card-art::before {
  opacity: 0.72;
}
.squad-hole.has-card-art:hover::before,
.squad-hole.has-card-art:focus-visible::before,
.squad-hole.has-card-art.is-active::before {
  opacity: 0.9;
  transform: translateX(0) scale(1);
}
.squad-hole::after {
  content: attr(data-position);
  position: absolute;
  right: -4px;
  bottom: -20px;
  color: rgba(238, 244, 248, 0.04);
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1;
}
.squad-hole > span:first-child {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(85, 214, 165, 0.12);
  color: var(--green);
  font-size: var(--t-small);
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.squad-hole strong {
  display: block;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.05;
  position: relative;
  z-index: 1;
}
.squad-hole em {
  overflow: hidden;
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--t-body);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
  z-index: 1;
}
.squad-hole small {
  display: block;
  margin-top: 3px;
  color: #b8c6d0;
  font-size: var(--t-small);
  font-weight: 700;
  line-height: 1.25;
  position: relative;
  z-index: 1;
}
.squad-hole-next {
  color: #8debd0 !important;
  font-weight: 600 !important;
}
.squad-restore-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.squad-restore-row button {
  border: 1px solid rgba(95, 199, 223, 0.28);
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(95, 199, 223, 0.08);
  color: #cfe8f6;
  font-weight: 700;
  cursor: pointer;
}
.squad-fit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.position-board button.has-card-art::before {
  opacity: 0.72;
}
.position-board button.has-card-art::after {
  text-shadow: 0 0 18px rgba(95, 199, 223, 0.16);
}
.position-board button.has-card-art:hover::before,
.position-board button.has-card-art:focus-visible::before,
.position-board button.has-card-art.is-active::before {
  opacity: 0.9;
  transform: translateX(0) scale(1);
}
.database-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card,
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card::before,
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card::after {
  overflow: visible;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:hover,
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:focus-visible {
  transform: none;
  border: 0;
  box-shadow: none;
  filter: brightness(1.08);
  outline: none;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:focus-visible .prototype-card-art {
  outline: 2px solid var(--cyan-ink);
  outline-offset: 3px;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card-art img {
  object-fit: cover;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card.alt .prototype-tag {
  background: linear-gradient(180deg, #103039, #08161e);
  border-color: rgba(116, 232, 182, 0.6);
  color: #8bf2c8;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card.budget .prototype-tag {
  background: linear-gradient(180deg, #103039, #08161e);
  border-color: rgba(255, 221, 122, 0.68);
  color: #ffe490;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card.alt .prototype-card-body {
  border-color: rgba(116, 232, 182, 0.6);
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card.budget .prototype-card-body {
  border-color: rgba(255, 221, 122, 0.6);
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card-body span {
  display: contents;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card.alt .prototype-card-body strong {
  color: #74e8b6;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card.budget .prototype-card-body strong {
  color: #ffdd7a;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card-body small {
  display: none;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card-body::after {
  content: "OVR";
  position: absolute;
  bottom: 6px;
  font-size: 0.36rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #9fd8e6;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-detail {
  display: none;
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:nth-of-type(1) { left: 31%; top: 3%; z-index: 3; animation: hero-fan-a 6s ease-in-out infinite; }
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:nth-of-type(2) { left: 0%; top: 20%; z-index: 1; animation: hero-fan-b 7s ease-in-out infinite; }
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:nth-of-type(3) { left: 60%; top: 25%; z-index: 2; animation: hero-fan-c 8s ease-in-out infinite; }
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:only-of-type { left: 28%; top: 10%; }
@media (max-width: 900px) {
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:nth-of-type(1) { left: 24%; }
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card:nth-of-type(3) { left: 52%; }
.tool-page .tool-hero .hero-stage.hero-fan .prototype-tag {
    font-size: var(--t-micro);
    letter-spacing: 0.04em;
    padding: 3px 6px 4px;
    white-space: normal;
    line-height: 1.2;
    transform: translate(-50%, calc(-100% + 5px));
  }
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card-body {
    width: 34px;
    height: 34px;
    right: -5px;
    bottom: -5px;
  }
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card-body::after {
    font-size: 0.3rem;
    bottom: 4px;
  }
}
@media (prefers-reduced-motion: reduce) {
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card { animation: none !important; }
}
.hero-squad-card span {
  position: relative;
  z-index: 1;
  display: block;
  color: #8fa7b8;
  font-size: var(--t-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hero-squad-card strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 8px;
  color: var(--neon-teal-ink);
  font-size: clamp(1.08rem, 1.9vw, 1.68rem);
  line-height: 1.02;
  text-shadow:
    0 2px 14px rgba(0, 0, 0, 0.88),
    0 0 16px rgba(41, 242, 192, 0.22);
}
.hero-squad-card em {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 10px;
  color: var(--neon-teal-ink);
  font-style: normal;
  font-weight: 700;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7);
}
.hero-stage-squad {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.squad-page .tool-hero .hero-stage.hero-fan .hero-art-card.hero-squad-card {
  width: clamp(130px, 11vw, 165px);
}
.tool-page .hero-stage .prototype-card::before,
.tool-page .hero-stage .prototype-card::after {
  display: none;
}
.tool-page .hero-stage .prototype-card .prototype-card-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.tool-page .hero-stage .prototype-card .prototype-card-body strong {
  font-size: clamp(1.25rem, 1.15vw, 1.5rem);
  line-height: 1;
}
@media (max-width: 900px) {
.prototype-card {
    min-height: 0;
    padding: 0 12px 14px;
  }
.prototype-tag {
    top: -38px;
    padding: 8px 14px;
    font-size: var(--t-micro);
  }
.prototype-card-body strong {
    font-size: 1.22rem;
  }
}
@media (max-width: 640px) {
.prototype-card {
    max-width: 340px;
    justify-self: center;
  }
}
@media (max-width: 640px) {
.tool-page .hero-stage .prototype-card .prototype-card-art {
    grid-row: 1 / span 3;
    width: 58px;
    aspect-ratio: 5 / 7;
  }
.tool-page .hero-stage .prototype-card .prototype-card-body {
    justify-content: start;
    text-align: left;
  }
.tool-page .hero-stage .prototype-card .prototype-card-body strong,
  .tool-page .hero-stage .prototype-card .prototype-card-body small {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
.squad-fieldview { margin-top: 18px; }
.fv-head { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.fv-head h2 { font-size: 1.35rem; }
.fv-headleft { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.fv-headright { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.fv-pill b { color: #fff; }
.fv-tabs button { padding: 10px 28px; border-radius: 999px; font-size: var(--t-body); font-weight: 600; color: #8fa2b2; background: none; border: 0; cursor: pointer; font-family: inherit; transition: color .15s, background .15s, box-shadow .15s; }
.fv-tabs button:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 2px; }
.fv-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 14px; align-items: start; }
.fv-pc { position: relative; z-index: 3; }
.fv-pc img { width: 100%; display: block; border: 0; border-radius: 6px 6px 0 0;
  -webkit-mask-image: linear-gradient(180deg, #000 66%, rgba(0,0,0,.5) 86%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 66%, rgba(0,0,0,.5) 86%, transparent 100%);
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.85)); }
.fv-nm { position: absolute; left: 0; right: 0; text-align: center; font-size: var(--t-micro); font-weight: 600; color: #eaf4fb; text-shadow: 0 2px 10px #000; z-index: 5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fv-up .fv-lbl { position: relative; z-index: 2; }
.fv-diamond { height: 668px; }
.fv-diamond .fv-fbg { position: absolute; inset: 0; background: url("/assets/field-diamond.webp") center 42% / cover no-repeat; opacity: .88; }
.fv-diamond .fv-fscrim { position: absolute; inset: 0; background:
  radial-gradient(ellipse 70% 60% at 50% 46%, transparent 40%, rgba(5,9,15,.5) 100%),
  linear-gradient(180deg, rgba(5,9,15,.6) 0%, rgba(5,9,15,.05) 26%, rgba(5,9,15,.5) 84%, rgba(5,9,15,.95) 100%); }
.fv-stagehead { position: absolute; top: 12px; left: 18px; right: 18px; z-index: 8; display: flex; align-items: baseline; gap: 12px; margin: 0;
  font-size: var(--t-micro); font-weight: 700; letter-spacing: .14em; color: var(--cyan-ink); text-transform: uppercase; text-shadow: 0 2px 10px #000; }
.fv-stagehead small { color: #b9c7d3; font-weight: 700; letter-spacing: .03em; text-transform: none; font-size: var(--t-small); }
.fv-stagehead .fv-avg em { font-style: normal; color: #fff; font-weight: 700; }
.fv-pos { position: absolute; width: 84px; transform: translate(-50%, -50%); cursor: pointer; z-index: 4; background: none; border: 0; padding: 0; font-family: inherit; }
.fv-pos .fv-pc img {
  -webkit-mask-image: linear-gradient(180deg, #000 52%, rgba(0,0,0,.55) 76%, rgba(0,0,0,.12) 92%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 52%, rgba(0,0,0,.55) 76%, rgba(0,0,0,.12) 92%, transparent 100%);
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.82)); }
.fv-pos .fv-pc.is-empty { height: 118px; }
.fv-pos .fv-glow { position: absolute; left: 50%; bottom: -10px; transform: translateX(-50%); width: 104px; height: 34px; border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(150,225,255,.26), rgba(120,200,235,.08) 54%, transparent 74%); filter: blur(6px); z-index: 1;
  animation: fvBreathe 10s ease-in-out infinite; }
.fv-pos .fv-nm { bottom: -14px; }
.fv-pos.is-sel .fv-pc img { filter: drop-shadow(0 12px 18px rgba(0,0,0,.85)) drop-shadow(0 0 14px rgba(127,233,255,.9)); }
.fv-pos:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 4px; border-radius: 8px; }
.fv-rot5 { display: grid; grid-template-columns: repeat(5, 1fr); }
.fv-mslot { position: relative; height: 250px; display: flex; align-items: flex-end; justify-content: center; cursor: pointer; background: none; border: 0; font-family: inherit; }
.fv-mslot .fv-dirt { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 206px; height: 164px;
  background: url("/assets/mound-clay.webp") center 62% / 206px auto no-repeat;
  -webkit-mask-image: radial-gradient(ellipse 62% 58% at 50% 72%, #000 40%, transparent 78%);
  mask-image: radial-gradient(ellipse 62% 58% at 50% 72%, #000 40%, transparent 78%); }
.fv-lightcol { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 206px; height: 216px; pointer-events: none; }
.fv-lightcol .fv-shaft { position: absolute; left: 50%; top: 0; transform: translateX(-50%); width: 164px; height: 196px;
  background: linear-gradient(180deg, rgba(200,230,250,.13) 0%, rgba(196,226,248,.075) 45%, rgba(190,222,246,.03) 74%, transparent 100%);
  clip-path: polygon(41% 0, 59% 0, 92% 100%, 8% 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.18) 22%, rgba(0,0,0,.7) 48%, #000 68%, rgba(0,0,0,.55) 88%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.18) 22%, rgba(0,0,0,.7) 48%, #000 68%, rgba(0,0,0,.55) 88%, transparent 100%);
  filter: blur(11px); animation: fvBreathe 9s ease-in-out infinite; }
.fv-lightcol .fv-pool { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); width: 138px; height: 44px; border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(150,225,255,.2), rgba(120,200,235,.06) 55%, transparent 74%); filter: blur(5px); animation: fvBreathe 9s ease-in-out infinite; }
.fv-mslot .fv-pc { width: 86px; margin-bottom: 28px; }
.fv-mslot .fv-pc.is-empty { height: 120px; }
.fv-mslot .fv-role { top: 6px; }
.fv-mslot .fv-nm { bottom: 6px; }
.fv-mslot:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: -4px; border-radius: 8px; }
.fv-penband .fv-pbg { position: absolute; inset: 0; border-radius: 0 0 12px 12px; background: url("/assets/bullpen.webp") center 52% / cover no-repeat; opacity: .82; }
.fv-penband .fv-pscrim { position: absolute; inset: 0; border-radius: 0 0 12px 12px; background: linear-gradient(180deg, rgba(5,9,15,.55) 0%, rgba(5,9,15,.15) 28%, rgba(5,9,15,.55) 72%, rgba(5,9,15,.92) 100%); }
.fv-penrow { position: absolute; left: 0; right: 0; bottom: 0; height: 204px; display: grid; grid-template-columns: repeat(8, 1fr); align-items: end; padding: 0 14px; }
.fv-parm { position: relative; height: 192px; display: flex; align-items: flex-end; justify-content: center; cursor: pointer; background: none; border: 0; font-family: inherit; }
.fv-plight { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 150px; height: 178px; pointer-events: none; }
.fv-plight .fv-sh { position: absolute; left: 50%; top: 0; transform: translateX(-50%); width: 120px; height: 156px;
  background: linear-gradient(180deg, rgba(198,228,248,.1) 0%, rgba(196,226,248,.05) 48%, transparent 100%);
  clip-path: polygon(42% 0, 58% 0, 88% 100%, 12% 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 26%, #000 62%, rgba(0,0,0,.5) 86%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 26%, #000 62%, rgba(0,0,0,.5) 86%, transparent 100%);
  filter: blur(10px); animation: fvBreathe 11s ease-in-out infinite; }
.fv-plight .fv-turf { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); width: 112px; height: 34px; border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(150,225,255,.17), transparent 72%); filter: blur(5px); }
.fv-parm .fv-pc { width: 78px; margin-bottom: 26px; }
.fv-parm .fv-pc.is-empty { height: 108px; }
.fv-parm .fv-role { top: 2px; }
.fv-parm .fv-nm { bottom: 6px; }
.fv-parm:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: -4px; border-radius: 8px; }
.fv-railhead { padding: 12px 14px; border-bottom: 1px solid rgba(95,199,223,.14); display: flex; align-items: center; gap: 8px; }
.fv-railbody { padding: 12px 14px 16px; }
/* Add room for the status strip below the page's existing nav scroll padding. */
.fv-rail, .fv-bloom { scroll-margin-top: 40px; }
@media (min-width: 1101px) {
.fv-rail { max-height: 668px; display: flex; flex-direction: column; }
.fv-railbody { overflow-y: auto; min-height: 0; overscroll-behavior: contain; }
}
.fv-hole p:last-child { font-size: var(--t-small); color: #c3ced8; margin: 4px 0 0; line-height: 1.45; }
.fv-brow { display: flex; align-items: center; gap: 9px; padding: 6px 0; border-bottom: 1px solid rgba(95,199,223,.08); width: 100%;
  background: none; border-left: 0; border-right: 0; border-top: 0; cursor: pointer; text-align: left; font-family: inherit; }
.fv-brow:hover { background: rgba(127,233,255,.06); }
/* Every other control in the rail states its focus; these rows were relying on
   the browser default, which is invisible against this ground. */
.fv-brow:focus-visible { outline: 2px solid var(--cyan); outline-offset: -2px; }
.fv-brow img { width: 30px; border-radius: 4px; display: block; }
.fv-brow .fv-who, .fv-brow .fv-sub { display: block; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fv-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.fv-swapout img { width: 40px; border-radius: 5px; display: block; }
.fv-replace { text-align: center; color: #7f93a4; font-size: var(--t-micro); font-weight: 600; letter-spacing: .1em; margin: 8px 0; }
.fv-search input { flex: 1; background: none; border: 0; color: #eaf4fb; font-size: var(--t-small); font-family: inherit; outline: none; min-width: 0; }
.fv-search input::placeholder { color: var(--dim); }
.fv-rlist { margin-top: 8px; }
.fv-rlist .fv-secl { margin: 10px 2px 3px; }
.fv-rrow:hover { background: rgba(127,233,255,.1); }
.fv-rrow img { width: 28px; border-radius: 4px; display: block; }
.fv-candidate { display: flex; align-items: center; border-radius: 7px; }
.fv-candidate .fv-rrow { min-width: 0; }
.fv-candidate.is-picked {
  background: linear-gradient(110deg, #26313b 0%, #19222b 48%, #10171f 100%);
  border-left: 2px solid #e8eef3;
  border-radius: 0 6px 6px 0;
  padding-left: 1px;
}
.fv-candidate.is-picked .fv-rrow:hover { background: none; }
.fv-candidate.is-picked .fv-rrow { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 2px 9px; }
.fv-candidate.is-picked .fv-rrow img { grid-row: span 2; }
.fv-candidate.is-picked .fv-tag { grid-column: 2; justify-self: start; margin: 2px 0 0; }
.fv-candidate.is-picked .fv-who,
.fv-candidate.is-picked .fv-sub { white-space: normal; overflow-wrap: anywhere; }
.fv-candidate .fv-rrow:focus-visible { outline: 2px solid var(--cyan); outline-offset: -2px; }
.fv-swapnote { font-size: var(--t-micro); color: #7f93a4; margin-top: 8px; line-height: 1.45; }
.fv-autowrap .squad-deck { grid-template-columns: 1fr; gap: 8px; }
.fv-autowrap .squad-preset-row { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 12px; }
@media (max-width: 1100px) {
.fv-grid { grid-template-columns: 1fr; }
.fv-diamond { height: 520px; }
.fv-pos { width: 66px; }
.fv-rot5 { grid-template-columns: repeat(3, 1fr); }
.fv-mslot { height: 210px; }
.fv-penband { height: auto; }
.fv-penrow { position: static; height: auto; grid-template-columns: repeat(4, 1fr); padding: 54px 14px 10px; }
}
@media (max-width: 640px) {
.fv-diamond { height: 560px; }
.fv-pos { width: 54px; }
.fv-pos .fv-nm { font-size: var(--t-micro); }
.fv-rot5 { grid-template-columns: repeat(2, 1fr); }
.fv-penrow { grid-template-columns: repeat(2, 1fr); }
.fv-tabs button { padding: 9px 18px; font-size: var(--t-small); }
.fv-headright { width: 100%; margin-left: 0; }
}
.fv-nm-last { display: none; }
@media (max-width: 640px) {
.fv-pos .fv-nm { left: 50%; right: auto; transform: translateX(-50%); width: 66px; bottom: 2px; }
.fv-pos .fv-nm-full { display: none; }
.fv-pos .fv-nm-last { display: inline; }
}
.fv-pri:hover { filter: brightness(1.25); }
.fv-pri:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 2px; }
.fv-swapout.is-empty { background: rgba(9,16,23,.7); border-color: rgba(95,199,223,.2); }
.fv-fitread h2 { font-size: 1rem; margin: 4px 0 6px; }
.fv-fitread p { font-size: var(--t-micro); color: #b9c7d3; line-height: 1.5; }
.fv-fitread .program-score-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 10px; }
.fv-fitread .program-guidance { grid-template-columns: 1fr; gap: 6px; margin-top: 10px; }
.squad-layout { grid-template-columns: 1fr; }
.squad-fieldview button { font-family: inherit; }
.fv-lens { display: flex; align-items: center; flex-wrap: wrap; gap: 0 22px;
  margin: 0 0 16px; border-bottom: 1px solid var(--line); }
.fv-l { padding: 0 0 8px; min-height: 36px; margin-bottom: -1px; cursor: pointer;
  border: 0; border-bottom: 2px solid transparent; background: none; color: var(--muted);
  font-family: var(--font-display); font-size: var(--t-body); font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase; }
.fv-l b { margin-left: 6px; font-family: var(--font-mono); color: var(--dim);
  font-variant-numeric: tabular-nums; }
.fv-l.is-on b { color: var(--cyan); }
.fv-pos .fv-up .fv-lbl { line-height: 1.15; font-variant-numeric: tabular-nums; }
.fv-pos.is-pick .fv-pc img {
  animation: fvPick 1.9s ease-in-out infinite; }
.fv-pos.is-can .fv-pc img {
  animation: none; filter: drop-shadow(0 10px 16px rgba(0,0,0,.75)) drop-shadow(0 0 9px rgba(95,199,223,.45)); }
.fv-pos.is-off .fv-pc img {
  opacity: .22; transition: opacity .2s; }
.fv-pos.is-off .fv-nm { opacity: .4; }
@media (prefers-reduced-motion: reduce) {
.fv-pos.is-pick .fv-pc img {
    animation: none; filter: drop-shadow(0 12px 18px rgba(0,0,0,.85)) drop-shadow(0 0 16px rgba(127,233,255,.95)); }
}
.fv-bloom.is-up { transform: translate(-50%, calc(-100% - 78px)); }
.fv-bloom.is-left { transform: translate(0, 84px); }
.fv-bloom.is-left.is-up { transform: translate(0, calc(-100% - 78px)); }
.fv-bloom.is-right { transform: translate(0, 84px); }
.fv-bloom.is-right.is-up { transform: translate(0, calc(-100% - 78px)); }
.fv-bhead { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; }
.fv-bcap b { color: var(--ink); font-weight: 600; }
.fv-bx { flex: 0 0 auto; width: 22px; height: 22px; cursor: pointer; border: 0; background: none;
  color: var(--dim); font-size: 16px; line-height: 1; }
.fv-bdelta { margin: 0 0 14px; padding: 0 0 14px; font-size: 11.5px; color: var(--dim);
  border-bottom: 1px solid rgba(95,199,223,.12); font-variant-numeric: tabular-nums; }
.fv-bdelta b { font-family: var(--font-mono); color: var(--sage); }
.fv-bdelta i { font-style: normal; color: var(--line); margin: 0 3px; }
.fv-opts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 10px; }
.fv-opts.is-all { grid-template-columns: repeat(4, 1fr); max-height: 250px; overflow-y: auto; }
.fv-opt { padding: 0; border: 0; background: none; cursor: pointer; display: grid; gap: 5px;
  justify-items: center; }
.fv-opt img { width: 100%; max-width: 52px; border-radius: 5px; display: block;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,.6)); transition: transform .14s ease, filter .14s ease; }
.fv-opt:hover img { transform: translateY(-3px);
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.75)) drop-shadow(0 0 12px rgba(127,233,255,.6)); }
.fv-opt.is-best img { filter: drop-shadow(0 10px 16px rgba(0,0,0,.8)) drop-shadow(0 0 13px rgba(127,233,255,.75)); }
.fv-opt:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 6px; }
.fv-on { font-size: var(--t-micro); font-weight: 600; color: var(--ink); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.fv-og { font-family: var(--font-mono); font-size: 11.5px; font-weight: 700;
  font-variant-numeric: tabular-nums; }
.fv-osrc { font-family: var(--font-display); font-size: var(--t-micro); font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--cyan); }
.fv-bmore, .fv-bsend, .fv-brel { margin: 10px 0 0; padding: 0; border: 0; background: none;
  cursor: pointer; display: block; font-size: 11.5px; text-decoration: underline;
  text-underline-offset: 3px; }
.fv-bmore { color: var(--dim); text-decoration-color: color-mix(in srgb, var(--dim) 45%, transparent); }
.fv-bsend { color: var(--cyan); text-decoration-color: color-mix(in srgb, var(--cyan) 45%, transparent); }
.fv-bsend:hover { text-decoration-color: var(--cyan); }
.fv-brel { color: #ff9fae; text-decoration-color: rgba(255,101,124,.4); }
.fv-brel:hover { text-decoration-color: #ff9fae; }
.fv-search.is-tight { margin: 0 0 14px; }
.fv-search input { width: 100%; min-height: 34px; padding: 0 2px; border: 0; border-radius: 0;
  border-bottom: 1px solid var(--line); background: none; color: var(--ink);
  font-family: inherit; font-size: var(--t-body); transition: border-color .14s ease; }
.fv-search.is-tight input { min-height: 30px; font-size: var(--t-small); }
.fv-search input::placeholder { color: var(--dim); }
.fv-search input:hover { border-bottom-color: color-mix(in srgb, var(--cyan) 45%, transparent); }
.fv-search input:focus { outline: none; border-bottom-color: var(--cyan); }
.fv-kick { margin: 0 0 8px; font-family: var(--font-display); font-size: var(--t-micro);
  font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan); }
.fv-lead:hover { background: rgba(95,199,223,.07); }
.fv-lead:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.fv-leadrow { display: flex; align-items: center; gap: 10px; }
.fv-leadrow img { width: 42px; border-radius: 5px; display: block; }
.fv-leadwho { display: block; font-size: var(--t-base); font-weight: 600; color: var(--ink); }
.fv-leadwho b { font-family: var(--font-mono); color: var(--cyan); font-variant-numeric: tabular-nums; }
.fv-leadsub { display: block; font-size: var(--t-small); color: var(--dim); }
.fv-leadgain { margin-left: auto; font-family: var(--font-mono); font-size: 19px; font-weight: 700;
  color: var(--sage); font-variant-numeric: tabular-nums; }
.fv-leadfoot { display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  flex-wrap: wrap; margin: 11px 0 0; padding: 11px 0 0; border-top: 1px solid rgba(95,199,223,.12); }
.fv-leadfine { margin: 0; font-size: 11.5px; color: var(--dim); font-variant-numeric: tabular-nums; }
.fv-leadfine b { font-family: var(--font-mono); color: var(--sage); }
.fv-go { flex: 0 0 auto; font-family: var(--font-display); font-size: var(--t-small); font-weight: 700;
  letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--cyan);
  text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: color-mix(in srgb, var(--cyan) 40%, transparent); }
.fv-rank { flex: 0 0 16px; font-family: var(--font-mono); font-size: var(--t-micro); font-weight: 700;
  color: var(--dim); font-variant-numeric: tabular-nums; }
.fv-allfree { display: inline-block; margin: 16px 0 0; padding: 0; border: 0; background: none;
  cursor: pointer; color: var(--cyan); font-size: 12.5px; text-decoration: underline;
  text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--cyan) 45%, transparent); }
.fv-allfree:hover { text-decoration-color: var(--cyan); }
.fv-pwq { margin: 12px 0 8px; font-family: var(--font-display); font-size: var(--t-micro);
  font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan); }
.fv-pwslot { display: flex; align-items: baseline; gap: 10px; width: 100%; padding: 9px 0;
  cursor: pointer; border: 0; border-top: 1px solid rgba(95,199,223,.1); background: none;
  text-align: left; }
.fv-pwslot:hover { background: rgba(127,233,255,.06); }
.fv-pwslot:focus-visible { outline: 2px solid var(--cyan); outline-offset: -2px; }
/* Wide enough for "Bench 4", not just "2B". At 34px the bench rows in this
   list wrapped their own label onto two lines. */
.fv-pwpos { flex: 0 0 58px; white-space: nowrap; font-family: var(--font-display); font-size: var(--t-body);
  font-weight: 700; letter-spacing: .06em; color: var(--ink); }
/* The fit read repaints every <p> inside it, which flattened the section
   heading of the placement block into body text. */
.fv-fitread .fv-pwq { font-size: var(--t-micro); color: var(--cyan); }
.fv-fitread .fv-pwfine { color: var(--dim); }
/* An empty bench seat: same row geometry as a player so the list stays a list,
   but the thumbnail is an outline instead of card art. Cyan, because the whole
   row is the invitation to act. */
.fv-brow.is-open .fv-who { color: var(--cyan); }
.fv-seat { flex: 0 0 30px; height: 42px; display: grid; place-items: center; border-radius: 4px;
  border: 1px dashed rgba(95,199,223,.42); color: var(--cyan);
  font-family: var(--font-body); font-size: var(--t-base); font-weight: 600; line-height: 1; }
.fv-brow.is-open:hover .fv-seat { border-style: solid; background: rgba(127,233,255,.08); }
.fv-pwd { flex: 0 0 auto; font-family: var(--font-mono); font-size: var(--t-base); font-weight: 700;
  font-variant-numeric: tabular-nums; }
.fv-pwfine { margin: 10px 0 0; font-size: var(--t-micro); line-height: 1.5; color: var(--dim); }
@media (max-width: 640px) {
.fv-bloom, .fv-bloom.is-left, .fv-bloom.is-right {
  left: 50% !important; right: auto; transform: translate(-50%, 84px);
}
.fv-bloom.is-up, .fv-bloom.is-left.is-up, .fv-bloom.is-right.is-up {
  transform: translate(-50%, calc(-100% - 78px));
}
}
.fv-role { font-size: var(--t-micro); }
.fv-tag, .fv-pri, .squad-own-tag {
  font-family: var(--font-display);
  font-size: var(--t-small);
  font-weight: var(--w-semi);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.fv-pri { letter-spacing: 0.08em; }
.fv-stat b { font-size: var(--t-lead); }
.fv-who { font-family: var(--font-body); font-size: var(--t-body); font-weight: var(--w-semi); letter-spacing: 0; text-transform: none; }
.fv-sub { font-family: var(--font-body); font-size: var(--t-small); font-weight: var(--w-reg); letter-spacing: 0; text-transform: none; font-variant-numeric: tabular-nums; }
.fv-nm  { font-family: var(--font-body); font-size: var(--t-small); font-weight: var(--w-semi); letter-spacing: 0; }
.fv-pill { font-family: var(--font-body); font-size: var(--t-body); font-weight: var(--w-med); letter-spacing: 0; }
.fv-tabs button { font-family: var(--font-display); font-size: var(--t-base); font-weight: var(--w-semi); letter-spacing: 0.05em; text-transform: uppercase; }
.fv-swapnote { font-family: var(--font-body); font-size: var(--t-small); font-weight: var(--w-reg); }
.fv-head h2, .squad-fieldview h2 { font-family: var(--font-display); font-size: var(--t-title); font-weight: var(--w-bold); letter-spacing: 0.01em; }
.fv-swapout .fv-who { font-size: var(--t-base); }
.squad-fit-main small { white-space: normal; text-overflow: clip; overflow: visible; }
.squad-fit-main small .squad-own-tag { margin-left: 6px; }
@media (min-width: 641px) {
.fv-pos .fv-nm { left: 50%; right: auto; transform: translateX(-50%); width: 124px; }
}
.squad-filterbar .sf-search { flex: 1 1 260px; min-width: 200px; }
/* v937: the same input Rankings' toolbar uses -- a neutral hairline on the
   page ground -- instead of the cyan-tinted box that read as the legacy app. */
.squad-filterbar .sf-search input {
  width: 100%;
  padding: 8px 11px;
  border-radius: var(--radius-l);
  border: 1px solid var(--line);
  background: rgba(13, 21, 29, .7);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--t-small);
}
.squad-filterbar .sf-search input::placeholder { color: var(--dim); }
.squad-filterbar .sf-inline { display: flex; align-items: center; gap: 7px; }
.squad-filterbar .sf-inline select {
  padding: 8px 11px;
  border-radius: var(--radius-l);
  border: 1px solid var(--line);
  background: rgba(13, 21, 29, .7);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--t-small);
}
.sf-panel label { display: flex; flex-direction: column; gap: 6px; }
.sf-panel select {
  padding: 8px 10px; border-radius: 9px;
  border: 1px solid rgba(95,199,223,.25);
  background: rgba(8,14,20,.9); color: var(--ink);
  font-family: var(--font-body); font-size: var(--t-body);
}
.sf-panel .check-filter { flex-direction: row; align-items: center; gap: 8px; }
.squad-meta {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin: 10px 2px 0;
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: #7f93a4;
}
.squad-meta-fits { font-variant-numeric: tabular-nums; color: #9fb0be; }
.squad-meta-fits::before { content: "·"; margin-right: 12px; color: var(--dim); }
.squad-save-chip:disabled { opacity: .6; cursor: default; }
.squad-save-chip:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 2px; }
.squad-save-note { font-size: var(--t-small); color: var(--dim); }
@media (max-width: 760px) {
.squad-filterbar { gap: 7px; }
.squad-filterbar .sf-search { flex: 1 1 100%; }
.sf-panel { left: 0; right: 0; width: auto; grid-template-columns: 1fr; }
.squad-meta { gap: 8px; }
.squad-save-chip { margin-left: 0; }
.squad-save-note { flex: 1 1 100%; }
}
.squad-filterbar .sf-inline { gap: 10px; }
.squad-filterbar .sf-inline select,
.sf-panel select {
  padding-right: 30px;
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #7f93a4 50%), linear-gradient(135deg, #7f93a4 50%, transparent 50%);
  background-position: right 14px center, right 9px center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.squad-filterbar .sf-inline select:hover,
.sf-panel select:hover {
  background-image: linear-gradient(45deg, transparent 50%, var(--cyan-ink) 50%), linear-gradient(135deg, var(--cyan-ink) 50%, transparent 50%);
}
.squad-filterbar { flex-wrap: wrap; }
.squad-meta {
  flex: 1 1 100%;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 2px 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(95,199,223,.12);
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: #7f93a4;
}
.squad-meta-fits {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  color: #cfe0ec;
}
.squad-meta-fits::before { content: "·"; margin-right: 10px; color: var(--dim); }
.fv-brow .fv-who, .fv-rrow .fv-who, .fv-swapout .fv-who,
.fv-brow .fv-sub, .fv-rrow .fv-sub, .fv-swapout .fv-sub {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv-benchhead { display: flex; align-items: center; gap: 8px; margin: 14px 0 8px; }
.fv-benchhead .fv-secl { margin: 0; }
.fv-step button { position: relative; width: 24px; height: 24px; border: 0; background: none; color: #9fb0be; cursor: pointer;
  font-family: var(--font-body); font-size: var(--t-base); font-weight: var(--w-semi); line-height: 1; }
.fv-step button::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; bottom: -10px; }
.fv-step button[disabled] { opacity: .3; cursor: default; }
.fv-step button:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 1px; border-radius: 5px; }
.squad-filterbar { column-gap: 26px; row-gap: 10px; }
.squad-filterbar .sf-inline { gap: 9px; }
.squad-filterbar { column-gap: 1.75rem; row-gap: 0.625rem; }
.squad-filterbar .sf-inline { gap: 0.75rem; }
.squad-filterbar .sf-inline select,
.sf-panel select { padding-left: 0.875rem; padding-right: 2rem; }
.squad-filterbar .sf-inline select { min-width: 0; }
.squad-filterbar .sf-inline select { flex: 0 1 auto; }
.squad-fit-results { display: block; }
.squad-fit-results .squad-fit-grid { margin-bottom: 4px; }
.fit-group { display: flex; align-items: center; gap: 10px; margin: 18px 0 6px; }
.fit-group:first-child { margin-top: 0; }
.fit-glabel {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--t-base);
  font-weight: var(--w-semi);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #cfe0ec;
  white-space: nowrap;
  flex: 0 0 auto;
}
.fit-gcount {
  margin-left: 6px;
  font-family: var(--font-mono);
  font-size: .6875rem;
  font-weight: var(--w-semi);
  letter-spacing: 0;
  color: #7f93a4;
}
.fit-grule { flex: 1 1 auto; height: 1px; background: rgba(95,199,223,.16); }
.fit-gnote { margin: 0 0 10px; font-size: var(--t-small); color: var(--dim); }
.fit-sort { flex: 0 0 auto; }
.fit-sort select {
  padding: 6px 30px 6px 12px;
  border-radius: 8px;
  border: 1px solid rgba(95,199,223,.25);
  background: rgba(8,14,20,.9);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--t-small);
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #7f93a4 50%), linear-gradient(135deg, #7f93a4 50%, transparent 50%);
  background-position: right 14px center, right 9px center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.fit-sort select:hover {
  background-image: linear-gradient(45deg, transparent 50%, var(--cyan-ink) 50%), linear-gradient(135deg, var(--cyan-ink) 50%, transparent 50%);
}
.fit-sort select:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 2px; }
.fit-expand:hover { border-color: rgba(127,233,255,.45); background: rgba(127,233,255,.05); }
.fit-expand:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 2px; }
.fit-expand small {
  display: block;
  margin-top: 4px;
  font-family: var(--font-body);
  font-size: var(--t-small);
  font-weight: var(--w-reg);
  letter-spacing: 0;
  text-transform: none;
  color: var(--dim);
}
@media (max-width: 640px) {
.fit-group { flex-wrap: wrap; row-gap: 8px; }
.fit-grule { display: none; }
.fit-sort { width: 100%; }
.fit-sort select { width: 100%; }
}
.tool-page:not(.advisor-page) .squad-panel .fit-sort select {
  padding: 7px 32px 7px 14px;
  border-radius: 9px;
  border: 1px solid rgba(95, 199, 223, .25);
  font-family: var(--font-body);
  font-size: var(--t-body);
  color: var(--ink);
  appearance: none;
  -webkit-appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, #7f93a4 50%) right 14px center / 5px 5px no-repeat,
    linear-gradient(135deg, #7f93a4 50%, transparent 50%) right 9px center / 5px 5px no-repeat,
    rgba(8, 14, 20, .9);
}
.tool-page:not(.advisor-page) .squad-panel .fit-sort select:hover {
  border-color: rgba(127, 233, 255, .45);
  background:
    linear-gradient(45deg, transparent 50%, var(--cyan-ink) 50%) right 14px center / 5px 5px no-repeat,
    linear-gradient(135deg, var(--cyan-ink) 50%, transparent 50%) right 9px center / 5px 5px no-repeat,
    rgba(8, 14, 20, .9);
}
@media (max-width: 640px) {
.tool-page:not(.advisor-page) .squad-panel .fit-sort select { font-size: 16px; }
}
.prototype-tag { min-height: 22px; }
.fv-stat b { white-space: nowrap; }
.fv-stat span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.fv-stat .tip:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
@media (max-width: 760px) {
.tool-page .tool-hero .hero-stage.hero-fan .prototype-tag {
    font-size: var(--t-micro);
    letter-spacing: .04em;
    padding: 3px 7px 4px;
    white-space: normal;
    line-height: 1.2;
    max-width: 100%;
  }
}
.fv-scale { display: inline-flex; align-items: center; gap: 8px; margin-left: 14px;
  background: none; border: 0; padding: 0; cursor: pointer; }
.fv-swmark { width: 12px; height: 8px;
  background: currentColor;
  -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 18" fill="none"><path d="M1 9h5.2l2.4-7 3.6 14 2.8-9.4 1.9 4.4H24" stroke="black" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/></svg>') center / contain no-repeat;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 18" fill="none"><path d="M1 9h5.2l2.4-7 3.6 14 2.8-9.4 1.9 4.4H24" stroke="black" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/></svg>') center / contain no-repeat; }
.fv-track i { position: absolute; top: 2px; width: 14px; height: 14px; border-radius: 50%;
  transition: left .15s ease, background .15s ease; }
.fv-track.is-ovr i { left: 3px; background: var(--sage); }
.fv-track.is-pulse i { left: 21px; background: var(--cyan); box-shadow: 0 0 8px rgba(95, 199, 223, .6); }
.fv-scale:focus-visible { outline: 2px solid rgba(95, 199, 223, .55); outline-offset: 3px; border-radius: 999px; }
.fv-up .fv-lbl { display: inline-flex; align-items: center; gap: 2px; }
@media (max-width: 900px) {
.fv-scale { margin-left: 8px; }
}
.fv-tag.is-owned .pulse-mark svg { width: 12px; height: auto; }
.fv-scale { gap: 10px; }
.fv-scale .fv-swlab { font-size: var(--t-base); letter-spacing: .06em; gap: 6px; }
.fv-scale .fv-swmark { width: 16px; height: 11px; }
.fv-scale .fv-track { width: 52px; height: 26px; }
.fv-scale .fv-track i { top: 3px; width: 18px; height: 18px; }
.fv-scale .fv-track.is-ovr i { left: 4px; }
.fv-scale .fv-track.is-pulse i { left: 28px; }
.fv-stat { --meaning: var(--steel); position: relative; overflow: hidden;
  padding: 12px 12px 11px 15px; border-color: rgba(45, 58, 70, .8); }
.fv-stat::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--meaning); }
.fv-stat.is-rating { --meaning: var(--cyan); }
.fv-stat.is-yours { --meaning: var(--violet); }
.fv-stat.is-gain { --meaning: var(--sage); }
.fv-stat b { font-family: var(--font-mono); font-size: 1.5rem; line-height: 1.05;
  display: flex; align-items: center; gap: 3px; }
.fv-stat span { margin-top: 3px; }
.fv-summary { gap: 9px; }
.fv-pill::before { content: ""; position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
  width: 6px; height: 6px; border-radius: 50%; background: var(--meaning);
  box-shadow: 0 0 8px color-mix(in srgb, var(--meaning) 75%, transparent); }
.fv-pill.is-rating { --meaning: var(--cyan); }
.fv-pill.is-yours { --meaning: var(--violet); }
.fv-pill::before { content: none; }
.fv-pilllab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  font-family: var(--font-display);
  font-size: var(--t-small);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #c6d7e3;
}
.fv-pill b {
  font-family: var(--font-mono);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.01em;
  color: #fff;
}
@media (max-width: 760px) {
.fv-pill { gap: 10px; padding: 9px 15px 9px 14px; }
.fv-pill b { font-size: 1.24rem; }
.fv-pilllab { font-size: var(--t-micro); letter-spacing: .08em; }
}
.fv-headright { display: inline-flex; align-items: center; gap: 9px; }
.fv-pill { padding: 0 18px 0 16px; gap: 12px; }
.fv-pill b { font-size: 1.28rem; }
@media (max-width: 760px) {
.fv-pill { padding: 0 14px 0 12px; gap: 9px; }
.fv-pill b { font-size: 1.12rem; }
}
@media (max-width: 760px) {
.fv-headright { flex-wrap: wrap; }
}
.squad-quirks { margin: 14px 0 0; }
.squad-quirks strong {
  display: block;
  font-family: var(--font-display);
  font-size: var(--t-micro);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--dim);
  margin: 0 0 9px;
  font-weight: 600;
}
.squad-quirks div { display: flex; flex-wrap: wrap; gap: 6px; }
.squad-quirks span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 11px 5px 6px;
  background: rgba(13, 21, 29, .6);
  cursor: help;
}
.prototype-card-art {
  box-shadow: none;
  filter: drop-shadow(0 9px 22px rgba(0, 0, 0, 0.48)) drop-shadow(0 0 12px rgba(0, 229, 255, 0.14));
}
.tool-page .tool-hero .hero-stage.hero-fan .prototype-card-art {
  box-shadow: none;
  filter: drop-shadow(0 12px 25px rgba(0, 0, 0, 0.55));
}
.squad-filterbar {
  border: none;
  border-radius: 0;
  background: none;
  /* v936: no border-top -- the hero above already closes with its hairline; a
     second one 20px under it read as a double rule (same fix as Rankings). */
  padding: 16px 0 0;
  margin-top: 20px;
}

/* Match the existing frameless actions in the squad controls and card pages. */
.squad-page .fv-confirm,
.squad-page .fv-clear {
  display: flex;
  align-items: center;
  min-height: 44px;
  width: 100%;
  padding: 8px 2px;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-family: var(--font-display);
  font-size: var(--t-base);
  font-weight: var(--w-semi);
  letter-spacing: var(--track-caps);
  text-align: left;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
}
.squad-page .fv-confirm { color: var(--ink); text-decoration-color: #697580; }
.squad-page .fv-candidate .fv-confirm { flex: none; width: auto; min-width: 60px; margin: 0 7px 0 0; padding: 8px 4px; white-space: nowrap; }
.squad-page .fv-clear { color: var(--red); margin-top: 0; }
.squad-page .fv-confirm:hover { color: #fff; text-decoration-color: currentColor; }
.squad-page .fv-clear:hover { text-decoration-color: currentColor; }
.squad-page .fv-confirm:focus-visible,
.squad-page .fv-clear:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.squad-page .fv-confirm:focus-visible,
.fv-candidate.is-picked .fv-rrow:focus-visible { outline-color: #dce6ee; }

/* Approved candidate layout. Color bands come from core.css .cp-t0..t5. */
.squad-page .squad-layout { grid-template-columns: minmax(0, 1fr); }
.squad-page .squad-results-panel {
  border: 0; border-top: 1px solid #354350; border-radius: 0;
  padding: 22px 10px 0; background: #090f16; box-shadow: none;
}
.squad-page .squad-results-panel::before { content: none; }
.squad-page .squad-fit-intro { margin: 10px 0 0; color: #a1b0bd; font-size: 13px; line-height: 1.5; }
.squad-page .squad-fit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px; }
.squad-page .squad-results-panel .squad-fit-card {
  position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) 72px;
  grid-template-rows: minmax(92px, auto) auto auto minmax(26px, auto) 30px;
  gap: 7px 12px; align-items: center; min-height: 0; min-width: 0;
  padding: 15px 12px 10px; border: 0; border-bottom: 1px solid #283644;
  border-radius: 5px; background: #0c141d; box-shadow: none; opacity: 1;
  text-align: left; color: #edf2f6; font-family: var(--font-body); text-transform: none;
  letter-spacing: normal; overflow: visible; outline-offset: 3px;
}
.squad-page .squad-results-panel .squad-fit-card:hover { background: #15212d; border-color: #283644; box-shadow: none; }
.squad-page .squad-results-panel .squad-fit-card.is-active {
  background: linear-gradient(110deg, #26313b 0%, #19222b 48%, #10171f 100%); border-color: #283644; box-shadow: none;
}
.squad-page .squad-fit-card.is-active::before {
  content: ""; position: absolute; left: 0; top: 15px; bottom: 12px;
  width: 2px; background: #ecf2f7; border-radius: 0; box-shadow: none;
}
.squad-page .squad-results-panel .squad-fit-card:focus-visible { outline: 2px solid #eff5fa; border-color: #283644; box-shadow: none; }
.squad-page .squad-fit-card b {
  display: inline; width: auto; height: auto; min-width: 0; min-height: 0;
  margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
  color: inherit; font: inherit;
}
.squad-page .squad-fit-card .database-art { grid-column: 1; grid-row: 1; width: 64px; height: 92px; }
.squad-page .squad-fit-card .database-art img { width: 100%; height: 100%; object-fit: contain; }
.squad-fit-player { grid-column: 2 / 4; grid-row: 1; min-width: 0; align-self: center; }
.squad-fit-player > strong { display: block; font-size: 18px; line-height: 25px; letter-spacing: -.2px; font-weight: 700; overflow-wrap: anywhere; }
.squad-fit-meta { display: block; font-size: 12px; line-height: 18px; color: #b0c0cd; }
.squad-fit-meta i { color: #708393; font-style: normal; margin: 0 3px; }
.squad-fit-hand { color: #c6cbdc; white-space: nowrap; }
.squad-page .squad-fit-hand b { color: #dfceff; font-weight: 650; }
.squad-fit-series { display: block; color: #95a9ba; font-size: 12px; line-height: 18px; overflow-wrap: anywhere; }
.squad-page .squad-fit-player .squad-own-tag {
  display: inline-flex; width: max-content; max-width: 100%; margin: 7px 0 0; padding: 0 6px;
  color: #ceb8ff; background: #242238; border: 1px solid #4e416c; border-radius: 4px;
  font: 600 11px/18px var(--font-display); letter-spacing: .7px; text-transform: uppercase;
}
.squad-page .squad-fit-player .squad-own-tag.is-unowned { color: #c2cdd6; border-color: #485665; background: #202b36; }
.squad-fit-destination {
  grid-column: 1 / 4; grid-row: 2; display: grid;
  grid-template-columns: 126px auto minmax(0, 1fr); align-items: baseline; gap: 8px; min-height: 23px;
}
.squad-fit-destination > small { font-size: 11px; line-height: 18px; color: #9aafbf; }
.squad-page .squad-fit-destination > b { font-size: 13px; color: #d0baff; font-weight: 600; white-space: nowrap; }
.squad-fit-gap { justify-self: end; text-align: right; color: #82cfe7; font-size: 13px; font-weight: 600; }
.squad-fit-gap small { display: inline; color: #9aafbf; font-size: 10px; font-weight: 400; margin-left: 3px; }
.squad-fit-destination.is-second { grid-row: 3; }
.squad-page .squad-fit-destination.is-second > b { color: #b7a7d4; }
.squad-fit-destination.is-second .squad-fit-gap { color: #a5bccd; font-weight: 500; }
.squad-fit-sale { grid-column: 1 / 3; grid-row: 4; display: flex; align-items: center; gap: 5px; min-width: 0; line-height: 22px; }
.squad-fit-sale > small { color: #95a8b7; font-size: 11px; }
.squad-fit-nosell { display: inline-flex; align-items: center; gap: 6px; color: #c1cdd6; font-size: 12px; }
.squad-fit-nosell > span { font-size: 13px; }
.squad-fit-money { color: var(--gold); display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 600; }
.squad-fit-action { grid-column: 3; grid-row: 4; justify-self: end; white-space: nowrap; color: #eaf0f5;
  font: 600 13px var(--font-display); letter-spacing: .6px; text-transform: uppercase;
  text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #63788a; }
.squad-fit-action span { margin-left: 3px; }
.squad-fit-bar { grid-column: 1 / 4; grid-row: 5; display: flex; align-items: center; gap: 12px;
  align-self: stretch; padding-top: 10px; border-top: 1px solid #30404c; }
.squad-fit-label { font: 600 14px var(--font-display); letter-spacing: 1px; color: #a8bac9; white-space: nowrap; text-transform: uppercase; }
.squad-page .squad-fit-label b { margin-left: 5px; color: #edf2f6; font: 700 20px/1 var(--font-display); letter-spacing: .1px; }
.squad-fit-track { display: block; flex: 1; height: 7px; background: rgba(45,58,70,.8); border-radius: 3px; overflow: hidden; }
.squad-fit-track > span { display: block; height: 100%; border-radius: 3px; background: var(--tone); }
.squad-fit-legend { color: #9dafbd; font-size: 12px; line-height: 1.7; margin: 18px 0 14px; }
.squad-fit-legend strong { color: #77d7ec; font-weight: 600; }
/* Option 2: the full squad above, a compact ribbon while reading fits below. */
.squad-page { overflow-anchor: none; }
.squad-page .fv-grid { grid-template-columns: minmax(0, 1fr); }
.squad-page .fv-head { padding: 16px 18px; background: linear-gradient(110deg,#101e29,#0d1620); border: 1px solid #2a3d4b; border-radius: 10px; }
.squad-page .fv-headleft { flex-wrap: wrap; }
.squad-page .fv-tabs button.is-on { background: linear-gradient(135deg,#2b4552,#1b2a38); color: #c3f1fa; box-shadow: inset 0 0 0 1px #536f7c; }
.squad-page .fv-diamond { height: 640px; }
.squad-page .fv-pos { width: 92px; }
.squad-page .fv-pos .fv-nm { font-size: 13px; }
.squad-page .fv-mslot { height: 280px; }
.squad-page .fv-mslot .fv-pc { width: 101px; }
.squad-page .fv-mslot .fv-up { bottom: 176px; }
.squad-page .fv-mslot .fv-dirt { width: 240px; max-width: 115%; height: 190px; background-size: 240px auto; }
.squad-page .fv-penband { height: 290px; }
.squad-page .fv-parm .fv-pc { width: 87px; }
.squad-page .fv-parm .fv-up { bottom: 158px; }
.squad-bench-strip { display: flex; gap: 16px; align-items: center; border: 1px solid #2a3d4b; border-radius: 7px; padding: 10px 16px; background: linear-gradient(110deg,#101b25,#0c141d); }
.squad-bench-strip > div { display: flex; flex-wrap: wrap; gap: 8px; flex: 1; }
.squad-bench-strip .squad-mini { flex: 1; min-width: 135px; max-width: 240px; }
.squad-tools { min-width: 0; border-bottom: 1px solid #2a3d4b; }
.squad-tools > summary { padding: 13px 4px; min-height: 44px; cursor: pointer; color: #dce6ed; font-size: 14px; }
.squad-tools > summary span { margin-left: 10px; color: #9bafbf; font-size: 12px; }
.squad-page .squad-tools .fv-rail { max-height: none; }
.squad-page .squad-tools .fv-railbody { overflow: visible; }
.squad-page .squad-tools .fv-autowrap .squad-deck { grid-template-columns: repeat(3,minmax(0,1fr)); }
.squad-page .squad-tools .fv-rlist { max-height: 420px; overflow-y: auto; }
.squad-page #squadFieldView { scroll-margin-top: calc(var(--squad-nav-offset,90px) + 12px); }
.squad-page .squad-main { min-width: 0; }
.squad-page .squad-layout { overflow: visible; }
.squad-ribbon { position: sticky; top: var(--squad-nav-offset,90px); z-index: 35; margin: 0 0 28px; padding: 9px 14px 0; background: #0d1721; border: 1px solid #3a4b5a; border-radius: 8px; box-shadow: 0 8px 22px #0005; }
.ribbon-top { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; min-height: 46px; }
.ribbon-title { font: 600 13px var(--font-display); letter-spacing: 1.5px; text-transform: uppercase; color: #a2b6c5; white-space: nowrap; }
.ribbon-tabs { display: flex; gap: 3px; padding: 3px; background: #080f17; border: 1px solid #344552; border-radius: 26px; }
.ribbon-tabs button { min-height: 44px; padding: 6px 14px; border: 0; border-radius: 24px; background: none; color: #aabac8; font: 600 13px var(--font-display); letter-spacing: .8px; text-transform: uppercase; cursor: pointer; }
.ribbon-tabs button[aria-pressed=true] { color: #c3f1fa; background: linear-gradient(135deg,#2b4552,#1b2a38); box-shadow: inset 0 0 0 1px #536f7c; }
.ribbon-score { display: flex; align-items: center; gap: 5px; margin-left: auto; font: 600 12px var(--font-display); text-transform: uppercase; letter-spacing: .6px; color: #b2c4d0; }
.ribbon-score b { margin-left: 5px; font-size: 24px; color: #a3e8f1; }
.squad-page .fit-text-action { display: inline-flex; align-items: center; min-height: 44px; border: 0; border-radius: 0; background: none; color: #edf3f8; padding: 5px 2px; font: 600 15px var(--font-display); letter-spacing: .5px; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #6d8090; cursor: pointer; }
.squad-page .fit-text-action:hover { color: #fff; text-decoration-color: currentColor; }
.squad-page .ribbon-expand { display: none; }
.squad-page .squad-mini { position: relative; display: grid; grid-template-columns: 33px minmax(0,1fr); grid-template-rows: 16px 50px; gap: 0 8px; min-width: 0; min-height: 76px; padding: 5px 8px; border: 1px solid transparent; border-radius: 5px; background: #15222b66; text-align: left; font-family: var(--font-body); color: #dce7ef; cursor: pointer; }
.squad-mini .mini-slot { grid-column: 1/-1; color: #c0cdd7; font: 600 10px var(--font-display); letter-spacing: 1px; text-transform: uppercase; }
.squad-mini img { grid-row: 2; grid-column: 1; width: 33px; height: 48px; object-fit: contain; }
.mini-person { min-width: 0; align-self: center; grid-column: 2; grid-row: 2; }
.mini-person strong { display: block; font-size: 11px; line-height: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-person small { display: block; font-size: 11px; line-height: 15px; color: #a4c3d3; }
.mini-empty { grid-row: 2; grid-column: 1; font-size: 26px; color: #95a9ba; text-align: center; }
.squad-bench-strip .squad-mini img { width: 46px; height: 67px; }
.squad-bench-strip .mini-person strong { white-space: normal; overflow-wrap: anywhere; }
.squad-bench-strip .mini-empty { align-self: center; }
.squad-page .squad-mini:hover { background-color: #223341; }
.squad-page .squad-mini.is-destination { border-color: #b09bc9; background-color: #292b3b; box-shadow: inset 2px 0 #d5c4ed; }
.ribbon-lineup { display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); gap: 6px; margin: 8px 0 10px; }
.ribbon-staff { display: grid; grid-template-columns: 5fr 8fr; gap: 20px; margin: 6px 0 10px; }
.ribbon-staff > div { min-width: 0; }
.ribbon-group-label { font: 600 10px var(--font-display); letter-spacing: 1.6px; color: #91a8b9; text-transform: uppercase; }
.ribbon-rotation > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; margin-top: 5px; }
.ribbon-bullpen > div { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 4px; margin-top: 5px; }
.squad-page .ribbon-staff .squad-mini { display: flex; flex-direction: column; align-items: center; padding: 3px 2px 5px; min-height: 99px; }
.ribbon-staff .mini-person { text-align: center; max-width: 100%; }
.ribbon-staff .mini-person strong, .ribbon-staff .mini-person small { font-size: 10px; line-height: 14px; }
.squad-page .ribbon-rotation .squad-mini { background-image: url('/assets/mound-clay.webp'); background-size: 120px auto; background-position: center 75%; background-repeat: no-repeat; }
.ribbon-context { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 51px; padding: 4px 0; border-top: 1px solid #344451; color: #a8becd; font-size: 12px; }
.ribbon-context-pair { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ribbon-context-pair > b { color: #d7c7ec; font: 600 13px var(--font-display); padding-right: 10px; border-right: 1px solid #556174; white-space: nowrap; }
.ribbon-context-pair img { width: 25px; height: 36px; object-fit: contain; }
.ribbon-context-pair strong { color: #e4edf4; font-size: 13px; }
.ribbon-context-pair em { color: #9de5ef; font: 700 19px var(--font-display); white-space: nowrap; }
.ribbon-context-status { color: #91a8b9; font-size: 11px; }
.squad-candidate { position: relative; height: 352px; min-width: 0; perspective: 1100px; }
.fit-turner { position: relative; height: 100%; transform-style: preserve-3d; }
.squad-candidate.is-open .fit-turner { transform: rotateY(180deg); }
.squad-page .squad-results-panel .squad-candidate .squad-fit-card { position: absolute; inset: 0; width: 100%; height: 100%; padding: 16px 18px 13px; grid-template-columns: 75px minmax(0,1fr) 72px; grid-template-rows: 112px auto auto 35px 36px; gap: 10px; border: 1px solid #2c3c49; border-radius: 7px; background: linear-gradient(135deg,#111d27,#0c151e 68%); backface-visibility: hidden; }
.squad-page .squad-candidate .squad-fit-card .database-art { width: 75px; height: 108px; }
.squad-page .squad-candidate .squad-fit-card:hover { border-color: #617586; background: linear-gradient(110deg,#22313e,#111c27 75%); }
.squad-fit-back { position: absolute; inset: 0; padding: 15px 17px 13px; border: 1px solid #3e5060; border-left: 2px solid #e7eef4; border-radius: 7px; background: linear-gradient(110deg,#26313b,#19222b 48%,#10171f); transform: rotateY(180deg); backface-visibility: hidden; display: grid; grid-template-rows: 49px 54px minmax(32px,1fr) minmax(32px,1fr) 44px 44px 36px; gap: 2px; color: #dce7ef; }
.fit-back-head { display: flex; align-items: center; gap: 11px; min-width: 0; }
.fit-back-head > span img { display: block; width: 34px; height: 49px; object-fit: contain; }
.fit-back-head > div { min-width: 0; flex: 1; }
.fit-back-head strong { display: block; font-size: 16px; line-height: 21px; }
.fit-back-head small { display: block; font-size: 11px; line-height: 17px; color: #b5c6d3; }
.fit-close { flex: none; width: 44px; height: 44px; border: 0; background: none; color: #e0eaf1; font-size: 25px; cursor: pointer; }
.fit-destinations { display: flex; gap: 9px; }
.fit-destinations button { flex: 1; min-width: 0; display: grid; grid-template-columns: 1fr auto; gap: 1px; text-align: left; padding: 6px 10px; border: 1px solid #465968; border-radius: 5px; background: #111d28; color: #e3d6f2; font-family: var(--font-body); cursor: pointer; }
.fit-destinations button[aria-pressed=true] { background: linear-gradient(110deg,#302d40,#222937); border-color: #a990c3; }
.fit-destinations small { grid-column: 1/-1; color: #b4c3d1; font-size: 10px; }
.fit-destinations b { font: 600 17px var(--font-display); }
.fit-destinations span { align-self: center; color: #a3deeb; font-size: 12px; }
.fit-replacement, .fit-reason { margin: 0; font-size: 12px; line-height: 18px; align-self: center; color: #b5c8d7; }
.fit-replacement strong { color: #edf4fa; }
.fit-replacement span { color: #9de5ef; white-space: nowrap; }
.fit-back-actions { display: flex; gap: 9px; align-items: center; justify-content: space-between; font-size: 12px; }
.fit-back-actions > span { display: inline-flex; align-items: center; gap: 4px; }
.fit-more { display: flex; align-items: center; min-height: 44px; color: #bdcad6; font-size: 11px; text-underline-offset: 3px; align-self: center; }
.squad-fit-back .squad-fit-bar { grid-row: auto; grid-column: auto; }
.squad-page .squad-fit-back .squad-fit-label b { font: 700 25px/1 var(--font-display); }
.squad-move-receipt { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 12px; padding: 22px; background: linear-gradient(110deg,#26313b,#131e28); border: 1px solid #627a8b; border-left: 2px solid #dfcdef; border-radius: 7px; }
.receipt-art img { display: block; width: 65px; height: 93px; object-fit: contain; }
.squad-move-receipt strong { font-size: 17px; line-height: 23px; }
.squad-move-receipt p, .fit-undo-status { margin: 0; font-size: 12px; line-height: 18px; color: #b3c7d6; }
.squad-ribbon button:focus-visible, .squad-mini:focus-visible, .squad-fit-back button:focus-visible, .fit-text-action:focus-visible, .squad-tools summary:focus-visible { outline: 2px solid #edf4fa; outline-offset: 2px; }
@media (max-width:1120px) {
  .squad-page .fv-head { flex-wrap: wrap; }
  .squad-bench-strip > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .squad-bench-strip .squad-mini { max-width: none; }
  .ribbon-lineup { gap: 3px; }
  .squad-page .ribbon-lineup .squad-mini { padding-inline: 3px; grid-template-columns: 28px minmax(0,1fr); column-gap: 4px; }
  .ribbon-lineup .squad-mini img { width: 28px; }
  .mini-person strong, .mini-person small { font-size: 10px; }
  .ribbon-staff { gap: 10px; }
  .squad-page .fv-penband { height: auto; }
  .squad-page .fv-rot5 { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .squad-page .fv-mslot .fv-pc { width: 83px; }
  .squad-page .fv-mslot { height: 255px; }
}
@media (max-width:700px) {
  .squad-page .fv-head { padding: 14px 10px; }
  .squad-page .fv-headleft { gap: 13px; }
  .squad-page .fv-headright { flex-wrap: wrap; }
  .squad-page .fv-pos { width: 58px; }
  .squad-page .fv-pos .fv-nm { font-size: 10px; }
  .squad-page .fv-pos[data-fv-slot="3B"] { left: 18% !important; }
  .squad-page .fv-pos[data-fv-slot="SS"] { left: 39% !important; }
  .squad-page .fv-stagehead { left: 12px; right: 12px; gap: 5px; flex-wrap: wrap; font-size: 11px; }
  .squad-page .fv-stagehead > small { display: none; }
  .squad-page .fv-rot5 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .squad-page .fv-mslot { height: 250px; }
  .squad-page .fv-mslot .fv-pc { width: 86px; }
  .squad-page .fv-mslot .fv-dirt { max-width: 130%; }
  .squad-bench-strip { align-items: flex-start; padding: 10px; flex-direction: column; gap: 8px; }
  .squad-bench-strip > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .squad-bench-strip .squad-mini { min-width: 0; max-width: none; }
  .squad-tools > summary span { display: block; margin: 4px 0 0; }
  .squad-page .squad-tools .fv-autowrap .squad-deck { grid-template-columns: 1fr; }
  .squad-ribbon { padding: 7px 10px 0; margin-bottom: 20px; }
  .ribbon-top { gap: 3px 8px; }
  .ribbon-top > .ribbon-title { display: none; }
  .ribbon-tabs { padding: 2px; }
  .ribbon-tabs button { padding: 5px 11px; font-size: 12px; }
  .ribbon-score { font-size: 10px; gap: 3px; }
  .ribbon-score b { font-size: 22px; }
  .squad-page .ribbon-expand { display: inline-flex; }
  .ribbon-top > .fit-text-action { font-size: 13px; min-height: 44px; }
  .ribbon-top > [data-ribbon-return] { margin-left: auto; }
  .ribbon-players { display: none; max-height: 215px; overflow-y: auto; overscroll-behavior: contain; }
  .players-expanded .ribbon-players { display: block; }
  .ribbon-lineup { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ribbon-staff { display: block; }
  .ribbon-rotation > div { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .ribbon-bullpen > div { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .ribbon-context { gap: 5px; min-height: 40px; font-size: 11px; flex-wrap: wrap; }
  .ribbon-context-pair { gap: 5px; flex: 1; font-size: 10px; flex-wrap: wrap; }
  .ribbon-context-pair img { width: 19px; height: 27px; }
  .ribbon-context-pair > b { padding-right: 6px; font-size: 11px; }
  .ribbon-context-pair strong { font-size: 11px; }
  .ribbon-context-pair em { font-size: 16px; }
  .ribbon-context-status { display: none; }
  .ribbon-context > .fit-text-action { font-size: 11px; min-height: 44px; }
  .squad-page .squad-results-panel .squad-candidate .squad-fit-card { padding: 14px 12px 12px; grid-template-columns: 68px minmax(0,1fr) 72px; column-gap: 10px; }
  .squad-page .squad-candidate .squad-fit-card .database-art { width: 68px; height: 98px; }
  .squad-fit-back { padding: 14px 12px 12px; }
}
@media (prefers-reduced-motion:reduce) {
  .fit-turner { transition: none; }
}
@media (max-width: 1120px) {
  .squad-page .squad-fit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .squad-fit-destination { grid-template-columns: 118px auto minmax(0, 1fr); gap: 6px; }
  .squad-fit-destination > small { font-size: 10px; }
  .squad-fit-gap { font-size: 12px; }
  .squad-fit-gap small { font-size: 9px; }
  .squad-fit-player > strong { font-size: 17px; }
  .squad-fit-meta { font-size: 11px; }
}
@media (max-width: 700px) {
  .squad-page .squad-results-panel { padding: 20px 0 0; }
  .squad-page .squad-fit-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .squad-page .squad-results-panel .squad-fit-card { padding: 14px 10px 10px; column-gap: 10px; }
  .squad-fit-destination { grid-template-columns: 115px auto minmax(0, 1fr); gap: 5px; }
  .squad-page .squad-fit-destination > b { font-size: 12px; }
  .squad-fit-meta i { margin: 0 2px; }
}

.squad-page .squad-mini.is-selected { border-color:#b8cbd9; background:linear-gradient(110deg,#304453,#1c2a36); box-shadow:inset 2px 0 #e3edf4; }
.squad-page .fv-pri { min-height:44px; width:max-content; max-width:100%; border-radius:5px; padding:7px 10px; font:600 12px/1.2 var(--font-display); letter-spacing:.06em; }
.squad-page .fv-pri.is-normal { background:#202d38; color:#c4d0da; border-color:#566675; }
.squad-page .fv-pri.is-low { background:#17212b; color:#a4b4c2; border-color:#445563; }
.squad-page .fv-pri.is-high { background:#34291b; color:var(--gold); border-color:#806239; }
.squad-page .fv-tag.is-free,.squad-page .fv-tag.is-move { border:1px solid #695b8b; border-radius:5px; background:#262239; color:#cfbbf3; font:600 12px/1.2 var(--font-display); padding:3px 7px; letter-spacing:.04em; }
.squad-page .fv-tag.is-market { display:inline-flex; align-items:center; gap:3px; background:#2b251b; border-color:#796441; color:var(--gold); }
.squad-page .fv-search { display:flex; gap:8px; align-items:center; }
.squad-page .fv-swapout.is-empty .fv-sub { color:var(--muted); }
/* Keep arrow + surface in one shorthand; older global hover rules reset it. */
.squad-page .squad-panel .squad-filterbar select,
.squad-page .squad-panel .squad-filterbar select:hover,
.squad-page .squad-panel .squad-filterbar select:focus {
  appearance:none; -webkit-appearance:none; min-height:44px; color:#edf3f7; border:1px solid #425868; border-radius:6px; padding:8px 32px 8px 12px;
  background:linear-gradient(45deg,transparent 50%,#b7c8d6 50%) right 15px center / 5px 5px no-repeat,
    linear-gradient(135deg,#b7c8d6 50%,transparent 50%) right 10px center / 5px 5px no-repeat,#101c26;
  box-shadow:none;
}
.squad-page .squad-panel .sf-panel { background:#101b25; border-color:#536b7c; border-radius:8px; isolation:isolate; }
.squad-page .squad-panel .sf-panel .check-filter { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:10px; min-height:44px; }
.squad-page .squad-panel .sf-panel input[type="checkbox"] { appearance:auto; width:18px; min-width:18px; height:18px; min-height:18px; flex:0 0 18px; margin:0; padding:0; border:0; box-shadow:none; accent-color:#a8bece; }
.squad-page .squad-panel .sf-panel .check-filter span { white-space:nowrap; }
.squad-page .sf-count { min-width:22px; height:22px; border:1px solid #667b8a; border-radius:5px; background:#253746; color:#e5eef5; }
@media(max-width:700px) {
  .squad-page .squad-panel .squad-filterbar select { font-size:16px; }
}

/* Compact bench artwork and focused lineup-style options. */
.squad-page .squad-bench-strip{width:fit-content;max-width:100%;padding:8px 10px;gap:12px;align-items:center;border-color:#334653}
.squad-bench-strip>div{display:flex;flex-wrap:wrap;gap:6px;flex:0 1 auto}
.squad-page .squad-bench-strip .squad-mini{flex:0 0 190px;width:190px;max-width:190px;min-width:0;min-height:76px;padding:4px 7px;grid-template-columns:46px minmax(0,1fr);grid-template-rows:17px 49px;gap:0 8px;align-content:center;border-radius:5px}
.squad-bench-strip .squad-mini .mini-slot{grid-column:2;grid-row:1;align-self:end;font-size:10px;line-height:14px}
.squad-bench-strip .squad-mini img{grid-column:1;grid-row:1/3;align-self:center;width:46px;height:67px}
.squad-bench-strip .mini-person{grid-column:2;grid-row:2;align-self:center}
.squad-bench-strip .mini-person strong{font-size:12px;line-height:15px;white-space:normal;overflow-wrap:normal}
.squad-bench-strip .mini-person small{font-size:11px;line-height:16px;white-space:nowrap}
.squad-bench-strip .mini-empty{grid-column:1;grid-row:1/3;align-self:center;font-size:23px;color:#849aa9}
@media(max-width:1120px){.squad-page .squad-bench-strip{flex-direction:column;align-items:flex-start}.squad-bench-strip>div{display:grid;grid-template-columns:repeat(3,minmax(0,190px))}.squad-page .squad-bench-strip .squad-mini{width:100%;max-width:none}}
@media(max-width:700px){.squad-page .squad-bench-strip{width:100%;padding:8px;gap:6px}.squad-bench-strip>div{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.squad-page .squad-bench-strip .squad-mini{padding:4px 5px;column-gap:6px;min-height:76px;grid-template-rows:17px minmax(49px,auto)}.squad-bench-strip .mini-person strong{font-size:11px;overflow-wrap:anywhere}}
html:has(.squad-page){scrollbar-gutter:stable}
.bench-focus-dialog:not([open]){display:none}
.bench-focus-dialog{position:fixed;inset:auto;margin:0;padding:0;border:0;border-radius:8px;width:min(700px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;color:#e5eef5;background:#111e29;box-shadow:0 25px 90px #0009,0 0 0 1px #6b8292;}
.bench-focus-dialog::backdrop{background:#03091270;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.bench-focus-dialog[open]{animation:bench-focus-in .16s ease-out}
@keyframes bench-focus-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bench-focus-dialog[open]{animation:none}}

.squad-page .squad-bench-editor{width:100%;max-width:none;margin:0;border:0;box-shadow:none;position:static}
.squad-page .squad-bench-editor[hidden]{display:none}
/* Reuse the lineup bloom's visual language; only its bench actions differ. */
.bench-focus-dialog{border-radius:14px;width:min(340px,calc(100vw - 24px));color:var(--ink);background:radial-gradient(120% 120% at 50% 0%,rgba(10,20,28,.97),rgba(5,10,15,.94) 70%);box-shadow:0 22px 54px #000b,0 0 0 1px rgba(95,199,223,.16) inset;}
.squad-page .squad-bench-editor{padding:12px 16px 10px;border-radius:14px;background:transparent}
.bench-focus-dialog .fv-bhead{margin:0 0 4px;min-height:36px}
.bench-focus-dialog .fv-bcap{font-size:12px}
.bench-focus-dialog .fv-bx{width:44px;height:44px;margin:-6px -10px -4px 0;font-size:20px}
.bench-focus-dialog .fv-bdelta{font-size:12px;line-height:20px;margin:0 0 10px;padding:0 0 12px}
.bench-focus-dialog .fv-bdelta b{white-space:nowrap}
.bench-focus-dialog .fv-bdelta b.is-cost,.bench-focus-dialog .fv-og.is-cost{color:var(--gold)}
.bench-focus-dialog .fv-search.is-tight{margin:0 0 14px}
.bench-focus-dialog .fv-search.is-tight input{font-size:14px;min-height:44px}
.squad-page .bench-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px}
.bench-focus-dialog .fv-opt{min-width:0;padding:2px;gap:5px;align-content:start;border-radius:5px}
.bench-focus-dialog .fv-opt img{width:62px;max-width:100%;height:88px;object-fit:contain}
.bench-focus-dialog .fv-on{font-size:12px}
.bench-focus-dialog .fv-og{display:flex;align-items:center;justify-content:center;gap:3px;font-size:12px}
.bench-focus-dialog .fv-osrc{font-size:11px;letter-spacing:1.1px}
.bench-focus-dialog .fv-opt.is-picked img{filter:drop-shadow(0 6px 12px #0009) drop-shadow(0 0 14px #7fe9ff90);transform:translateY(-2px)}
.bench-focus-dialog .fv-opt.is-picked .fv-on{color:var(--cyan);text-decoration:underline;text-underline-offset:4px}
.squad-page .bench-bloom-confirm .fv-confirm{display:block;width:100%;min-height:44px;margin:10px 0 0;font-size:13px}
.bench-focus-dialog .bench-bloom-roster{margin-top:6px}
.bench-focus-dialog .bench-bloom-roster>summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;color:var(--dim);font-size:11.5px}
.bench-focus-dialog .bench-bloom-roster .fv-opts{margin:8px 0 14px}
.bench-focus-dialog .bench-bloom-actions{border-top:1px solid rgba(95,199,223,.12);margin-top:4px;padding-top:4px}
.bench-focus-dialog .bench-bloom-positions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.bench-focus-dialog .bench-bloom-positions>span{font-size:11.5px;color:var(--dim)}
.bench-focus-dialog .bench-bloom-positions>div{display:flex;gap:1px;flex-wrap:wrap}
.bench-focus-dialog .bench-bloom-positions .fv-bsend{min-width:44px;min-height:44px;margin:0;padding:0 5px;font-size:12px}
.bench-focus-dialog .bench-bloom-utility{display:flex;justify-content:space-between;align-items:center;gap:8px}
.bench-focus-dialog .bench-bloom-utility .fv-brel{min-height:44px;margin:0;font-size:12px}
.squad-page .bench-bloom-utility .fv-pri{min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;color:var(--dim);font:400 11px var(--font-body);letter-spacing:0;text-transform:none;text-decoration:underline;text-decoration-color:#385365;text-underline-offset:3px;}
.squad-page .bench-bloom-utility .fv-pri.is-high{color:var(--gold)}
.bench-focus-dialog .bench-bloom-receipt{color:#c9e3ed;font-size:11.5px;line-height:17px;border-left:2px solid #8ebdcc;margin:0 0 12px;padding:6px 9px}
.bench-focus-dialog .bench-bloom-receipt .fv-bmore{min-height:44px;margin:0;font-size:12px}
.bench-focus-dialog .fv-opt:focus-visible,.bench-focus-dialog button:focus-visible,.bench-focus-dialog summary:focus-visible{outline:2px solid #cbeaf5;outline-offset:2px}
@media(max-width:700px){.bench-focus-dialog{width:min(340px,calc(100vw - 24px))}.bench-focus-dialog .fv-search.is-tight input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.bench-focus-dialog .fv-opt img{transition:none}}
