:root {
  --bg: #13284a;
  --bg-deep: #060d1d;
  --paper: rgba(18, 34, 61, 0.9);
  --paper-strong: rgba(22, 40, 72, 0.96);
  --surface: rgba(28, 49, 86, 0.86);
  --ink: #eef6ff;
  --muted: #afc0d8;
  --green: #21c97a;
  --green-soft: rgba(33, 201, 122, 0.14);
  --cyan: #69d4ff;
  --pink: #ff77aa;
  --gold: #f0b44a;
  --line: rgba(116, 182, 255, 0.13);
  --shadow: 0 14px 34px rgba(4, 8, 24, 0.28);
  --radius: 0px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
  isolation: isolate;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(106, 216, 255, 0.17), transparent 22%),
    radial-gradient(circle at 84% 10%, rgba(74, 132, 255, 0.14), transparent 24%),
    radial-gradient(circle at 70% 34%, rgba(116, 226, 255, 0.08), transparent 18%),
    radial-gradient(circle at 24% 76%, rgba(58, 110, 214, 0.11), transparent 26%),
    linear-gradient(180deg, #183864 0%, #102646 42%, #060c1d 100%);
  font-family: "Inter", "Avenir Next", "Trebuchet MS", sans-serif;
  line-height: 1.4;
}

button,
input,
select,
table,
th,
td,
label,
span,
p,
div {
  font-family: "Inter", "Avenir Next", "Trebuchet MS", sans-serif;
}

.page-shell {
  width: min(1520px, calc(100vw - 28px));
  margin: 0 auto;
  padding: 18px 0 40px;
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .compass-brief-copy,
  .compass-brief-chip,
  .compass-brief-loading-dots span,
  .squad-card,
  .squad-card.is-transfer-in,
  .squad-card.is-transfer-linked,
  .solution-transfer-row,
  .solver-lines-table tbody tr.is-active th,
  .solver-lines-table tbody tr.is-active td {
    animation: none !important;
    transition: none !important;
  }
}

.page-header {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 0 0 18px;
  padding: 16px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.page-header::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 78% 28%, rgba(94, 163, 255, 0.12), transparent 26%),
    linear-gradient(90deg, rgba(10, 18, 35, 0.97), rgba(18, 36, 66, 0.94) 48%, rgba(18, 48, 88, 0.92)),
    rgba(9, 16, 32, 0.92);
  box-shadow: 0 18px 48px rgba(4, 8, 24, 0.38);
  z-index: -1;
}

.page-nav-wrap {
  display: grid;
  gap: 0;
  justify-items: start;
  min-width: 0;
  flex: 1 1 auto;
}

.page-brand {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  color: var(--ink);
  text-decoration: none;
  margin-left: auto;
  flex-direction: row;
  text-align: left;
}

.page-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  min-height: 64px;
}

.page-brand-copy {
  display: grid;
  gap: 0;
  justify-items: start;
}

.page-brand-name {
  color: #eef6ff;
  font-size: clamp(1.7rem, 2.8vw, 2.2rem);
  font-weight: 900;
  line-height: 0.96;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.page-brand-subtitle {
  color: rgba(214, 229, 245, 0.62);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.page-brand-compass {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, rgba(105, 212, 255, 0.1), transparent 58%),
    rgba(7, 16, 30, 0.72);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.03),
    0 10px 22px rgba(0, 0, 0, 0.2);
}

.page-brand-compass__ring {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 2px solid rgba(159, 228, 255, 0.2);
}

.page-brand-compass__cardinal {
  position: absolute;
  color: #9fe4ff;
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
}

.page-brand-compass__cardinal:empty {
  display: none;
}

.page-brand-compass__cardinal-n {
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
}

.page-brand-compass__cardinal-e {
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
}

.page-brand-compass__cardinal-s {
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
}

.page-brand-compass__cardinal-w {
  top: 50%;
  left: 6px;
  transform: translateY(-50%);
}

.page-brand-compass__needle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 30px;
  border-radius: 999px;
  background: linear-gradient(180deg, #69ff9f 0 50%, #ff7a7a 50% 100%);
  transform: translate(-50%, -50%) rotate(30deg);
  box-shadow:
    0 0 10px rgba(105, 255, 159, 0.16),
    0 0 10px rgba(255, 122, 122, 0.12);
}

.page-brand-compass__needle::before,
.page-brand-compass__needle::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
}

.page-brand-compass__needle::before {
  bottom: -8px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 10px solid #ff7a7a;
}

.page-brand-compass__needle::after {
  top: -7px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 10px solid #69ff9f;
}

.page-brand-compass__hub {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #eef6ff;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 2px rgba(12, 34, 58, 0.94);
}

.page-tabs {
  display: inline-grid;
  grid-template-columns: repeat(4, max-content);
  align-items: center;
  gap: 42px;
  margin: 0;
  padding: 0;
  min-width: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.page-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 1.04rem;
  font-weight: 800;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: color 160ms ease, opacity 160ms ease;
  position: relative;
}

.page-tab:hover {
  color: var(--ink);
}

.page-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -15px;
  height: 2px;
  background: transparent;
  transition: background 160ms ease, opacity 160ms ease;
  opacity: 0;
}

.page-tab.is-active {
  color: #eefbff;
}

.page-tab.is-active::after {
  opacity: 1;
  background: linear-gradient(90deg, rgba(49, 222, 140, 0.95), rgba(105, 212, 255, 0.96));
}

.hero,
.panel {
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: var(--shadow);
}

.panel-path-focus {
  animation: pathPanelPulse 900ms ease;
}

@keyframes pathPanelPulse {
  0% {
    border-color: rgba(152, 190, 255, 0.1);
    box-shadow: var(--shadow);
  }
  32% {
    border-color: rgba(124, 230, 255, 0.6);
    box-shadow:
      0 0 0 1px rgba(124, 230, 255, 0.18),
      0 0 34px rgba(88, 196, 255, 0.18),
      var(--shadow);
  }
  100% {
    border-color: rgba(152, 190, 255, 0.1);
    box-shadow: var(--shadow);
  }
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
  gap: 20px;
  padding: 28px;
  border-radius: 30px;
  overflow: hidden;
  position: relative;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto -10% -28% auto;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(72, 132, 255, 0.1);
}

.eyebrow,
.section-tag {
  margin: 0;
  color: #77d7ff;
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.38rem;
  font-weight: 700;
  line-height: 1.05;
}

.hero h1,
.panel h2,
.team-block h3 {
  margin: 0;
  font-family: "Inter", "Avenir Next", "Trebuchet MS", sans-serif;
  font-weight: 700;
}

.hero h1 {
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 0.95;
  max-width: 10ch;
}

.hero-text {
  margin: 16px 0 0;
  max-width: 62ch;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
}

.hero-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-content: start;
}

.metric-card,
.team-card,
.summary-chip,
.week-card,
.transfer-list {
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(15, 24, 42, 0.82);
}

.metric-card {
  padding: 16px;
}

.metric-label {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  margin-bottom: 8px;
}

.metric-help-shell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
}

.metric-help-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  appearance: none;
  -webkit-appearance: none;
  background: rgba(133, 184, 255, 0.15);
  color: #9fe4ff;
  font-family: inherit;
  font-size: 0.58rem;
  font-weight: 800;
  line-height: 1;
  cursor: help;
  box-shadow: inset 0 0 0 1px rgba(124, 212, 255, 0.08);
  transition: transform 140ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}

.metric-help-popover {
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  z-index: 18;
  width: min(220px, calc(100vw - 40px));
  padding: 10px 12px;
  border: 1px solid rgba(146, 195, 255, 0.12);
  background: rgba(12, 24, 46, 0.96);
  color: rgba(235, 244, 255, 0.96);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: 0 18px 34px rgba(4, 15, 30, 0.32);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.metric-help-shell.is-open .metric-help-popover {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.metric-help-shell.is-align-left .metric-help-popover {
  left: 0;
  transform: translate(0, 4px);
}

.metric-help-shell.is-align-left.is-open .metric-help-popover {
  transform: translate(0, 0);
}

.metric-help-shell.is-align-right .metric-help-popover {
  left: auto;
  right: 0;
  transform: translate(0, 4px);
}

.metric-help-shell.is-align-right.is-open .metric-help-popover {
  transform: translate(0, 0);
}

.metric-help-badge:hover,
.metric-help-badge:focus-visible,
.metric-help-shell:hover .metric-help-badge,
.metric-help-shell.is-open .metric-help-badge {
  background: rgba(133, 184, 255, 0.24);
  color: #eefaff;
  box-shadow: 0 0 0 1px rgba(111, 214, 255, 0.16), 0 0 14px rgba(111, 214, 255, 0.14);
  transform: translateY(-1px);
}

.metric-card-label {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  margin-bottom: 8px;
}

.metric-value {
  font-size: 1.45rem;
  font-weight: 800;
}

.metric-card > strong {
  display: block;
  font-size: 1.45rem;
  font-weight: 800;
}

.workspace {
  display: grid;
  gap: 16px;
  margin-top: 0;
}

.context-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(8, 16, 30, 0.76);
  box-shadow: var(--shadow);
}

.context-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(17, 28, 48, 0.88);
  white-space: nowrap;
}

.context-pill-label {
  color: rgba(188, 208, 236, 0.76);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.context-pill-value {
  color: #eef6ff;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.context-pill.is-good {
  border-color: rgba(86, 255, 131, 0.2);
  background: rgba(9, 43, 27, 0.92);
}

.context-pill.is-good .context-pill-value {
  color: #9effbe;
}

.context-pill.is-accent {
  border-color: rgba(88, 196, 255, 0.22);
  background: rgba(10, 31, 54, 0.92);
}

.context-pill.is-accent .context-pill-value {
  color: #a9e8ff;
}

.context-pill.is-warn {
  border-color: rgba(255, 183, 77, 0.22);
  background: rgba(61, 36, 7, 0.94);
}

.context-pill.is-warn .context-pill-value {
  color: #ffd28b;
}

.context-pill.is-alert {
  border-color: rgba(255, 119, 170, 0.22);
  background: rgba(63, 18, 37, 0.94);
}

.context-pill.is-alert .context-pill-value {
  color: #ffb1ce;
}

.context-pill.is-muted .context-pill-value {
  color: rgba(238, 246, 255, 0.84);
}

.panel {
  border-radius: var(--radius);
  padding: 20px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.panel-heading h2 {
  margin-top: 6px;
  font-size: 1.38rem;
}

.control-status,
.micro-summary {
  color: var(--muted);
  font-size: 0.9rem;
}

.control-deck {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.planner-top-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.planner-top-controls {
  min-width: 0;
}

.control-panel {
  position: relative;
  overflow: hidden;
  background: var(--paper);
}

.control-panel-main {
  display: grid;
  gap: 18px;
}

.control-panel-settings {
  display: grid;
  align-content: start;
}

.control-panel-intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 0;
}

.control-panel-copy {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.control-panel-lead {
  margin: 0;
  max-width: 54ch;
  color: rgba(229, 239, 255, 0.82);
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.45;
}

.control-flow-text {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
  color: rgba(162, 195, 229, 0.76);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.control-flow-text span {
  color: rgba(124, 214, 255, 0.48);
}

.micro-summary {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.micro-summary.is-hidden {
  display: none;
}

.control-grid,
.toolbar-filters,
.action-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: end;
}

.control-grid {
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(160px, 190px) auto;
  gap: 16px;
  align-items: end;
  justify-content: start;
}

.control-grid > .field,
.control-grid > .action-row {
  align-self: end;
}

#entry-league-field,
#entry-manager-field {
  min-width: 0;
}

#entry-league-select,
#entry-manager-select {
  min-width: 0;
}

.toolbar-filters {
  justify-content: center;
}

.table-toolbar {
  display: grid;
  gap: 12px;
  align-items: start;
  justify-items: center;
  text-align: center;
}

.player-toolbar {
  gap: 10px;
}

.player-toolbar-shell {
  width: min(100%, 1220px);
  display: grid;
  gap: 0;
  border: 1px solid rgba(122, 167, 232, 0.14);
  background:
    linear-gradient(180deg, rgba(10, 18, 34, 0.96), rgba(8, 15, 28, 0.92)),
    rgba(10, 18, 34, 0.92);
  box-shadow: inset 0 0 0 1px rgba(152, 190, 255, 0.03);
}

.player-toolbar-row {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 14px 16px;
}

.player-toolbar-row-top {
  justify-content: space-between;
}

.player-toolbar-row-bottom {
  border-top: 1px solid rgba(122, 167, 232, 0.08);
  justify-content: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
}

.table-section-head {
  margin-right: 0;
  text-align: center;
}

.player-toolbar-head {
  flex: 0 0 auto;
  text-align: left;
}

.field {
  display: grid;
  gap: 6px;
  min-width: 160px;
}

.field-small {
  min-width: 120px;
}

.field span {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.player-toolbar-filters {
  flex: 1 1 auto;
  justify-content: flex-end;
  gap: 10px;
}

.player-toolbar-field {
  min-width: 112px;
}

.player-toolbar-search {
  min-width: 220px;
}

.player-toolbar-label {
  flex: 0 0 auto;
  color: rgba(214, 229, 245, 0.68);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.player-toolbar .field span {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  color: rgba(214, 229, 245, 0.62);
}

.player-toolbar .field input,
.player-toolbar .field select {
  min-height: 40px;
  height: 40px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(9, 16, 30, 0.92);
  border-color: rgba(122, 167, 232, 0.12);
  font-size: 0.92rem;
}

.player-toolbar .field input::placeholder {
  color: rgba(214, 229, 245, 0.42);
}

input,
select,
button {
  font: inherit;
}

input,
select {
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 12px 14px;
  background: rgba(12, 20, 36, 0.96);
  color: var(--ink);
}

input:focus,
select:focus {
  outline: 2px solid rgba(69, 188, 255, 0.22);
  border-color: rgba(69, 188, 255, 0.38);
}

.button {
  border: none;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 160ms ease, opacity 160ms ease, background 160ms ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button:disabled {
  opacity: 0.5;
  cursor: progress;
  transform: none;
}

.button-primary {
  background: linear-gradient(135deg, #19bc6c, #7659ff);
  color: #fff;
}

#load-entry-button,
#saved-lines-view-toggle,
#add-path-button {
  border: 1px solid rgba(124, 214, 255, 0.36);
  box-shadow:
    inset 0 0 0 1px rgba(124, 214, 255, 0.08),
    0 0 0 1px rgba(124, 214, 255, 0.1);
}

.button-secondary {
  background: rgba(255, 255, 255, 0.08);
  color: #c7b8ff;
}

.button-secondary:not(:disabled):hover {
  background: rgba(255, 255, 255, 0.11);
}

#solve-button {
  position: relative;
  overflow: visible;
  box-shadow:
    0 0 0 1px rgba(255, 83, 100, 0.12),
    0 0 18px rgba(255, 83, 100, 0.16);
  animation: solve-glow 1800ms ease-in-out infinite;
}

#solve-button:not(:disabled) {
  background: linear-gradient(135deg, rgba(255, 102, 102, 0.94), rgba(255, 146, 76, 0.92));
  color: #fff4f4;
}

#solve-button:disabled {
  animation: none;
  box-shadow: none;
}

.button-ghost {
  background: rgba(255, 255, 255, 0.05);
  color: var(--ink);
}

.solver-settings-panel {
  margin-top: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
  min-height: 0;
}

.solver-settings-header {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 6px;
  padding: 2px 0 0;
  font-weight: 800;
  color: #9fe4ff;
  letter-spacing: 0.02em;
}

.solver-settings-summary-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  justify-items: center;
}

.solver-settings-summary-title {
  color: #b5ecff;
  font-size: 1rem;
  font-weight: 900;
}

.solver-settings-summary-meta {
  color: rgba(210, 227, 247, 0.74);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.fixture-scheduler-dropdown {
  margin-top: 24px;
  content-visibility: auto;
  contain-intrinsic-size: 520px;
}

.fixture-scheduler-dropdown-summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  cursor: pointer;
  list-style: none;
}

.fixture-scheduler-dropdown-summary::-webkit-details-marker {
  display: none;
}

.fixture-scheduler-dropdown-summary::after {
  content: "▾";
  position: absolute;
  right: 0;
  font-size: 0.92rem;
  color: #9fe4ff;
  transition: transform 140ms ease;
}

.fixture-scheduler-dropdown[open] .fixture-scheduler-dropdown-summary::after {
  transform: rotate(180deg);
}

.fixture-scheduler-heading {
  margin: 0;
  text-align: center;
}

.fixture-scheduler-dropdown-body {
  display: grid;
  gap: 14px;
  margin-top: 12px;
}


.fixture-scheduler-toolbar {
  display: grid;
  gap: 12px;
  justify-items: center;
}

.fixture-scheduler-controls {
  justify-content: center;
  width: 100%;
}

.fixture-scheduler-summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 22px;
  color: rgba(224, 237, 255, 0.8);
  font-weight: 700;
}

.fixture-scheduler-summary.is-working::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 2px solid rgba(143, 220, 255, 0.26);
  border-top-color: #8fe2ff;
  box-sizing: border-box;
  animation: schedulerSpin 0.85s linear infinite;
}

.solver-settings-grid {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.settings-group {
  display: grid;
  gap: 6px;
  padding: 6px 0 0;
  border: 0;
  border-top: 1px solid rgba(128, 179, 255, 0.08);
  background: transparent;
}

.settings-group:first-child {
  border-top: 0;
  padding-top: 0;
}

.settings-row {
  display: grid;
  gap: 8px;
  justify-content: stretch;
}

.settings-row-3 {
  grid-template-columns: repeat(3, minmax(108px, 1fr));
}

.settings-row-4 {
  grid-template-columns: repeat(4, minmax(88px, 1fr));
}

.settings-row-7 {
  grid-template-columns: repeat(7, minmax(70px, 1fr));
}

.settings-group-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 118px);
  gap: 10px;
  justify-content: start;
}

.solver-field {
  position: relative;
  min-width: 0;
  grid-template-rows: 22px minmax(34px, auto);
  justify-items: stretch;
  text-align: center;
}

.solver-field span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  font-size: 0.64rem;
  letter-spacing: 0.06em;
  text-align: center;
}

.solver-field input,
.solver-field select {
  min-height: 34px;
  height: 34px;
  padding: 6px 9px;
  font-size: 0.8rem;
  border-radius: 10px;
  text-align: center;
}

.solver-field input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.solver-field input[type="number"]::-webkit-outer-spin-button,
.solver-field input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.solver-field select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-left: 14px;
  padding-right: 14px;
  text-align-last: center;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(233, 245, 255, 0.9) 50%),
    linear-gradient(135deg, rgba(233, 245, 255, 0.9) 50%, transparent 50%);
  background-position:
    calc(100% - 16px) calc(50% - 1px),
    calc(100% - 11px) calc(50% - 1px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.solver-number-wrap {
  position: relative;
  width: 100%;
}

.solver-number-wrap input {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.solver-number-stepper {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  display: grid;
  gap: 1px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

.solver-field:hover .solver-number-stepper,
.solver-number-wrap:focus-within .solver-number-stepper {
  opacity: 1;
  pointer-events: auto;
}

.solver-number-step {
  width: 14px;
  height: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(233, 245, 255, 0.9);
  font-size: 0.54rem;
  line-height: 1;
  cursor: pointer;
}

.solver-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.compass-brief-panel {
  display: grid;
  gap: 16px;
  padding: 20px;
  min-height: 100%;
  align-content: start;
}

.solver-main-rail,
.current-team-panel {
  display: grid;
  gap: 18px;
}

.current-team-panel {
  width: 100%;
  min-width: 0;
  max-width: none;
  justify-self: start;
  padding: 18px;
  gap: 8px;
}

.solver-side-rail {
  display: grid;
  gap: 18px;
  align-content: start;
  min-width: 0;
}

.assistant-manager-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  align-content: start;
}

.assistant-manager-panel.is-collapsed,
.compass-brief-panel.is-collapsed {
  min-height: 0;
  align-content: start;
}

.assistant-manager-heading {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  text-align: center;
  align-self: start;
}

.assistant-manager-heading .section-tag {
  grid-column: 2;
  margin: 0;
}

.assistant-manager-toggle {
  grid-column: 3;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #9fe4ff;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
}

.assistant-manager-toggle::after {
  content: "▾";
  color: #9fe4ff;
  font-size: 0.9rem;
  transition: transform 140ms ease;
}

.assistant-manager-toggle[aria-expanded="false"]::after {
  transform: rotate(-90deg);
}

.assistant-manager-toggle.is-hidden {
  visibility: hidden;
}

.assistant-manager-body {
  display: grid;
  gap: 14px;
}

.compass-brief-article::after {
  content: "";
  display: block;
  clear: both;
}

.compass-brief-copy-stack {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.compass-brief-head {
  display: grid;
  gap: 6px;
  max-width: 78ch;
  margin-bottom: 2px;
}

.compass-brief-kicker {
  margin: 0;
  color: rgba(148, 214, 255, 0.78);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  animation: compassBriefTypeReveal 0.5s ease forwards;
  opacity: 0;
}

.compass-brief-headline {
  margin: 0;
  color: #f4f9ff;
  font-size: 1.62rem;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.02em;
  max-width: 30ch;
  animation: compassBriefTypeReveal 0.72s ease forwards;
  animation-delay: 0.06s;
  opacity: 0;
}

.compass-brief-deck {
  margin: 0;
  color: rgba(203, 222, 248, 0.76);
  font-size: 0.98rem;
  line-height: 1.55;
  max-width: 72ch;
  animation: compassBriefTypeReveal 0.72s ease forwards;
  animation-delay: 0.12s;
  opacity: 0;
}

.compass-brief-section {
  display: grid;
  gap: 6px;
}

.compass-brief-section-label {
  color: rgba(148, 214, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.compass-brief-loading {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(148, 205, 255, 0.14);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(227, 239, 255, 0.92);
  font-size: 0.92rem;
  font-weight: 700;
  justify-self: start;
}

.compass-brief-loading-dots {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.compass-brief-loading-dots span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #8fdcff;
  box-shadow: 0 0 12px rgba(143, 220, 255, 0.3);
  animation: compassBriefPulse 1.05s ease-in-out infinite;
}

.compass-brief-loading-dots span:nth-child(2) {
  animation-delay: 0.14s;
}

.compass-brief-loading-dots span:nth-child(3) {
  animation-delay: 0.28s;
}

.compass-brief-copy {
  margin: 0;
  color: rgba(225, 237, 255, 0.9);
  font-size: 1rem;
  line-height: 1.68;
  text-align: left;
  max-width: 76ch;
  opacity: 1;
}

.compass-brief-sentence {
  display: inline;
  margin-right: 0.32em;
  opacity: 0;
  animation: compassBriefSentenceReveal 0.48s ease forwards;
  animation-delay: var(--compass-brief-delay, 0ms);
  will-change: opacity;
}

.compass-brief-copy-lede {
  font-size: 1.03rem;
  line-height: 1.72;
}

.compass-brief-copy-tail {
  margin-top: 4px;
}

.compass-brief-copy strong.is-positive {
  color: #9affc0;
}

.compass-brief-copy strong.is-negative {
  color: #ff9db3;
}

.compass-brief-stats-grid {
  float: right;
  width: min(38vw, 660px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-self: start;
  margin: 2px 0 16px 24px;
}

.compass-brief-chip {
  display: grid;
  gap: 4px;
  min-height: 92px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(143, 194, 255, 0.08);
  background: rgba(255, 255, 255, 0.015);
  text-align: center;
  align-content: center;
  animation: compassBriefCardIn 0.7s ease forwards;
  opacity: 0;
}

.compass-brief-chip:nth-child(2) {
  animation-delay: 0.08s;
}

.compass-brief-chip:nth-child(3) {
  animation-delay: 0.16s;
}

.compass-brief-chip:nth-child(4) {
  animation-delay: 0.24s;
}

.compass-brief-chip span {
  color: rgba(165, 208, 255, 0.76);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.compass-brief-chip strong {
  color: #f4f9ff;
  font-size: 1.22rem;
  font-weight: 800;
}

.compass-brief-chip em {
  color: rgba(203, 222, 248, 0.76);
  font-style: normal;
  font-size: 0.8rem;
}

.assistant-player-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #9fe4ff;
  font: inherit;
  font-weight: 800;
  line-height: 1.2;
  vertical-align: -0.08em;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 140ms ease, color 180ms ease, text-shadow 180ms ease, filter 180ms ease;
}

.assistant-player-inline .badge-shell {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.assistant-player-inline span:last-child {
  display: inline-flex;
  align-items: center;
}

.assistant-player-inline:hover,
.assistant-player-inline:focus-visible {
  color: #e3f7ff;
  text-shadow: 0 0 18px rgba(111, 214, 255, 0.26);
  filter: brightness(1.05);
  transform: translateY(-1px);
}

@media (max-width: 1120px) {
  .compass-brief-headline {
    max-width: none;
    font-size: 1.42rem;
  }

  .compass-brief-stats-grid {
    float: none;
    width: 100%;
    margin: 0 0 16px;
  }

  .compass-brief-copy,
  .compass-brief-deck {
    max-width: none;
  }

}

@keyframes compassBriefPulse {
  0%,
  80%,
  100% {
    opacity: 0.32;
    transform: scale(0.8);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes compassBriefTypeReveal {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translateY(4px);
  }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translateY(0);
  }
}

@keyframes compassBriefSentenceReveal {
  0% {
    opacity: 0;
    transform: translateY(5px);
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes compassBriefCardIn {
  0% {
    opacity: 0;
    transform: translateY(6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes schedulerSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes squadTransferPulse {
  0% {
    box-shadow:
      0 0 0 0 rgba(84, 242, 255, 0.36),
      0 0 0 2px rgba(84, 242, 255, 0.82);
  }
  65% {
    box-shadow:
      0 0 0 12px rgba(84, 242, 255, 0),
      0 0 0 2px rgba(84, 242, 255, 0.96),
      0 0 26px rgba(84, 242, 255, 0.18);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(84, 242, 255, 0),
      0 0 0 2px rgba(84, 242, 255, 0.94),
      0 0 22px rgba(84, 242, 255, 0.22);
  }
}

@keyframes squadLinkedPulse {
  0% {
    transform: translateY(0);
    box-shadow:
      0 0 0 0 rgba(116, 229, 255, 0.24),
      0 0 0 2px rgba(116, 229, 255, 0.84);
  }
  60% {
    transform: translateY(-2px);
    box-shadow:
      0 0 0 10px rgba(116, 229, 255, 0),
      0 0 0 2px rgba(116, 229, 255, 0.94),
      0 12px 28px rgba(8, 34, 52, 0.26);
  }
  100% {
    transform: translateY(-1px);
    box-shadow:
      0 0 0 2px rgba(116, 229, 255, 0.92),
      0 12px 24px rgba(8, 34, 52, 0.28);
  }
}

@keyframes pathRowActive {
  0% {
    filter: brightness(1);
  }
  35% {
    filter: brightness(1.12);
  }
  100% {
    filter: brightness(1);
  }
}

@keyframes ambientDriftA {
  0% {
    transform: translate3d(-1.5%, -0.5%, 0) scale(1);
  }
  100% {
    transform: translate3d(1.75%, 1.25%, 0) scale(1.04);
  }
}

@keyframes ambientDriftB {
  0% {
    transform: translate3d(1%, -1%, 0) scale(1.02);
  }
  100% {
    transform: translate3d(-1.5%, 1.5%, 0) scale(1.06);
  }
}

@media (max-width: 1120px) {
  .compass-brief-copy {
    max-width: none;
  }

  .compass-brief-stats-grid {
    float: none;
    width: 100%;
    margin: 0 0 16px;
  }
}

.compass-brief-inline-meta {
  color: rgba(195, 212, 236, 0.78);
  font-size: 0.88rem;
  white-space: nowrap;
}

.assistant-manager-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.assistant-brief-card {
  display: grid;
  gap: 12px;
  padding: 10px 0 0;
  border: 0;
  border-top: 1px solid rgba(152, 190, 255, 0.12);
  background: transparent;
}

.assistant-brief-card h4 {
  margin: 0;
  font-size: 1rem;
  color: #f4f9ff;
}

.solver-field-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
}

.solver-field-hint {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: rgba(133, 184, 255, 0.15);
  color: #9fe4ff;
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  border: 0;
  padding: 0;
  transition: transform 140ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}

.solver-field-hint:hover,
.solver-field-hint:focus-visible {
  background: rgba(133, 184, 255, 0.22);
  color: #e5f8ff;
  box-shadow: 0 0 0 1px rgba(111, 214, 255, 0.18), 0 0 18px rgba(111, 214, 255, 0.16);
  transform: translateY(-1px);
}

.solver-field-hint-popover {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 4;
  width: min(240px, 44vw);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(146, 195, 255, 0.12);
  background: rgba(12, 24, 46, 0.96);
  color: rgba(235, 244, 255, 0.96);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.45;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
}

.assistant-brief-card-body {
  display: grid;
  gap: 10px;
}

.assistant-brief-row {
  display: grid;
  gap: 6px;
}

.assistant-brief-row-main {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
}

.assistant-player-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #f3f8ff;
  font-size: 0.96rem;
  font-weight: 800;
  cursor: pointer;
  min-width: 0;
  transition: transform 140ms ease, color 180ms ease, text-shadow 180ms ease, filter 180ms ease;
}

.assistant-player-pill:hover,
.assistant-player-pill:focus-visible {
  color: #d7f5ff;
  text-shadow: 0 0 16px rgba(111, 214, 255, 0.22);
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.assistant-player-pill .badge-table {
  width: 18px;
  height: 18px;
}

.assistant-brief-stat {
  color: #8cf4c0;
  font-size: 0.82rem;
  font-weight: 800;
  white-space: nowrap;
}

.assistant-brief-stat-danger {
  color: #ff7d88;
}

.assistant-brief-row-meta {
  color: rgba(209, 226, 246, 0.72);
  font-size: 0.82rem;
}

.assistant-brief-empty {
  color: rgba(209, 226, 246, 0.72);
  font-size: 0.84rem;
}

.current-team-grid {
  display: block;
}

.panel-share-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.planner-share-button {
  min-width: 110px;
}

.risk-profile-panel {
  display: grid;
  gap: 16px;
  padding: 18px;
  border-color: rgba(171, 118, 255, 0.18);
  background:
    radial-gradient(circle at top right, rgba(123, 93, 255, 0.18), transparent 36%),
    linear-gradient(180deg, rgba(24, 16, 42, 0.96), rgba(12, 10, 28, 0.94));
}

.risk-profile-panel-body {
  display: grid;
  gap: 14px;
}

.risk-profile-hero {
  display: grid;
  gap: 10px;
  padding: 16px 16px 14px;
  border: 1px solid rgba(176, 129, 255, 0.18);
  background: rgba(255, 255, 255, 0.03);
}

.risk-profile-tone-shield {
  box-shadow: inset 0 0 0 1px rgba(118, 232, 179, 0.04);
}

.risk-profile-tone-edge,
.risk-profile-tone-chaos {
  box-shadow: inset 0 0 0 1px rgba(176, 129, 255, 0.06);
}

.risk-profile-score-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px 14px;
}

.risk-profile-kicker {
  color: rgba(216, 233, 255, 0.7);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.risk-profile-score {
  color: #f6f1ff;
  font-size: clamp(2.8rem, 5vw, 4.35rem);
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 0.9;
}

.risk-profile-identity {
  color: #92ffc0;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.risk-profile-copy {
  margin: 0;
  color: rgba(228, 225, 247, 0.8);
  font-size: 0.98rem;
  line-height: 1.45;
}

.risk-profile-chip-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.risk-axis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.risk-axis-card {
  display: grid;
  gap: 8px;
  padding: 12px 12px 11px;
  border: 1px solid rgba(176, 129, 255, 0.14);
  background: rgba(255, 255, 255, 0.03);
}

.risk-axis-head,
.risk-axis-scale,
.risk-profile-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.risk-axis-head span,
.risk-axis-scale span {
  font-size: 0.76rem;
  font-weight: 800;
}

.risk-axis-head span {
  color: rgba(226, 220, 247, 0.72);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.risk-axis-head strong {
  color: #a0ffd0;
  font-size: 0.96rem;
  font-weight: 900;
}

.risk-axis-scale span {
  color: rgba(226, 220, 247, 0.6);
}

.risk-axis-track {
  position: relative;
  height: 12px;
  border: 1px solid rgba(178, 137, 255, 0.14);
  background: rgba(10, 12, 24, 0.82);
}

.risk-axis-fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, rgba(148, 95, 255, 0.22), rgba(70, 238, 150, 0.72));
}

.risk-axis-pin {
  position: absolute;
  top: 50%;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(248, 250, 255, 0.92);
  background: #46ee96;
  box-shadow: 0 0 18px rgba(70, 238, 150, 0.26);
  transform: translate(-50%, -50%);
}

.risk-profile-footer {
  flex-wrap: wrap;
}

.current-team-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
  margin-bottom: 0;
}

.current-team-heading > div:first-child {
  text-align: left;
}

.current-team-heading > .micro-summary {
  justify-items: end;
  text-align: right;
}

.squad-toolbar {
  display: flex;
  justify-content: center;
  margin: 0;
}

.current-team-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 0;
}

.current-team-gw-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin-top: 0;
  color: #dff5ff;
  font-size: 2.1rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.squad-flag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.squad-flag-warning {
  border: 1px solid rgba(255, 136, 136, 0.3);
  background: rgba(87, 18, 33, 0.72);
  color: #ffd9de;
}

.squad-flag-info {
  border: 1px solid rgba(122, 167, 232, 0.24);
  background: rgba(16, 26, 45, 0.9);
  color: #d9ebff;
}

.squad-flag-chip {
  border: 1px solid rgba(133, 255, 196, 0.34);
  background: rgba(10, 64, 45, 0.82);
  color: #c5ffe2;
}

.squad-gw-toggle {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}

.gw-toggle-button {
  position: relative;
  border: 1px solid rgba(122, 167, 232, 0.2);
  background: rgba(16, 26, 45, 0.95);
  color: #f4fbff;
  border-radius: 0;
  width: 68px;
  min-width: 68px;
  min-height: 68px;
  padding: 8px 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  cursor: pointer;
  display: grid;
  align-content: center;
  gap: 3px;
  justify-items: center;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    border-color 160ms ease,
    background 160ms ease,
    filter 160ms ease;
}

.gw-toggle-button:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

.gw-toggle-button.is-active {
  border-color: rgba(146, 231, 255, 0.98);
  background:
    linear-gradient(180deg, rgba(46, 104, 177, 1), rgba(18, 52, 104, 0.98)),
    rgba(20, 55, 96, 0.9);
  color: #f4fbff;
  transform: translateY(-3px) scale(1.05);
  box-shadow:
    0 0 0 2px rgba(146, 231, 255, 0.48),
    0 0 0 5px rgba(88, 196, 255, 0.12),
    0 18px 28px rgba(0, 0, 0, 0.34),
    0 0 28px rgba(88, 196, 255, 0.34);
  z-index: 2;
}

.gw-toggle-button.is-transfer {
  border-color: rgba(122, 167, 232, 0.2);
  box-shadow: none;
}

.gw-toggle-button.is-active.is-transfer {
  border-color: rgba(125, 220, 255, 0.82);
  box-shadow:
    0 0 0 2px rgba(125, 220, 255, 0.32),
    0 18px 28px rgba(0, 0, 0, 0.32),
    0 0 24px rgba(88, 196, 255, 0.22);
}

.gw-toggle-button.is-chip {
  border-color: rgba(122, 167, 232, 0.2);
  box-shadow: none;
}

.gw-toggle-button.is-active.is-chip {
  box-shadow:
    0 0 0 2px rgba(125, 220, 255, 0.32),
    0 18px 28px rgba(0, 0, 0, 0.32),
    0 0 24px rgba(88, 196, 255, 0.22);
}

.gw-toggle-label {
  display: block;
  color: rgba(244, 251, 255, 0.84);
}

.gw-toggle-value {
  display: block;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.02;
  color: #fff;
}

.gw-toggle-button.is-active .gw-toggle-label {
  color: #fff;
}

.gw-toggle-button.is-active .gw-toggle-value {
  font-size: 0.88rem;
}

.gw-toggle-button.is-active::after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid rgba(176, 240, 255, 0.42);
  pointer-events: none;
}

.gw-toggle-markers {
  min-height: 14px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.gw-marker-chip {
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(255, 213, 73, 0.22);
  color: #ffe78a;
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.pitch-board {
  display: grid;
  gap: 12px;
  max-width: 100%;
  margin: 0 auto;
}

.pitch-surface {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  min-height: 560px;
  padding: 18px 18px 22px;
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0 82px, transparent 82px 164px),
    linear-gradient(180deg, #0faa5c 0%, #08a955 48%, #079d4e 100%);
}

.pitch-surface::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 2px solid rgba(255, 255, 255, 0.86);
  border-radius: 18px;
}

.pitch-surface::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 86px;
  height: 86px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.82);
  opacity: 0.78;
}

.pitch-row {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 14px;
  margin: 14px 0;
}

.pitch-row-gk {
  margin-top: 8px;
}

.bench-strip {
  border-radius: 18px;
  padding: 10px 12px 12px;
  border: 1px solid rgba(146, 185, 255, 0.12);
  background: transparent;
  transition: box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.bench-strip.is-bench-boost {
  border-color: rgba(121, 241, 163, 0.5);
  background:
    linear-gradient(180deg, rgba(16, 56, 42, 0.74), rgba(10, 31, 28, 0.28)),
    rgba(7, 18, 34, 0.42);
  box-shadow:
    inset 0 0 0 1px rgba(121, 241, 163, 0.16),
    0 0 0 1px rgba(121, 241, 163, 0.16),
    0 20px 34px rgba(19, 69, 48, 0.18);
}

.bench-label {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
}

.bench-strip.is-bench-boost .bench-label {
  color: #b8ffd1;
}

.bench-row {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.squad-card {
  position: relative;
  width: 106px;
  min-height: 126px;
  overflow: visible;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(244, 244, 247, 0.96);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  transition:
    transform 160ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease,
    filter 180ms ease;
}

.squad-card:hover {
  transform: translateY(-2px);
  border-color: rgba(143, 220, 255, 0.38);
  box-shadow:
    0 0 0 1px rgba(124, 230, 255, 0.14),
    0 16px 28px rgba(8, 34, 52, 0.2);
  filter: brightness(1.02);
}

.squad-card.is-captain {
  box-shadow: 0 0 0 2px rgba(255, 213, 73, 0.88);
}

.squad-card.is-triple-captain {
  box-shadow:
    0 0 0 2px rgba(255, 213, 73, 0.96),
    0 0 0 5px rgba(125, 250, 171, 0.28),
    0 0 24px rgba(125, 250, 171, 0.28);
}

.squad-card.is-transfer-in {
  outline: none;
  box-shadow:
    0 0 0 2px rgba(84, 242, 255, 0.94),
    0 0 22px rgba(84, 242, 255, 0.22);
  animation: squadTransferPulse 1.2s ease-in-out 2;
}

.squad-card.is-pending-swap {
  box-shadow: 0 0 0 2px rgba(84, 242, 255, 0.98), 0 0 22px rgba(84, 242, 255, 0.34);
}

.squad-card.is-swap-target {
  box-shadow: 0 0 0 2px rgba(84, 242, 255, 0.82), 0 0 18px rgba(84, 242, 255, 0.22);
}

.squad-card-top,
.summary-row {
  display: flex;
  justify-content: center;
  gap: 10px;
  align-items: center;
  min-height: 72px;
  position: relative;
  padding: 12px 8px 9px;
  background: rgba(7, 100, 61, 0.94);
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

.squad-action-transfer {
  position: absolute;
  top: 6px;
  left: 6px;
}

.squad-action-swap {
  position: absolute;
  top: 6px;
  right: 6px;
}

.squad-action-button {
  width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(58, 8, 78, 0.86);
  color: #f7fbff;
  font-size: 0.7rem;
  font-weight: 800;
  cursor: pointer;
}

.squad-action-button:hover,
.squad-action-button.is-active {
  background: rgba(18, 48, 86, 0.92);
}

.squad-badge-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.squad-card-top .pill {
  position: absolute;
  right: 8px;
  bottom: 4px;
}

.squad-new-badge {
  position: absolute;
  right: -9px;
  bottom: -9px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(28, 57, 84, 0.98), rgba(7, 21, 38, 0.98) 74%);
  box-shadow:
    0 12px 22px rgba(6, 18, 32, 0.28),
    0 0 0 1px rgba(131, 236, 255, 0.2);
  line-height: 0;
  z-index: 3;
}

.squad-new-badge-icon {
  width: 22px;
  height: 22px;
  overflow: visible;
  filter: drop-shadow(0 0 6px rgba(131, 236, 255, 0.08));
}

.squad-new-badge-ring {
  fill: none;
  stroke: rgba(194, 212, 230, 0.24);
  stroke-width: 1.7;
}

.squad-new-badge-arrow {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.squad-new-badge-head {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.squad-new-badge-arrow-in {
  stroke: #79f1a3;
}

.squad-new-badge-arrow-out {
  stroke: #ff8f7f;
}

.squad-new-badge-head-in {
  stroke: #79f1a3;
}

.squad-new-badge-head-out {
  stroke: #ff8f7f;
}

.squad-card-body {
  padding: 0 0 4px;
  background: transparent;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  overflow: hidden;
  display: grid;
  grid-template-rows: 20px 20px 14px 14px;
  align-items: stretch;
  min-height: 68px;
}

.squad-card-band {
  display: grid;
  place-items: center;
  padding: 0 5px;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  background: rgba(244, 244, 247, 0.96);
}

.squad-card-band-name {
  padding-top: 5px;
}

.squad-card-band-name.is-doubt,
.squad-card-band-points.is-doubt {
  background: #ffe37a;
}

.squad-card-band-name.is-out,
.squad-card-band-points.is-out {
  background: #c40f45;
}

.squad-card-band-name.is-out .squad-player-name,
.squad-card-band-points.is-out .squad-points {
  color: #f8fbff;
}

.squad-card-band-name.is-doubt .squad-player-name,
.squad-card-band-points.is-doubt .squad-points {
  color: #3f2500;
}

.squad-player-name {
  margin: 0;
  font-size: 0.73rem;
  font-weight: 800;
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #4c1860;
}

.squad-points {
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.02;
  color: #47235d;
}

.squad-mins {
  font-size: 0.63rem;
  font-weight: 700;
  line-height: 1.02;
  color: #786f8a;
}

.squad-fixture {
  font-size: 0.63rem;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #6a5b7d;
}

.squad-card-band-fixture {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

.badge-shell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.badge-squad {
  width: 36px;
  height: 36px;
}

.badge-table {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.badge-solution {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}

.badge-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.badge-fallback {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 0.55rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.badge-table .badge-fallback {
  background: rgba(31, 91, 61, 0.1);
  color: var(--green);
  font-size: 0.42rem;
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #9be8b8;
  font-size: 0.72rem;
  font-weight: 800;
}

.pill.captain {
  border: 1px solid rgba(61, 34, 0, 0.5);
  background: #ffd549;
  color: #2c1400;
  box-shadow: 0 6px 14px rgba(255, 206, 51, 0.28);
}

.pill.captain.is-triple {
  min-width: 34px;
  border-color: rgba(22, 70, 35, 0.48);
  background: linear-gradient(135deg, #79f1a3, #ffe36d);
  color: #13301f;
  box-shadow:
    0 6px 16px rgba(125, 250, 171, 0.26),
    0 0 0 1px rgba(255, 255, 255, 0.18);
}

.entry-points-total {
  display: inline-block;
  font-size: 1.52rem;
  font-weight: 800;
  color: #eef6ff;
}

.entry-hit-note {
  display: inline-block;
  margin-left: 4px;
  color: #ff9fca;
  font-size: 0.82rem;
  font-weight: 800;
  vertical-align: middle;
}

.entry-points-meta {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  font-size: 1.02rem;
  font-weight: 800;
  color: rgba(235, 244, 255, 0.86);
}

.entry-meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.entry-summary-button,
.entry-meta-button {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.entry-summary-button:hover,
.entry-meta-button:hover {
  filter: brightness(1.06);
}

.entry-meta-label {
  color: rgba(235, 244, 255, 0.9);
}

.entry-meta-value {
  font-weight: 900;
  letter-spacing: 0.01em;
}

.entry-meta-sep {
  color: rgba(235, 244, 255, 0.52);
}

.profile-head-main {
  display: grid;
  gap: 12px;
  width: 100%;
}

.profile-head-overview {
  display: grid;
  justify-items: center;
  gap: 16px;
  width: 100%;
}

.profile-head-copy {
  display: grid;
  gap: 6px;
  justify-items: center;
  text-align: center;
}

.profile-head-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
}

.profile-head-title {
  margin: 0;
  font-size: 2.55rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #7dd8ff;
}

.transfer-modal-head-profile .profile-head-title {
  font-size: 2.55rem;
}

.profile-head-title-row .badge-table,
.profile-breakdown-title-row .badge-table {
  width: 22px;
  height: 22px;
}

.transfer-modal-head-profile {
  position: relative;
  align-items: flex-start;
  justify-content: center;
}

.profile-head-subtitle {
  margin: 0;
  color: rgba(225, 239, 255, 0.84);
  font-size: 1.26rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.profile-head-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 2px;
}

.profile-inline-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(152, 190, 255, 0.14);
  background: rgba(255, 255, 255, 0.055);
  color: rgba(224, 237, 255, 0.8);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.profile-inline-tag-button {
  cursor: pointer;
}

.profile-inline-tag.is-positive {
  border-color: rgba(61, 236, 118, 0.24);
  background: rgba(61, 236, 118, 0.12);
  color: #c6ffd8;
}

.profile-opponent-list {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.profile-opponent-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.profile-opponent-separator {
  color: rgba(219, 236, 255, 0.58);
  font-weight: 700;
}

.solver-output {
  display: grid;
  gap: 14px;
  min-width: 0;
  max-height: clamp(340px, 58vh, 760px);
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 6px;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

.solver-line-carousel {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.solver-line-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.solver-line-grid.is-single {
  grid-template-columns: minmax(0, 760px);
  justify-content: start;
}

.solver-line-grid.has-scroll {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: 430px;
  justify-content: start;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 34px 8px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.solver-line-grid.has-scroll .solution-line-card {
  scroll-snap-align: start;
}

.solver-line-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(152, 190, 255, 0.18);
  background: rgba(7, 15, 29, 0.92);
  color: #bfeeff;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.solver-line-nav.is-left {
  left: 2px;
}

.solver-line-nav.is-right {
  right: 2px;
}

.solver-line-nav.is-hidden,
.solver-line-fade.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.solver-line-fade {
  position: absolute;
  top: 0;
  bottom: 8px;
  width: 42px;
  z-index: 1;
  pointer-events: none;
  transition: opacity 160ms ease;
}

.solver-line-fade.is-left {
  left: 0;
  background: linear-gradient(90deg, rgba(6, 12, 24, 0.92), rgba(6, 12, 24, 0));
}

.solver-line-fade.is-right {
  right: 0;
  background: linear-gradient(270deg, rgba(6, 12, 24, 0.94), rgba(6, 12, 24, 0));
}

.solution-line-card {
  border-radius: 0;
  border: 0;
  background: transparent;
  padding: 0;
}

.solution-line-card.is-applied {
  border-color: transparent;
  box-shadow: none;
}

.solution-line-weeks {
  display: grid;
  gap: 0;
}

.solution-week-block {
  border-radius: 0;
  background: transparent;
  padding: 12px 0 8px;
  cursor: pointer;
}

.solution-week-block + .solution-week-block {
  border-top: 1px solid rgba(152, 190, 255, 0.08);
  padding-top: 16px;
}

.solution-week-block.is-roll {
  background: transparent;
}

.solution-week-block.is-current {
  border-radius: 16px;
  background: rgba(103, 228, 255, 0.04);
  box-shadow:
    inset 0 0 0 1px rgba(103, 228, 255, 0.68),
    0 0 22px rgba(103, 228, 255, 0.1);
  padding-left: 14px;
  padding-right: 14px;
}

.solution-week-block.is-targeted {
  border-radius: 16px;
  animation: recommendationWeekPulse 1.1s ease;
}

.solution-week-topline {
  display: block;
  cursor: pointer;
}

.solution-week-summary-line {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 0 4px;
}

.solution-week-head {
  font-size: 1.08rem;
  font-weight: 900;
  color: #eef6ff;
  transition: color 140ms ease, transform 140ms ease, text-shadow 140ms ease;
}

.solution-week-topline:hover .solution-week-head {
  color: #8fe9ff;
  text-shadow: 0 0 12px rgba(111, 231, 255, 0.16);
  transform: translateY(-1px);
}

.solution-week-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 212, 117, 0.16);
  color: #ffe59d;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.solution-week-inline-meta {
  color: rgba(214, 233, 255, 0.72);
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
}

.solution-week-inline-meta.is-hit {
  color: #ffb3c8;
}

.solution-week-transfers {
  display: grid;
  gap: 0;
  margin-top: 8px;
}

.solution-transfer-row {
  display: grid;
  grid-template-columns: minmax(0, 236px) 44px minmax(0, 236px);
  justify-content: center;
  gap: 0;
  align-items: center;
  width: min(516px, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding: 10px 6px;
  border-radius: 0;
  background: transparent;
  font-size: 0.8rem;
  cursor: pointer;
  transition: background 140ms ease, transform 160ms ease, box-shadow 200ms ease;
}

.solution-transfer-row + .solution-transfer-row {
  border-top: 1px solid rgba(152, 190, 255, 0.08);
}

.solution-transfer-row:hover {
  background: rgba(255, 255, 255, 0.022);
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(6, 18, 36, 0.18);
}

.solution-transfer-side,
.solution-transfer-hold {
  display: grid;
  grid-template-columns: 22px auto;
  gap: 11px;
  align-items: center;
  min-width: 0;
  width: auto;
  max-width: max-content;
  flex: 0 0 auto;
}

.solution-transfer-side-out {
  justify-self: end;
}

.solution-transfer-side-in {
  justify-self: start;
}

.solution-transfer-side-out .solution-transfer-copy {
  justify-items: end;
  text-align: right;
}

.solution-transfer-side-out .solution-transfer-meta-line {
  justify-content: flex-end;
}

.solution-transfer-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  color: rgba(214, 233, 255, 0.72);
  font-weight: 800;
  font-size: 0.94rem;
}

.solution-transfer-badge {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.solution-transfer-badge-empty {
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
}

.solution-transfer-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.solution-transfer-name {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #eef6ff;
  font-weight: 800;
}

.solution-transfer-side-out .solution-transfer-name {
  color: rgba(244, 246, 252, 0.82);
}

.solution-transfer-side-in .solution-transfer-name {
  color: #f5fdff;
  font-weight: 800;
}

.solution-transfer-meta-line {
  display: inline-flex;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.solution-transfer-side-out .solution-transfer-meta-line {
  justify-content: flex-end;
}

.solution-transfer-side-in .solution-transfer-meta-line {
  justify-content: flex-start;
}

.solution-transfer-fixture {
  color: rgba(218, 233, 252, 0.72);
}

.solution-transfer-xpts {
  color: #b5f4d6;
  font-weight: 800;
}

.squad-card.is-transfer-linked {
  box-shadow:
    0 0 0 2px rgba(116, 229, 255, 0.92),
    0 12px 24px rgba(8, 34, 52, 0.28);
  transform: translateY(-1px);
  animation: squadLinkedPulse 1s ease-out;
}

.solution-roll-note {
  color: rgba(231, 244, 255, 0.82);
  font-size: 0.9rem;
  font-weight: 800;
  text-align: center;
  padding: 6px 0 2px;
}

@keyframes recommendationWeekPulse {
  0% {
    background: transparent;
    box-shadow: none;
  }
  30% {
    background: rgba(103, 228, 255, 0.08);
    box-shadow:
      inset 0 0 0 1px rgba(103, 228, 255, 0.8),
      0 0 28px rgba(103, 228, 255, 0.14);
  }
  100% {
    background: rgba(103, 228, 255, 0.04);
    box-shadow:
      inset 0 0 0 1px rgba(103, 228, 255, 0.68),
      0 0 22px rgba(103, 228, 255, 0.1);
  }
}

.planner-details {
  display: grid;
  gap: 14px;
}

.advanced-breakdown-panel {
  padding: 0;
  overflow: hidden;
}

.advanced-breakdown-summary {
  cursor: pointer;
  list-style: none;
  margin: 0;
  padding: 20px 48px 20px 20px;
  position: relative;
}

.advanced-breakdown-summary::-webkit-details-marker {
  display: none;
}

.advanced-breakdown-summary::after {
  content: "▾";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: #9fe4ff;
  font-size: 0.92rem;
  transition: transform 140ms ease;
}

.advanced-breakdown-panel[open] .advanced-breakdown-summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.advanced-breakdown-body {
  padding: 0 20px 20px;
}

.solver-lines-body {
  display: grid;
  gap: 12px;
}

.solver-lines-wrap {
  overflow-x: auto;
}

.solver-lines-table {
  --matrix-cell-pad-y: 8px;
  --matrix-body-font-size: 0.79rem;
  --matrix-label-font-size: 0.78rem;
}

.solver-lines-table,
.planner-matrix-table {
  --matrix-label-col-width: 138px;
  --matrix-data-col-width: 54px;
  --matrix-summary-col-width: 87px;
  --matrix-cell-pad-y: 10px;
  --matrix-cell-pad-x: 8px;
  --matrix-head-font-size: 0.72rem;
  --matrix-body-font-size: 0.8rem;
  --matrix-label-font-size: 0.78rem;
  width: max-content;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 4px;
  table-layout: fixed;
}

.solver-lines-table th,
.solver-lines-table td,
.planner-matrix-table th,
.planner-matrix-table td {
  padding: var(--matrix-cell-pad-y) var(--matrix-cell-pad-x);
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.04);
  text-align: center;
  font-size: var(--matrix-body-font-size);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.solver-lines-table thead th,
.planner-matrix-table thead th {
  color: var(--muted);
  font-size: var(--matrix-head-font-size);
  font-weight: 800;
  letter-spacing: 0.08em;
}

.solver-lines-table thead th:first-child,
.solver-lines-table tbody th,
.planner-matrix-table thead th:first-child,
.planner-matrix-table tbody th {
  width: var(--matrix-label-col-width);
  text-align: left;
  padding-left: 10px;
}

.solver-lines-table thead th:not(:first-child),
.solver-lines-table td,
.planner-matrix-table thead th:not(:first-child),
.planner-matrix-table td {
  width: var(--matrix-data-col-width);
}

.solver-lines-table tbody tr {
  cursor: pointer;
}

.solver-lines-table tbody th,
.planner-matrix-table tbody th {
  font-size: var(--matrix-label-font-size);
  font-weight: 800;
}

.solver-lines-table tbody th {
  color: #eef6ff;
  background: rgba(46, 93, 158, 0.2);
  box-shadow: inset 0 0 0 1px rgba(111, 194, 255, 0.16);
}

.solver-lines-path-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.solver-lines-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 0.54rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.solver-lines-status-optimal {
  background: rgba(75, 217, 143, 0.14);
  color: #9df5c0;
}

.solver-lines-status-feasible {
  background: rgba(255, 213, 73, 0.16);
  color: #ffe48d;
}

.solver-lines-table tbody tr.is-active th {
  box-shadow:
    inset 0 0 0 2px rgba(124, 230, 255, 0.92),
    0 0 0 1px rgba(37, 140, 191, 0.38);
  animation: pathRowActive 760ms ease;
}

.solver-lines-table tbody tr.is-active td {
  box-shadow: inset 0 0 0 1px rgba(124, 230, 255, 0.16);
  animation: pathRowActive 760ms ease;
}

.solver-lines-table tbody tr:hover th,
.solver-lines-table tbody tr:hover td {
  filter: brightness(1.06);
  box-shadow: inset 0 0 0 1px rgba(124, 230, 255, 0.08);
}

.solver-lines-objective {
  font-weight: 800;
  color: #ffe39a;
}

.solver-lines-delta-head {
  width: var(--matrix-summary-col-width) !important;
  min-width: var(--matrix-summary-col-width);
  white-space: normal !important;
  line-height: 1.05;
}

.solver-lines-delta-cell {
  width: var(--matrix-summary-col-width) !important;
  min-width: var(--matrix-summary-col-width);
}

.planner-matrix-table thead th:last-child,
.planner-matrix-table td:last-child {
  width: var(--matrix-summary-col-width);
  min-width: var(--matrix-summary-col-width);
}

.solver-lines-gw-cell {
  text-align: center !important;
  vertical-align: middle;
  padding-top: 6px !important;
  padding-bottom: 5px !important;
}

.solver-lines-gw-main,
.solver-lines-gw-chip,
.solver-lines-delta-main,
.solver-lines-delta-sub {
  display: block;
}

.solver-lines-gw-main {
  color: #eef6ff;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.05;
  text-align: center;
}

.solver-lines-gw-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 16px;
  margin-top: 4px;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(255, 213, 73, 0.2);
  color: #ffe78a;
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.solver-lines-delta-main {
  color: #fff0c4;
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.solver-lines-delta-sub {
  margin-top: 4px;
  color: rgba(255, 231, 162, 0.82);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.solver-panel .panel-heading,
.planner-panel .panel-heading,
.advanced-breakdown-summary {
  justify-content: center;
  text-align: center;
}

.solver-panel .panel-heading > div:first-child,
.planner-panel .panel-heading > div:first-child,
.advanced-breakdown-summary > div:first-child {
  text-align: center;
}

.saved-lines-heading {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  text-align: center !important;
}

.saved-lines-actions {
  grid-column: 1;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.solver-path-add {
  text-align: left;
  font-size: var(--matrix-label-font-size);
  font-weight: 800;
  letter-spacing: 0;
  cursor: pointer;
  background: rgba(46, 93, 158, 0.2);
  box-shadow: inset 0 0 0 1px rgba(111, 194, 255, 0.16);
}

.solver-path-add,
.saved-lines-view-toggle {
  color: #eaf7ff;
}

.solver-path-add:hover {
  filter: brightness(1.06);
}

.solver-path-create-row th {
  width: var(--matrix-label-col-width);
}

.solver-path-create-gap {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.saved-lines-title-wrap {
  grid-column: 2;
  justify-self: center;
  text-align: center !important;
}

.saved-lines-controls {
  grid-column: 3;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-left: 0;
}

.saved-lines-view-toggle {
  min-width: 96px;
  padding-inline: 16px;
}

.planner-details-panel[hidden] {
  display: none;
}

.planner-details-panel {
  display: grid;
  gap: 12px;
}

.table-panel {
  content-visibility: auto;
  contain-intrinsic-size: 980px;
}

.planner-details-header {
  display: flex;
  justify-content: center;
  text-align: center;
}

.planner-details-wrap {
  overflow-x: auto;
}

.planner-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.planner-metrics-compact .planner-chip {
  padding: 12px 13px;
}

.planner-chip,
.planner-block {
  border-radius: 16px;
  border: 1px solid rgba(152, 190, 255, 0.1);
  background: rgba(12, 20, 36, 0.9);
}

.planner-chip {
  padding: 14px;
}

.planner-chip span {
  display: block;
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.planner-chip strong {
  display: block;
  margin-top: 8px;
  font-size: 1.1rem;
}

.planner-breakdown {
  display: grid;
  gap: 12px;
}

.planner-block {
  padding: 14px;
}

.planner-block-wide {
  overflow: hidden;
}

.planner-block h3 {
  margin: 0 0 12px;
  font-size: 0.96rem;
}

.planner-matrix-table thead th {
  position: static;
  background: rgba(255, 255, 255, 0.05);
}

.planner-matrix-table tbody th {
  color: #85dbb0;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.planner-matrix-table .is-active {
  background: rgba(33, 126, 83, 0.2);
  box-shadow: inset 0 0 0 1px rgba(66, 207, 139, 0.18);
  color: #f4fbff;
}

.planner-grid-table {
  display: grid;
  grid-template-columns: 68px repeat(5, minmax(58px, 1fr));
  gap: 8px 6px;
  align-items: center;
}

.planner-grid-head,
.planner-grid-cell {
  border-radius: 12px;
  padding: 9px 8px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.planner-grid-head {
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.planner-grid-row {
  display: contents;
}

.planner-grid-cell {
  background: rgba(255, 255, 255, 0.035);
  color: #f4f8ff;
  font-size: 0.82rem;
  font-weight: 700;
}

.planner-grid-row.is-active .planner-grid-cell {
  background: rgba(33, 126, 83, 0.16);
  box-shadow: inset 0 0 0 1px rgba(66, 207, 139, 0.18);
}

.planner-gw-key {
  color: #85dbb0;
}

.planner-main-value {
  font-size: 0.96rem;
  font-weight: 800;
}

.planner-gw-list,
.planner-move-list {
  display: grid;
  gap: 8px;
}

.planner-gw-row,
.planner-move-row,
.planner-input-list div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

.planner-move-row.empty {
  justify-content: center;
  color: var(--muted);
}

.planner-input-list {
  display: grid;
  gap: 8px;
}

.transfer-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  overflow-y: auto;
  padding: 14px 0;
}

body.modal-open {
  overflow: hidden;
}

.solve-overlay {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: grid;
  place-items: center;
  background: rgba(3, 8, 18, 0.84);
}

.solve-overlay.is-hidden {
  display: none;
}

.solve-overlay-card {
  display: grid;
  gap: 10px;
  justify-items: center;
  width: min(430px, calc(100vw - 40px));
  padding: 26px 24px 22px;
  border-radius: 20px;
  border: 1px solid rgba(152, 190, 255, 0.14);
  background: rgba(9, 19, 34, 0.96);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.32);
  text-align: center;
}

.solve-overlay-compass {
  position: relative;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
}

.solve-overlay-compass__ring {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 2px solid rgba(159, 228, 255, 0.18);
  background:
    radial-gradient(circle at center, rgba(105, 212, 255, 0.08), transparent 62%),
    rgba(7, 16, 30, 0.72);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.03),
    0 8px 18px rgba(0, 0, 0, 0.18);
}

.solve-overlay-compass__cardinal {
  position: absolute;
  color: #8de9ff;
  font-size: 0.5rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.solve-overlay-compass__cardinal:empty {
  display: none;
}

.solve-overlay-compass__cardinal-n {
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
}

.solve-overlay-compass__cardinal-e {
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
}

.solve-overlay-compass__cardinal-s {
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
}

.solve-overlay-compass__cardinal-w {
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
}

.solve-overlay-compass__needle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #69ff9f 0 50%, #ff7a7a 50% 100%);
  transform-origin: 50% 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  box-shadow:
    0 0 12px rgba(105, 255, 159, 0.2),
    0 0 12px rgba(255, 122, 122, 0.14);
  animation: compass-seek 1.2s ease-in-out infinite;
}

.solve-overlay-compass__needle::before,
.solve-overlay-compass__needle::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
}

.solve-overlay-compass__needle::before {
  bottom: -8px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 9px solid #ff7a7a;
}

.solve-overlay-compass__needle::after {
  top: -6px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 9px solid #69ff9f;
}

.solve-overlay-compass__hub {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #eef6ff;
  box-shadow: 0 0 0 2px rgba(12, 34, 58, 0.94);
}

@keyframes compass-seek {
  0% {
    transform: translate(-50%, -50%) rotate(-38deg);
  }
  22% {
    transform: translate(-50%, -50%) rotate(24deg);
  }
  48% {
    transform: translate(-50%, -50%) rotate(-12deg);
  }
  72% {
    transform: translate(-50%, -50%) rotate(34deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-38deg);
  }
}

.solve-overlay-title {
  color: #eef6ff;
  font-size: 1.08rem;
  font-weight: 800;
}

.solve-overlay-copy {
  color: rgba(219, 236, 255, 0.74);
  font-size: 0.9rem;
  line-height: 1.4;
}

.solve-overlay-kicker {
  color: #9fe4ff;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.solve-overlay-progress {
  width: 100%;
  display: grid;
  gap: 6px;
}

.solve-overlay-progress-track {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 0 0 1px rgba(152, 190, 255, 0.08);
}

.solve-overlay-progress-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #5fd2ff 0%, #66ff9c 100%);
  box-shadow: 0 0 18px rgba(95, 210, 255, 0.22);
  transition: width 320ms ease;
}

.solve-overlay-phase {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(152, 190, 255, 0.08);
  text-align: left;
}

.solve-overlay-phase strong {
  color: #eef6ff;
  font-size: 0.92rem;
  font-weight: 800;
}

.solve-overlay-phase span {
  color: rgba(214, 231, 251, 0.76);
  font-size: 0.82rem;
  line-height: 1.45;
}

.solve-overlay-lines {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.solve-overlay-line-label {
  color: rgba(159, 201, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.solve-overlay-line-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(152, 190, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(220, 235, 252, 0.68);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.solve-overlay-line-chip.is-active {
  color: #eef6ff;
  border-color: rgba(111, 213, 255, 0.28);
  background: rgba(27, 64, 92, 0.56);
  box-shadow: 0 0 0 1px rgba(111, 213, 255, 0.08);
}

.solve-overlay-line-chip.is-done {
  color: #b8ffd0;
  border-color: rgba(102, 255, 156, 0.22);
  background: rgba(11, 52, 35, 0.56);
}

.solve-overlay-line-summary {
  color: rgba(214, 231, 251, 0.8);
  font-size: 0.82rem;
  line-height: 1.42;
  max-width: 40ch;
}

.solve-overlay-meta {
  color: rgba(159, 201, 255, 0.72);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.solve-overlay-notes {
  display: grid;
  gap: 6px;
  width: 100%;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.solve-overlay-notes li {
  position: relative;
  padding-left: 14px;
  color: rgba(200, 219, 243, 0.7);
  font-size: 0.78rem;
  line-height: 1.4;
}

.solve-overlay-notes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42rem;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(111, 213, 255, 0.62);
}

.transfer-modal.is-hidden {
  display: none;
}

@keyframes solve-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes solve-glow {
  0%, 100% {
    box-shadow:
      0 0 0 1px rgba(255, 83, 100, 0.12),
      0 0 14px rgba(255, 83, 100, 0.14);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(255, 83, 100, 0.22),
      0 0 28px rgba(255, 83, 100, 0.28),
      0 0 46px rgba(255, 132, 78, 0.18);
  }
}

.transfer-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 5, 12, 0.84);
}

.transfer-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(720px, calc(100vw - 28px));
  max-height: min(78vh, 860px);
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: var(--paper-strong);
  box-shadow: var(--shadow);
}

.transfer-modal-dialog-wide {
  width: min(980px, calc(100vw - 20px));
}

.transfer-modal-dialog-insight {
  width: min(1040px, calc(100vw - 20px));
  max-height: min(88vh, 920px);
  display: flex;
  flex-direction: column;
}

.transfer-modal-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-end;
  padding: 18px 18px 14px;
  border-bottom: 1px solid rgba(152, 190, 255, 0.1);
}

.transfer-modal-head h3 {
  margin: 0;
  font-size: 1.1rem;
}

.transfer-modal-toolbar {
  padding: 12px 18px 0;
}

.transfer-search-field {
  min-width: 240px;
}

.qc-alert-toolbar {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.qc-alert-search-field {
  max-width: 360px;
}

.transfer-modal-list {
  display: grid;
  gap: 8px;
  max-height: calc(78vh - 144px);
  overflow: auto;
  padding: 14px 18px 18px;
}

.transfer-option {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(152, 190, 255, 0.08);
  background: rgba(15, 24, 42, 0.88);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.transfer-option:hover {
  border-color: rgba(88, 196, 255, 0.22);
  background: rgba(19, 32, 56, 0.94);
}

.transfer-option-head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 0 0 180px;
}

.transfer-option-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.transfer-option-copy strong {
  display: block;
}

.transfer-option-price {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
}

.transfer-option-xpts-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  flex: 1 1 auto;
  justify-content: flex-start;
}

.transfer-xpts-box {
  min-width: 58px;
  padding: 7px 8px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.04);
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.profile-head-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 0;
  justify-content: flex-start;
  align-items: stretch;
}

.profile-metric-chip {
  display: grid;
  box-sizing: border-box;
  gap: 8px;
  min-width: 144px;
  min-height: 118px;
  padding: 14px 12px 12px;
  background: rgba(7, 16, 30, 0.88);
  border: 1px solid rgba(116, 194, 255, 0.1);
  border-radius: 0;
  justify-items: center;
  align-content: center;
  text-align: center;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.profile-metric-label {
  color: rgba(210, 229, 252, 0.68);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.profile-metric-chip strong {
  color: #eef6ff;
  font-size: 1.92rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 0.98;
  text-align: center;
}

.profile-metric-meta {
  color: rgba(212, 231, 255, 0.78);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.profile-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 0;
  border: 1px solid rgba(152, 190, 255, 0.16);
  background: rgba(255, 255, 255, 0.035);
  color: rgba(235, 244, 255, 0.92);
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.profile-modal-close:hover {
  border-color: rgba(111, 230, 255, 0.24);
  background: rgba(111, 230, 255, 0.08);
}

.transfer-xpts-box strong {
  display: block;
  color: #eef6ff;
  font-size: 0.8rem;
  font-weight: 800;
}

.transfer-xpts-gw {
  display: block;
  margin-bottom: 2px;
  color: rgba(219, 236, 255, 0.68);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.player-profile-table-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  max-height: none;
  overflow: auto;
  padding: 8px 0 0;
  border: 0;
  background: transparent;
}

.player-profile-table {
  --profile-col-width: 104px;
  --profile-row-height: 70px;
  width: max-content;
  min-width: auto;
  margin: 0;
  border-collapse: separate;
  border-spacing: 4px;
  table-layout: fixed;
}

.player-profile-table th,
.player-profile-table td {
  padding: 0;
  text-align: center;
  background: transparent;
  border: 0;
  vertical-align: middle;
}

.player-profile-table th {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.player-profile-xpts-box {
  display: grid;
  box-sizing: border-box;
  place-items: center;
  align-content: center;
  gap: 4px;
  width: var(--profile-col-width);
  min-width: var(--profile-col-width);
  height: var(--profile-row-height);
  min-height: var(--profile-row-height);
  padding: 0 8px;
  border-radius: 0;
  background: rgba(7, 16, 30, 0.92);
  border: 1px solid rgba(116, 194, 255, 0.08);
  color: #eef6ff;
  font-variant-numeric: tabular-nums;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.03),
    0 16px 30px rgba(0, 0, 0, 0.16);
}

.player-profile-xpts-box strong {
  color: #eef6ff;
  font-size: 1.24rem;
  font-weight: 900;
  line-height: 1;
}

.player-profile-xpts-fixture {
  color: rgba(233, 244, 255, 0.78);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-transform: none;
}

.player-profile-xpts-button {
  border: 0;
  cursor: pointer;
  transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}

.player-profile-xpts-button:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(111, 230, 255, 0.18),
    0 14px 28px rgba(0, 0, 0, 0.18),
    0 0 22px rgba(61, 236, 118, 0.14);
  filter: brightness(1.04);
}

.player-profile-xpts-button:focus-visible {
  outline: 2px solid rgba(111, 230, 255, 0.92);
  outline-offset: 2px;
}

.player-profile-table select,
.player-profile-table input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0 10px;
  min-height: calc(var(--profile-row-height) - 18px);
  text-align: center;
  border-radius: 0;
}

.player-profile-matrix .player-profile-corner {
  box-sizing: border-box;
  width: var(--profile-col-width);
  min-width: var(--profile-col-width);
  height: var(--profile-row-height);
  min-height: var(--profile-row-height);
  padding: 0 8px;
  text-align: center;
  vertical-align: middle;
  background: transparent;
  border: 0;
}

.player-profile-corner-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  color: rgba(224, 239, 255, 0.64);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.player-profile-matrix .player-profile-gw-head {
  box-sizing: border-box;
  width: var(--profile-col-width);
  min-width: var(--profile-col-width);
  height: var(--profile-row-height);
  min-height: var(--profile-row-height);
  padding: 0 6px;
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02)),
    rgba(11, 22, 40, 0.92);
  border: 1px solid rgba(116, 194, 255, 0.12);
  vertical-align: middle;
  text-align: center;
}

.player-profile-gw-head-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.player-profile-gw-label {
  display: block;
  color: rgba(224, 239, 255, 0.88);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.player-profile-row-head {
  box-sizing: border-box;
  width: var(--profile-col-width);
  min-width: var(--profile-col-width);
  height: var(--profile-row-height);
  min-height: var(--profile-row-height);
  padding: 0 8px;
  text-align: center;
  vertical-align: middle;
  color: rgba(224, 239, 255, 0.78);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02)),
    rgba(11, 22, 40, 0.9);
  border: 1px solid rgba(116, 194, 255, 0.12);
}

.player-profile-row-head span {
  display: block;
  width: 100%;
  text-align: center;
}

.player-profile-metric-cell {
  padding-left: 0 !important;
}

.player-profile-control-shell,
.player-profile-availability-chip {
  display: grid;
  box-sizing: border-box;
  place-items: center;
  width: var(--profile-col-width);
  min-width: var(--profile-col-width);
  height: var(--profile-row-height);
  min-height: var(--profile-row-height);
  padding: 0 8px;
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02)),
    rgba(11, 22, 40, 0.88);
  border: 1px solid rgba(116, 194, 255, 0.12);
}

.player-profile-control-shell {
  position: relative;
  background: rgba(255, 255, 255, 0.03);
}

.player-profile-control-shell select,
.player-profile-control-shell input {
  display: block;
  width: 100%;
  background: rgba(8, 15, 29, 0.92);
  border: 1px solid rgba(152, 190, 255, 0.12);
  color: #eef6ff;
  text-align: center;
  text-align-last: center;
  font-variant-numeric: tabular-nums;
  padding-left: 12px;
  padding-right: 12px;
}

.player-profile-control-shell input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.player-profile-control-shell input[type="number"]::-webkit-outer-spin-button,
.player-profile-control-shell input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.player-profile-control-shell.is-select::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-right: 2px solid rgba(233, 245, 255, 0.88);
  border-bottom: 2px solid rgba(233, 245, 255, 0.88);
  transform: rotate(45deg);
  pointer-events: none;
}

.player-profile-control-shell select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none;
  padding-left: 28px;
  padding-right: 28px;
}

.player-profile-availability-chip {
  color: #eef6ff;
  font-size: 1rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.transfer-modal-dialog-profile {
  width: min(1360px, calc(100vw - 16px));
  max-height: min(92vh, 960px);
  overflow: auto;
}

.player-profile-shell {
  display: grid;
  padding: 10px;
}

.player-profile-stage {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(116, 194, 255, 0.12);
  background:
    radial-gradient(circle at top right, rgba(105, 212, 255, 0.06), transparent 34%),
    linear-gradient(180deg, rgba(18, 37, 61, 0.96), rgba(18, 37, 61, 0.92));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.02),
    0 24px 60px rgba(0, 0, 0, 0.18);
}

.player-profile-topband {
  display: grid;
  grid-template-columns: minmax(300px, 0.74fr) minmax(0, 1.26fr);
  gap: 22px;
  align-items: start;
  padding: 22px 24px 18px;
  border-bottom: 1px solid rgba(116, 194, 255, 0.08);
}

.player-profile-header-copy {
  display: grid;
  gap: 12px;
  min-width: 0;
  align-content: start;
}

.player-profile-hero-value {
  display: grid;
  gap: 2px;
}

.player-profile-hero-value strong {
  color: #eef6ff;
  font-size: 2.7rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 0.96;
}

.player-profile-hero-value span {
  color: rgba(210, 229, 252, 0.82);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.player-profile-top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.player-profile-top-tags {
  justify-content: flex-start;
}

.player-profile-compare-button {
  min-height: 42px;
  padding: 0 16px;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
}

.player-profile-driver-pane {
  display: grid;
  gap: 10px;
  padding: 0;
  align-content: start;
  min-height: 100%;
}

.player-profile-forecast-pane {
  display: grid;
  gap: 10px;
  padding: 14px 24px 22px;
  border-top: 1px solid rgba(116, 194, 255, 0.08);
  background: transparent;
}

.player-profile-identity-copy {
  display: grid;
  gap: 10px;
}

.profile-head-title-row-profile {
  justify-content: flex-start;
}

.profile-head-title-row-profile .badge-table {
  width: 26px;
  height: 26px;
}

.player-profile-metric-board-note {
  color: rgba(214, 233, 255, 0.72);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.player-profile-metric-board {
  display: contents;
}

.player-profile-metric-board-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.player-profile-metric-board-head h4,
.player-profile-forecast-head h4,
.comparison-section-head h4 {
  margin: 0;
  color: #eef6ff;
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.player-profile-metric-board-note {
  margin: 0;
  text-transform: none;
  letter-spacing: 0.01em;
  font-size: 0.82rem;
  line-height: 1.35;
  max-width: 280px;
  text-align: right;
}

.profile-head-metrics-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 0;
}

.player-profile-forecast-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.player-profile-forecast-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.transfer-modal-dialog-breakdown {
  width: min(1080px, calc(100vw - 24px));
  max-height: min(88vh, 940px);
  display: flex;
  flex-direction: column;
}

.transfer-modal-head-breakdown {
  padding-bottom: 10px;
}

.profile-back-button {
  position: absolute;
  top: 18px;
  left: 18px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(152, 190, 255, 0.16);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(235, 244, 255, 0.92);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.profile-breakdown-hero {
  display: grid;
  gap: 8px;
  justify-items: center;
  width: 100%;
  text-align: center;
}

.profile-breakdown-title-row {
  justify-content: center;
}

.profile-breakdown-subtitle {
  margin: 0;
  color: rgba(212, 231, 255, 0.8);
  font-size: 0.95rem;
  font-weight: 700;
}

.profile-breakdown-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: grid;
  grid-template-columns: minmax(380px, 0.95fr) minmax(320px, 0.85fr);
  gap: 14px;
  padding: 0 18px 18px;
  justify-content: center;
  align-items: start;
}

.profile-breakdown-meter-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  align-self: start;
}

.profile-breakdown-balance-row {
  display: grid;
  grid-template-columns: repeat(2, 76px);
  gap: 10px;
  justify-content: center;
}

.profile-breakdown-balance-chip {
  display: grid;
  gap: 2px;
  padding: 8px 6px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  text-align: center;
  background: rgba(7, 14, 28, 0.72);
}

.profile-breakdown-balance-chip span {
  color: rgba(212, 231, 255, 0.62);
  font-size: 0.54rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.profile-breakdown-balance-chip strong {
  font-size: 0.88rem;
  font-weight: 900;
  color: #eef6ff;
}

.profile-breakdown-balance-chip.is-positive {
  background: rgba(61, 236, 118, 0.08);
  border-color: rgba(61, 236, 118, 0.16);
}

.profile-breakdown-balance-chip.is-negative {
  background: rgba(255, 96, 164, 0.08);
  border-color: rgba(255, 96, 164, 0.16);
}

.profile-breakdown-composition {
  --profile-breakdown-bar-width: 104px;
  --profile-breakdown-label-height: 16px;
  --profile-breakdown-bar-pad: 10px;
  display: grid;
  grid-template-columns: 112px var(--profile-breakdown-bar-width) var(--profile-breakdown-bar-width) 116px;
  gap: 12px;
  justify-content: center;
  align-items: stretch;
  min-height: 320px;
}

.profile-breakdown-axis {
  display: grid;
  grid-template-rows: var(--profile-breakdown-label-height) 1fr;
  gap: 8px;
  min-height: 0;
}

.profile-breakdown-axis-spacer {
  min-height: var(--profile-breakdown-label-height);
}

.profile-breakdown-axis-plot {
  position: relative;
  min-height: 0;
  height: 100%;
  padding-top: var(--profile-breakdown-bar-pad);
  padding-bottom: var(--profile-breakdown-bar-pad);
  overflow: visible;
}

.profile-breakdown-axis-ticks {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.profile-breakdown-axis-bottom,
.profile-breakdown-axis-total-label {
  color: rgba(212, 231, 255, 0.82);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.profile-breakdown-axis-tick {
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
}

.profile-breakdown-axis-tick-mark {
  position: absolute;
  right: 0;
  top: 0;
  width: 10px;
  border-top: 1px solid rgba(152, 190, 255, 0.28);
}

.profile-breakdown-axis-tick-label {
  position: absolute;
  right: 15px;
  top: 0;
  color: rgba(212, 231, 255, 0.72);
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-50%);
}

.profile-breakdown-axis-marker {
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
}

.profile-breakdown-axis-marker-label {
  position: absolute;
  right: 15px;
  top: 0;
  color: rgba(212, 231, 255, 0.82);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-50%);
}

.profile-breakdown-axis-marker-mark {
  position: absolute;
  right: 0;
  top: 0;
  width: 10px;
  border-top: 1px solid rgba(152, 190, 255, 0.42);
}

.profile-breakdown-column-wrap {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 8px;
  min-height: 0;
  width: var(--profile-breakdown-bar-width);
}

.profile-breakdown-column-label {
  display: block;
  min-height: var(--profile-breakdown-label-height);
  color: rgba(212, 231, 255, 0.62);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  line-height: var(--profile-breakdown-label-height);
}

.profile-breakdown-column {
  position: relative;
  min-height: 0;
  height: 100%;
  padding: 10px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(7, 14, 28, 0.8);
  overflow: hidden;
}

.profile-breakdown-column.is-positive {
  justify-content: flex-start;
}

.profile-breakdown-column.is-negative {
  justify-content: flex-start;
}

.profile-breakdown-track-fill {
  position: relative;
  width: 100%;
  height: 100%;
}

.profile-breakdown-segment {
  position: absolute;
  left: 0;
  right: 0;
  border-radius: 0;
  border: 0;
  box-sizing: border-box;
  cursor: pointer;
  transition: opacity 140ms ease, filter 140ms ease, box-shadow 140ms ease;
}

.profile-breakdown-segment[data-breakdown-muted="1"],
.profile-breakdown-legend-row[data-breakdown-muted="1"] {
  opacity: 0.32;
  filter: saturate(0.35);
}

.profile-breakdown-segment[data-breakdown-active="1"],
.profile-breakdown-legend-row[data-breakdown-active="1"] {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22);
  opacity: 1;
  filter: saturate(1.05);
}

.profile-breakdown-negative-fill {
  width: 100%;
  height: 100%;
}

.profile-breakdown-axis.is-right {
  padding-left: 6px;
}

.profile-breakdown-axis-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.profile-breakdown-axis-total-marker {
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
}

.profile-breakdown-axis-total-marker::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 9px;
  border-top: 1px solid rgba(244, 249, 255, 0.88);
}

.profile-breakdown-axis-total-label {
  color: rgba(244, 249, 255, 0.96);
  font-size: 0.72rem;
  position: absolute;
  left: 17px;
  top: 0;
  transform: translateY(-50%);
}

.profile-breakdown-empty {
  display: grid;
  place-items: center;
  min-height: 60px;
  color: rgba(212, 231, 255, 0.48);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.profile-breakdown-side {
  display: grid;
  gap: 14px;
  max-width: 420px;
  width: 100%;
  justify-self: start;
  align-self: start;
  min-width: 0;
}

.profile-explain-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease, transform 160ms ease;
}

.profile-explain-details {
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.028);
}

.profile-explain-details[open] {
  background: rgba(255, 255, 255, 0.032);
}

.profile-explain-summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 18px;
  color: #eef6ff;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: center;
}

.profile-explain-summary::-webkit-details-marker {
  display: none;
}

.profile-explain-details[open] .profile-explain-summary {
  border-bottom: 1px solid rgba(152, 190, 255, 0.08);
}

.profile-explain-details .profile-explain-panel {
  border: 0;
  background: transparent;
  padding: 16px 18px 18px;
}

.profile-explain-panel.is-focused {
  border-color: rgba(110, 243, 188, 0.28);
  background:
    radial-gradient(circle at top right, rgba(78, 232, 255, 0.08), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.03));
  box-shadow: 0 16px 34px rgba(4, 15, 30, 0.28);
  transform: translateY(-1px);
}

.profile-explain-panel.is-focused .section-tag-small {
  color: rgba(139, 249, 196, 0.86);
}

.profile-explain-panel.is-focused .profile-explain-layer h4 {
  color: #f3fbff;
}

.profile-explain-panel.is-focused .profile-explain-layer p {
  color: rgba(228, 240, 255, 0.88);
}

.profile-explain-layer {
  display: grid;
  gap: 8px;
}

.section-tag-small {
  font-size: 0.58rem;
  letter-spacing: 0.12em;
}

.profile-explain-layer h4 {
  margin: 0;
  color: #eef6ff;
  font-size: 1rem;
  font-weight: 900;
}

.profile-explain-layer p {
  margin: 0;
  color: rgba(220, 233, 250, 0.78);
  font-size: 0.82rem;
  line-height: 1.45;
}

.profile-explain-inline-code {
  display: block;
  color: rgba(137, 224, 255, 0.9);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.69rem;
  line-height: 1.45;
  letter-spacing: -0.01em;
  white-space: normal;
  word-break: break-word;
}

.profile-explain-driver-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.profile-explain-driver-chip {
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid rgba(152, 190, 255, 0.1);
  background: rgba(7, 14, 28, 0.56);
}

.profile-explain-driver-chip span,
.profile-explain-driver-chip small {
  color: rgba(212, 231, 255, 0.62);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.profile-explain-driver-chip strong {
  color: #eef6ff;
  font-size: 0.92rem;
  font-weight: 900;
}

.profile-explain-math-list,
.profile-explain-fixture-list {
  display: grid;
  gap: 8px;
}

.profile-explain-math-row,
.profile-explain-fixture-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(152, 190, 255, 0.08);
}

.profile-explain-math-row:last-child,
.profile-explain-fixture-row:last-child {
  border-bottom: 0;
}

.profile-explain-math-copy,
.profile-explain-fixture-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.profile-explain-math-copy strong,
.profile-explain-fixture-copy strong {
  color: rgba(235, 244, 255, 0.92);
  font-size: 0.82rem;
  font-weight: 800;
}

.profile-explain-math-copy span,
.profile-explain-fixture-copy span,
.profile-explain-subhead {
  color: rgba(212, 231, 255, 0.62);
  font-size: 0.68rem;
  line-height: 1.35;
}

.profile-explain-subhead {
  margin-top: 2px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.profile-explain-math-value,
.profile-explain-fixture-value {
  color: #eef6ff;
  font-size: 0.88rem;
  font-weight: 900;
  white-space: nowrap;
}

.transfer-modal-dialog-metric-detail {
  width: min(820px, calc(100vw - 24px));
  max-height: min(88vh, 920px);
  display: flex;
  flex-direction: column;
}

.profile-metric-detail-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: grid;
  gap: 14px;
  padding: 0 18px 18px;
}

.profile-metric-detail-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profile-breakdown-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.profile-breakdown-summary-chip {
  display: grid;
  gap: 4px;
  padding: 14px 12px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  text-align: center;
}

.profile-breakdown-summary-chip span {
  color: rgba(212, 231, 255, 0.64);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.profile-breakdown-summary-chip strong {
  color: #eef6ff;
  font-size: 1.12rem;
  font-weight: 900;
}

.profile-breakdown-legend {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  min-width: 0;
}

.profile-breakdown-hero-total-focus {
  gap: 14px;
}

.xpts-breakdown-hero-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  gap: 14px;
  width: 100%;
  align-items: stretch;
}

.xpts-breakdown-total-card,
.xpts-breakdown-meta-card,
.xpts-breakdown-meta-panel,
.xpts-breakdown-stage-card,
.xpts-breakdown-side-card {
  border: 1px solid rgba(152, 190, 255, 0.12);
}

.xpts-breakdown-total-card {
  display: grid;
  gap: 10px;
  align-content: center;
  padding: 18px 20px;
  text-align: center;
  background: rgba(255, 255, 255, 0.03);
}

.xpts-breakdown-total-label {
  color: rgba(212, 231, 255, 0.64);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.xpts-breakdown-total-value {
  display: block;
  color: #78ff9d;
  font-size: clamp(3.5rem, 6vw, 5rem);
  line-height: 0.9;
  font-weight: 900;
  letter-spacing: -0.06em;
}

.xpts-breakdown-total-equation {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  color: rgba(230, 240, 255, 0.86);
  font-size: 0.84rem;
  font-weight: 800;
}

.xpts-breakdown-total-equation .is-positive {
  color: #9cffbe;
}

.xpts-breakdown-total-equation .is-negative {
  color: #ffb6cb;
}

.xpts-breakdown-meta-grid {
  display: grid;
}

.xpts-breakdown-meta-card {
  display: grid;
  gap: 6px;
  padding: 12px 13px;
  text-align: left;
  background: rgba(255, 255, 255, 0.028);
}

.xpts-breakdown-meta-card span {
  color: rgba(212, 231, 255, 0.62);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.xpts-breakdown-meta-card strong {
  color: #eef6ff;
  font-size: 0.96rem;
  font-weight: 900;
  line-height: 1.25;
}

.xpts-breakdown-meta-card.is-negative strong {
  color: #ffbfd1;
}

.xpts-breakdown-meta-panel {
  display: grid;
  gap: 18px;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.028);
  text-align: center;
}

.xpts-breakdown-meta-main {
  display: grid;
  gap: 10px;
  text-align: center;
}

.xpts-breakdown-meta-main > span,
.xpts-breakdown-meta-item span {
  color: rgba(212, 231, 255, 0.62);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.xpts-breakdown-meta-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(152, 190, 255, 0.08);
}

.xpts-breakdown-meta-item {
  display: grid;
  gap: 8px;
  text-align: center;
}

.xpts-breakdown-meta-item strong {
  color: #eef6ff;
  font-size: 1.9rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.xpts-breakdown-player-card {
  grid-column: 1 / -1;
}

.xpts-breakdown-player-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.xpts-breakdown-player-inline strong {
  color: #eef6ff;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
}

.xpts-breakdown-player-inline .badge-table {
  width: 28px;
  height: 28px;
}

.profile-breakdown-body-total-focus {
  grid-template-columns: minmax(0, 1.24fr) minmax(320px, 0.76fr);
  gap: 16px;
}

.profile-breakdown-main-column {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.xpts-breakdown-stage-card,
.xpts-breakdown-side-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.03);
  align-self: start;
}

.xpts-breakdown-stage-head h4,
.xpts-breakdown-driver-group-head span {
  margin: 0;
}

.xpts-breakdown-rail-group {
  display: grid;
  gap: 10px;
}

.xpts-breakdown-scale-wrap {
  display: grid;
  gap: 8px;
}

.xpts-breakdown-scale-top {
  position: relative;
  min-height: 28px;
}

.xpts-breakdown-scale-marker {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  display: inline-grid;
  justify-items: center;
  gap: 6px;
}

.xpts-breakdown-scale-marker-label {
  color: #eef6ff;
  font-size: 0.88rem;
  font-weight: 900;
  white-space: nowrap;
}

.xpts-breakdown-scale-marker-tick {
  width: 0;
  height: 12px;
  border-left: 2px solid rgba(198, 243, 255, 0.92);
}

.xpts-breakdown-scale-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(212, 231, 255, 0.76);
  font-size: 0.82rem;
  font-weight: 800;
}

.xpts-breakdown-composite-rail {
  display: flex;
  min-height: 122px;
  overflow: hidden;
  background: rgba(7, 14, 28, 0.68);
  border: 1px solid rgba(152, 190, 255, 0.1);
}

.xpts-breakdown-composite-section {
  display: flex;
  min-width: 0;
  height: 100%;
  isolation: isolate;
}

.xpts-breakdown-composite-section.is-negative {
  border-left: 2px solid rgba(255, 196, 221, 0.34);
  box-shadow: inset 1px 0 0 rgba(7, 14, 28, 0.92);
}

.xpts-breakdown-rail-segment {
  box-sizing: border-box;
  min-width: 0;
  display: grid;
  align-content: end;
  gap: 3px;
  padding: 12px 10px 10px;
  border: 0;
  border-right: 1px solid rgba(7, 14, 28, 0.9);
  text-align: left;
  cursor: pointer;
  transition: transform 140ms ease, opacity 140ms ease, filter 140ms ease, box-shadow 140ms ease;
}

.xpts-breakdown-rail-segment.is-compact {
  padding: 0;
  align-content: stretch;
}

.xpts-breakdown-rail-segment:hover,
.xpts-breakdown-driver-row:hover {
  filter: brightness(1.05);
}

.xpts-breakdown-composite-section .xpts-breakdown-rail-segment {
  flex: 0 0 auto;
}

.xpts-breakdown-composite-section .xpts-breakdown-rail-segment:last-child {
  border-right: 0;
}

.xpts-breakdown-rail-segment-label {
  display: block;
  color: rgba(7, 14, 28, 0.88);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.xpts-breakdown-rail-segment-value {
  display: block;
  color: rgba(7, 14, 28, 0.92);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.xpts-breakdown-side-card {
  align-content: start;
}

.xpts-breakdown-driver-group {
  display: grid;
  gap: 10px;
}

.xpts-breakdown-driver-group + .xpts-breakdown-driver-group {
  padding-top: 4px;
  border-top: 1px solid rgba(152, 190, 255, 0.08);
}

.xpts-breakdown-driver-group-head {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 10px;
}

.xpts-breakdown-driver-group-head span {
  color: rgba(212, 231, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.xpts-breakdown-driver-group-head strong {
  color: #eef6ff;
  font-size: 0.95rem;
  font-weight: 900;
}

.xpts-breakdown-driver-list {
  display: grid;
  gap: 8px;
}

.xpts-breakdown-driver-row {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(7, 14, 28, 0.6);
  overflow: hidden;
  text-align: left;
  cursor: pointer;
  transition: opacity 140ms ease, filter 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.xpts-breakdown-driver-fill {
  position: absolute;
  inset: 0 auto 0 0;
  opacity: 0.2;
  pointer-events: none;
}

.xpts-breakdown-driver-copy,
.xpts-breakdown-driver-row strong {
  position: relative;
  z-index: 1;
}

.xpts-breakdown-driver-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.xpts-breakdown-driver-label {
  color: #eef6ff;
  font-size: 0.88rem;
  font-weight: 800;
}

.xpts-breakdown-driver-copy small {
  color: rgba(212, 231, 255, 0.62);
  font-size: 0.68rem;
  font-weight: 700;
}

.xpts-breakdown-driver-row strong {
  color: #eef6ff;
  font-size: 0.96rem;
  font-weight: 900;
  white-space: nowrap;
}

.xpts-breakdown-driver-row strong.is-negative {
  color: #ffbdd0;
}

.xpts-breakdown-rail-segment[data-breakdown-muted="1"] {
  opacity: 1;
  filter: grayscale(1) saturate(0) brightness(0.52);
}

.xpts-breakdown-rail-segment[data-breakdown-muted="1"] .xpts-breakdown-rail-segment-label,
.xpts-breakdown-rail-segment[data-breakdown-muted="1"] .xpts-breakdown-rail-segment-value {
  color: rgba(216, 226, 238, 0.62);
}

.xpts-breakdown-driver-row[data-breakdown-muted="1"] {
  opacity: 0.46;
  filter: saturate(0.45);
}

.xpts-breakdown-rail-segment[data-breakdown-active="1"] {
  box-shadow: inset 0 0 0 2px rgba(235, 248, 255, 0.36), 0 0 0 1px rgba(103, 255, 194, 0.22);
  opacity: 1;
  filter: saturate(1.16) brightness(1.1);
  z-index: 1;
}

.xpts-breakdown-driver-row[data-breakdown-active="1"] {
  border-color: rgba(108, 246, 188, 0.24);
  background:
    radial-gradient(circle at right center, rgba(86, 230, 255, 0.08), transparent 52%),
    rgba(7, 14, 28, 0.74);
  box-shadow: inset 0 0 0 1px rgba(220, 250, 255, 0.2), 0 14px 30px rgba(4, 15, 30, 0.26);
  opacity: 1;
  filter: saturate(1.12) brightness(1.03);
  transform: translateY(-1px);
}

.xpts-breakdown-driver-row[data-breakdown-active="1"] .xpts-breakdown-driver-fill {
  opacity: 0.34;
}

.xpts-breakdown-driver-row[data-breakdown-active="1"] .xpts-breakdown-driver-label,
.xpts-breakdown-driver-row[data-breakdown-active="1"] strong {
  color: #f4fbff;
}

.xpts-breakdown-driver-row[data-breakdown-active="1"] small {
  color: rgba(198, 255, 220, 0.82);
}

@media (max-width: 980px) {
  .transfer-modal-dialog-breakdown {
    width: min(920px, calc(100vw - 18px));
  }

  .profile-breakdown-body {
    grid-template-columns: 1fr;
  }

  .profile-breakdown-side {
    max-width: none;
  }

  .xpts-breakdown-hero-grid {
    grid-template-columns: 1fr;
  }

  .xpts-breakdown-stage-head {
    grid-template-columns: 1fr;
    display: grid;
    align-items: start;
  }
}

@media (max-width: 720px) {
  .xpts-breakdown-player-card {
    grid-column: auto;
  }

  .xpts-breakdown-meta-strip {
    grid-template-columns: 1fr;
  }

  .xpts-breakdown-total-card {
    text-align: center;
  }

  .xpts-breakdown-total-equation {
    justify-content: center;
  }

  .xpts-breakdown-composite-rail {
    min-height: 98px;
  }
}

.profile-breakdown-legend-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: opacity 140ms ease, filter 140ms ease;
}

.profile-breakdown-legend-key {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: rgba(235, 244, 255, 0.86);
  font-size: 0.84rem;
  font-weight: 700;
}

.profile-breakdown-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
}

.profile-breakdown-legend-row strong {
  color: #eef6ff;
  font-size: 0.92rem;
  font-weight: 900;
}

.profile-breakdown-legend-row strong.is-negative {
  color: #ffb5cc;
}

.insight-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: grid;
  gap: 14px;
  padding: 0 18px 18px;
}

.insight-chip-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.insight-chip {
  display: grid;
  gap: 4px;
  padding: 14px 12px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  text-align: center;
}

.insight-chip span {
  color: rgba(212, 231, 255, 0.64);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.insight-chip strong {
  color: #eef6ff;
  font-size: 1.16rem;
  font-weight: 900;
}

.insight-chip.is-positive strong {
  color: #8ff0b9;
}

.insight-chip.is-negative strong {
  color: #ffb5cc;
}

.insight-panel {
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  padding: 14px;
}

.insight-panel h4 {
  margin: 0 0 10px;
  color: #eef6ff;
  font-size: 0.94rem;
  font-weight: 900;
}

.insight-panel p {
  margin: 0;
  color: rgba(226, 238, 255, 0.76);
  font-size: 0.88rem;
  line-height: 1.45;
}

.covariance-rows {
  display: grid;
  gap: 8px;
}

.covariance-modal-body {
  gap: 14px;
}

.covariance-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.covariance-summary-card {
  display: grid;
  gap: 4px;
  padding: 15px 14px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  text-align: center;
}

.covariance-summary-card span {
  color: rgba(212, 231, 255, 0.64);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.covariance-summary-card strong {
  color: #eef6ff;
  font-size: 1.28rem;
  font-weight: 900;
}

.covariance-summary-card.is-positive strong {
  color: #8ff0b9;
}

.covariance-summary-card.is-negative strong {
  color: #ffb5cc;
}

.covariance-hero-copy {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  line-height: 1.55;
}

.covariance-hero-title {
  letter-spacing: -0.03em;
}

.covariance-explainer {
  max-width: 420px;
  margin: 0 auto;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.028);
}

.covariance-explainer[open] {
  background: rgba(255, 255, 255, 0.032);
}

.covariance-explainer-summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 14px;
  color: #eef6ff;
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.covariance-explainer-summary::-webkit-details-marker {
  display: none;
}

.covariance-explainer-icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: rgba(98, 213, 255, 0.16);
  border: 1px solid rgba(98, 213, 255, 0.24);
  color: #8de9ff;
  font-size: 0.76rem;
  font-weight: 900;
}

.covariance-explainer-copy {
  padding: 0 14px 14px;
}

.covariance-explainer-copy p {
  margin: 0;
  color: rgba(224, 238, 255, 0.82);
  font-size: 0.82rem;
  line-height: 1.55;
}

.covariance-rows-clean {
  gap: 0;
  border-top: 1px solid rgba(152, 190, 255, 0.08);
}

.covariance-row {
  display: flex;
  justify-content: center;
  padding: 14px 10px;
  border-bottom: 1px solid rgba(152, 190, 255, 0.08);
  background: transparent;
}

.covariance-row-core {
  display: grid;
  grid-template-columns: minmax(280px, 420px) 92px;
  gap: 26px;
  align-items: center;
  justify-content: center;
  width: min(100%, 540px);
  margin: 0 auto;
}

.covariance-pair-wrap {
  display: grid;
  gap: 3px;
  text-align: center;
  justify-items: center;
}

.covariance-pair {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  color: #eef6ff;
  font-size: 0.92rem;
  font-weight: 800;
}

.covariance-player-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.covariance-player-badge {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.covariance-pair-sep {
  color: rgba(216, 232, 252, 0.5);
  font-weight: 800;
}

.covariance-type {
  color: rgba(216, 232, 252, 0.72);
  font-size: 0.8rem;
  font-weight: 700;
  text-align: center;
}

.covariance-score {
  font-size: 1rem;
  font-weight: 900;
  text-align: center;
  min-width: 92px;
  justify-self: center;
}

@media (max-width: 720px) {
  .covariance-row-core {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    width: min(100%, 420px);
  }
}

.covariance-score.is-positive {
  color: #8ff0b9;
}

.covariance-score.is-negative {
  color: #ffb5cc;
}

.comparison-head {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: center;
}

.comparison-title-flow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px 12px;
  flex-wrap: wrap;
}

.comparison-title-flow .badge-table {
  width: clamp(28px, 2.6vw, 40px);
  height: clamp(28px, 2.6vw, 40px);
}

.comparison-title-player {
  color: #7ed4ff;
  font-size: clamp(1.8rem, 3.4vw, 3.15rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.96;
}

.comparison-title-arrow {
  color: rgba(126, 212, 255, 0.9);
  font-size: clamp(1.55rem, 2.7vw, 2.45rem);
  font-weight: 900;
  line-height: 1;
}

.comparison-player-card {
  display: grid;
  gap: 10px;
  justify-items: center;
  padding: 16px 18px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  text-align: center;
}

.comparison-player-card h4 {
  margin: 0;
  color: #eef6ff;
  font-size: 1.12rem;
  font-weight: 900;
}

.comparison-player-meta {
  color: rgba(216, 232, 252, 0.72);
  font-size: 0.84rem;
  font-weight: 700;
}

.comparison-player-xpts {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border: 1px solid rgba(71, 241, 147, 0.18);
  background: rgba(36, 204, 112, 0.12);
  color: #8ff0b9;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.comparison-verdict-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.9fr);
  gap: 14px;
  align-items: stretch;
  padding: 16px 18px;
  border: 1px solid rgba(116, 194, 255, 0.16);
  background:
    radial-gradient(circle at top right, rgba(105, 212, 255, 0.14), transparent 34%),
    rgba(255, 255, 255, 0.03);
}

.comparison-verdict-copy {
  display: grid;
  gap: 8px;
  align-content: start;
}

.comparison-verdict-copy h4 {
  margin: 0;
  color: #eef6ff;
  font-size: 1.34rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.comparison-verdict-copy p {
  margin: 0;
  color: rgba(220, 236, 255, 0.78);
  font-size: 0.94rem;
  line-height: 1.45;
}

.comparison-verdict-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.comparison-verdict-metric {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid rgba(116, 194, 255, 0.12);
  background: rgba(9, 14, 28, 0.76);
}

.comparison-verdict-metric span {
  color: rgba(220, 236, 255, 0.68);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.comparison-verdict-metric strong {
  font-size: 1.08rem;
  font-weight: 900;
}

.comparison-delta-card {
  display: grid;
  gap: 8px;
  justify-items: center;
  text-align: center;
}

.comparison-delta-card .comparison-delta {
  color: #8ff0b9;
  font-size: 1.5rem;
  font-weight: 900;
}

.comparison-gw-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 10px;
}

.comparison-gw-card {
  display: grid;
  gap: 6px;
  padding: 12px 12px 13px;
  border: 1px solid rgba(116, 194, 255, 0.12);
  background: rgba(11, 22, 40, 0.82);
  text-align: center;
}

.comparison-gw-card span {
  color: rgba(216, 232, 252, 0.72);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.comparison-gw-lines {
  display: grid;
  gap: 2px;
}

.comparison-gw-line {
  color: #eef6ff;
  font-size: 0.82rem;
  font-weight: 700;
}

.comparison-gw-line strong {
  font-weight: 900;
}

.comparison-gw-delta {
  font-size: 0.88rem;
  font-weight: 900;
}

.comparison-gw-delta.is-positive {
  color: #8ff0b9;
}

.comparison-gw-delta.is-negative {
  color: #ffb5cc;
}

.comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
}

.comparison-table th,
.comparison-table td {
  padding: 10px 12px;
  border: 1px solid rgba(152, 190, 255, 0.1);
  background: rgba(10, 18, 34, 0.72);
}

.comparison-table th {
  color: rgba(216, 232, 252, 0.72);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  min-width: 116px;
}

.comparison-table td {
  color: #eef6ff;
  font-size: 0.9rem;
  font-weight: 800;
  text-align: center;
}

.transfer-modal-dialog-comparison {
  width: min(1080px, calc(100vw - 22px));
  max-height: min(92vh, 980px);
  overflow: auto;
}

.comparison-shell {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.comparison-arena {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(116, 194, 255, 0.12);
  background:
    radial-gradient(circle at top right, rgba(105, 212, 255, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(18, 37, 61, 0.96), rgba(18, 37, 61, 0.92));
}

.comparison-arena__fighter {
  display: grid;
  gap: 10px;
  align-content: center;
  min-height: 176px;
  padding: 14px 16px;
  border: 1px solid rgba(116, 194, 255, 0.1);
  background: rgba(255, 255, 255, 0.035);
}

.comparison-arena__fighter--left {
  justify-items: center;
  text-align: center;
}

.comparison-arena__fighter--right {
  justify-items: center;
  text-align: center;
}

.comparison-arena__fighter-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.comparison-arena__fighter-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #eef6ff;
  font-size: clamp(1.55rem, 2.6vw, 2.65rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.96;
}

.comparison-arena__fighter-title .badge-table {
  width: clamp(28px, 2.4vw, 40px);
  height: clamp(28px, 2.4vw, 40px);
}

.comparison-arena__fighter-meta {
  color: rgba(220, 236, 255, 0.84);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.comparison-arena__fighter-sub {
  color: rgba(210, 228, 248, 0.68);
  font-size: 0.9rem;
  font-weight: 700;
}

.comparison-arena__center {
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  padding: 0;
}

.comparison-arena__arrow {
  color: rgba(126, 212, 255, 0.9);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 900;
  line-height: 1;
}

.comparison-thesis-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(116, 194, 255, 0.14);
  background: rgba(8, 19, 35, 0.74);
  color: #f5fbff;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.comparison-thesis-badge.comparison-verdict-positive {
  border-color: rgba(76, 231, 141, 0.24);
  color: #cfffde;
  background: rgba(22, 120, 74, 0.22);
}

.comparison-arena__delta {
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.comparison-arena__delta.is-positive {
  color: #8ff0b9;
}

.comparison-arena__delta.is-negative {
  color: #ffb5cc;
}

.comparison-arena__meta {
  color: rgba(214, 233, 255, 0.72);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.comparison-arena__copy {
  margin: 0;
  color: rgba(230, 240, 255, 0.82);
  font-size: 0.94rem;
  line-height: 1.45;
}

.comparison-rounds-panel,
.comparison-tape-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(116, 194, 255, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.014)),
    rgba(18, 37, 61, 0.88);
}

.comparison-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.comparison-section-head h4 {
  font-size: 1.22rem;
}

.comparison-section-head--center {
  justify-content: center;
  align-items: center;
  text-align: center;
}

.comparison-rounds-score {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  color: rgba(220, 236, 255, 0.76);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.comparison-rounds-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: 12px;
}

.comparison-horizon-grid {
  display: grid;
  grid-template-columns: 124px repeat(var(--comparison-gw-count), minmax(62px, 0.8fr));
  gap: 5px;
  align-items: stretch;
  width: min(80%, 740px);
  margin: 0 auto;
}

.comparison-horizon-label,
.comparison-horizon-gw,
.comparison-horizon-cell {
  min-height: 58px;
  border: 1px solid rgba(116, 194, 255, 0.12);
}

.comparison-horizon-label,
.comparison-horizon-gw {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  background: rgba(11, 22, 40, 0.86);
  color: rgba(216, 232, 252, 0.76);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
}

.comparison-horizon-cell {
  display: grid;
  gap: 3px;
  align-content: center;
  justify-items: center;
  padding: 7px 6px;
  background: rgba(10, 18, 34, 0.78);
  text-align: center;
}

.comparison-horizon-cell strong {
  color: #eef6ff;
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.comparison-horizon-cell span {
  color: rgba(218, 234, 252, 0.78);
  font-size: 0.71rem;
  font-weight: 800;
}

.comparison-horizon-cell.is-winner {
  outline: 2px solid rgba(255, 210, 92, 0.82);
  outline-offset: -2px;
  border-color: rgba(255, 210, 92, 0.52);
}

.comparison-round-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(116, 194, 255, 0.12);
  background: rgba(9, 17, 31, 0.84);
}

.comparison-round-card__gw {
  color: rgba(214, 233, 255, 0.74);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.comparison-round-card__ring {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(116, 194, 255, 0.1);
  background: rgba(255, 255, 255, 0.015);
}

.comparison-round-card__corner {
  display: grid;
  gap: 6px;
  justify-items: center;
  text-align: center;
  padding: 12px 8px;
}

.comparison-round-card__corner + .comparison-round-card__corner {
  border-left: 1px solid rgba(116, 194, 255, 0.1);
}

.comparison-round-card__corner strong {
  color: #eef6ff;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.comparison-round-card__corner span {
  color: rgba(214, 233, 255, 0.72);
  font-size: 0.8rem;
  font-weight: 800;
}

.comparison-round-card__corner.is-winner {
  background: rgba(35, 149, 87, 0.24);
}

.comparison-round-card__delta {
  text-align: center;
  font-size: 0.88rem;
  font-weight: 900;
}

.comparison-round-card__delta.is-positive {
  color: #8ff0b9;
}

.comparison-round-card__delta.is-negative {
  color: #ffb5cc;
}

.comparison-table-refined {
  border-spacing: 0 8px;
}

.comparison-cell.is-better {
  box-shadow: inset 0 0 0 1px rgba(111, 255, 172, 0.22);
  background: rgba(36, 204, 112, 0.28);
  color: #f4fffa;
}

.comparison-tape-head .micro-summary {
  max-width: 340px;
  text-align: right;
}

.comparison-tape-table th,
.comparison-tape-table td {
  padding: 14px 16px;
}

.comparison-tape-table th {
  min-width: 170px;
  font-size: 0.8rem;
}

.comparison-tape-table td {
  font-size: 1.02rem;
}

.comparison-tape-table .comparison-cell.is-better {
  box-shadow: inset 0 0 0 1px rgba(111, 255, 172, 0.24);
  background: rgba(36, 204, 112, 0.32);
}

.summary-chip {
  padding: 16px;
}

.summary-chip strong {
  font-size: 1.15rem;
}

.summary-chip p {
  margin: 10px 0 0;
  color: var(--muted);
}

.transfer-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.transfer-list {
  padding: 14px;
}

.transfer-list h4,
.week-card h4 {
  margin: 0 0 10px;
  font-size: 0.95rem;
}

.transfer-list ul,
.week-card ul {
  margin: 0;
  padding-left: 18px;
}

.week-cards {
  display: grid;
  gap: 12px;
}

.week-card {
  padding: 14px;
}

.week-card .week-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}

.empty-state {
  border-radius: 16px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--muted);
}

.metric-toggle {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.toggle-button {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.06);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  transition:
    background 160ms ease,
    color 160ms ease,
    border-color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

.toggle-button.is-active {
  background: linear-gradient(135deg, rgba(24, 182, 106, 0.9), rgba(31, 143, 217, 0.92));
  color: #fff;
  border-color: transparent;
}

.metric-toggle-compact {
  justify-content: flex-start;
  gap: 8px;
}

.metric-toggle-compact .toggle-button {
  min-height: 38px;
  padding: 7px 13px;
  border-color: rgba(122, 167, 232, 0.1);
  background:
    linear-gradient(180deg, rgba(28, 40, 67, 0.82), rgba(20, 30, 50, 0.88)),
    rgba(19, 30, 50, 0.86);
  color: rgba(214, 229, 245, 0.82);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.metric-toggle-compact .toggle-button:hover {
  transform: translateY(-1px);
  border-color: rgba(122, 167, 232, 0.18);
  color: #eef6ff;
}

.metric-toggle-compact .toggle-button.is-active {
  border-color: rgba(121, 226, 255, 0.28);
  background:
    linear-gradient(135deg, rgba(20, 177, 137, 0.94), rgba(31, 143, 217, 0.94)),
    rgba(25, 125, 194, 0.92);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 8px 20px rgba(10, 69, 108, 0.24);
}

.table-wrap,
.mini-table-wrap {
  overflow: auto;
}

.table-wrap {
  overflow-y: visible;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

#players-table {
  --player-gw-cell-width: 78px;
  --player-gw-cell-height: 63px;
  --player-main-font-size: 1.02rem;
  --player-sub-font-size: 0.62rem;
  table-layout: fixed;
  width: auto;
  background: transparent;
  border-radius: 12px;
  overflow: hidden;
  margin-inline: auto;
}

thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(9, 16, 30, 0.97);
  overflow: visible;
}

th,
td {
  padding: 10px 8px;
  border-bottom: 1px solid rgba(152, 190, 255, 0.08);
  text-align: left;
  white-space: nowrap;
}

#players-table th,
#players-table td {
  padding: 12px 8px;
  font-size: 0.94rem;
  box-sizing: border-box;
}

#players-table tbody tr {
  height: var(--player-gw-cell-height);
}

#players-table tbody td {
  height: var(--player-gw-cell-height);
  vertical-align: middle;
}

#players-table td {
  background: transparent;
}

#players-table th {
  height: var(--player-gw-cell-height);
  min-height: var(--player-gw-cell-height);
  padding-top: 12px;
  padding-bottom: 12px;
  vertical-align: middle;
  background: rgba(9, 15, 27, 0.96);
}

#players-table .player-col {
  width: 144px;
}

#players-table th.player-col,
#players-table td.player-col {
  text-align: left;
}

#players-table .player-name-cell {
  white-space: nowrap;
  line-height: 1.04;
  font-weight: 700;
  padding-left: 6px;
  padding-right: 4px;
  text-align: left;
}

.player-primary-cell {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  gap: 8px;
  width: 100%;
}

.player-primary-name {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #eef6ff;
  font-size: var(--player-main-font-size);
  font-weight: 800;
}

#players-table .pos-col {
  width: 42px;
}

#players-table .price-col {
  width: 54px;
}

#players-table .xmin-col {
  width: 54px;
}

#players-table .gw-col {
  width: var(--player-gw-cell-width);
  min-width: var(--player-gw-cell-width);
}

#players-table .total-col,
#players-table .value-col {
  width: 92px;
}

.number {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.cell-main {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  display: block;
  color: #f5fbff;
  font-size: var(--player-main-font-size);
  line-height: 1.04;
}

.cell-sub {
  display: block;
  margin-top: 3px;
  font-size: var(--player-sub-font-size);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: 0.02em;
  color: rgba(214, 229, 245, 0.54);
  text-transform: none;
}

.text-center {
  text-align: center !important;
}

.table-empty {
  text-align: center;
  color: var(--muted);
  padding: 20px 12px;
}

.table-summary-inline {
  margin: 8px 0 10px;
  justify-items: center;
  text-align: center;
}

.table-actions {
  display: flex;
  justify-content: center;
  margin-top: 14px;
}

.sortable-header {
  cursor: pointer;
  user-select: none;
  font-size: var(--player-main-font-size);
  font-weight: 800;
  color: #eef6ff;
}

.sortable-header .metric-help-shell,
.comparison-table th .metric-help-shell,
.profile-metric-label .metric-help-shell {
  justify-content: center;
}

.sortable-header.is-sorted {
  background: rgba(22, 36, 62, 0.98);
}

.sort-indicator {
  margin-left: 4px;
  font-size: 0.56rem;
  color: #7cd4ff;
}

.gw-cell,
.total-cell,
.value-cell {
  transition: background 120ms ease;
}

#players-table th.gw-col {
  font-size: var(--player-main-font-size);
  padding-left: 8px;
  padding-right: 8px;
}

#players-table td.gw-cell {
  width: var(--player-gw-cell-width);
  min-width: var(--player-gw-cell-width);
  height: var(--player-gw-cell-height);
  min-height: var(--player-gw-cell-height);
  padding: 0;
  vertical-align: middle;
}

.player-table-gw-button {
  width: 100%;
  height: 100%;
  min-height: calc(var(--player-gw-cell-height) - 12px);
  display: grid;
  place-items: center;
  padding: 6px 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition: filter 120ms ease;
}

.player-table-gw-button:hover {
  filter: brightness(1.03);
}

#players-table td.gw-cell .cell-main {
  font-size: var(--player-main-font-size);
  line-height: 0.98;
}

#players-table td.gw-cell .cell-sub {
  margin-top: 1px;
  font-size: var(--player-sub-font-size);
  line-height: 0.98;
}

#players-table td.pos-col,
#players-table td.price-col,
#players-table td.xmin-col {
  font-size: var(--player-main-font-size);
  font-weight: 800;
  color: #f5fbff;
  vertical-align: middle;
}

#players-table .total-cell,
#players-table .value-cell {
  font-weight: 800;
  color: rgba(231, 245, 255, 0.88);
  transition: color 120ms ease, filter 120ms ease;
}

#players-table .total-cell strong,
#players-table .value-cell strong {
  font-size: var(--player-main-font-size);
}

#players-table .total-cell.is-muted,
#players-table .value-cell.is-muted {
  color: rgba(211, 226, 242, 0.76);
}

#players-table .total-cell.is-muted strong,
#players-table .value-cell.is-muted strong {
  opacity: 0.9;
}

#players-table .total-cell.is-emphasis,
#players-table .value-cell.is-emphasis {
  color: #f2fbff;
}

#players-table .total-cell.is-emphasis strong,
#players-table .value-cell.is-emphasis strong {
  text-shadow: 0 0 18px rgba(88, 196, 255, 0.12);
}

#players-table tbody tr:hover td {
  filter: brightness(1.02);
}

.player-table-row {
  cursor: pointer;
}

.comparison-horizon-cell-clickable {
  cursor: pointer;
}

.comparison-horizon-cell-clickable:hover {
  filter: brightness(1.04);
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.season-summary-workspace {
  gap: 18px;
}

.season-summary-control-grid {
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  max-width: 980px;
  width: 100%;
  margin-inline: auto;
}

.season-summary-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(124, 214, 255, 0.18);
  background:
    linear-gradient(135deg, rgba(18, 36, 66, 0.96), rgba(10, 22, 43, 0.94)),
    rgba(10, 22, 43, 0.94);
  color: #eef6ff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.season-summary-control-grid > .season-summary-action-row {
  grid-column: 1 / -1;
}

.season-summary-action-row {
  width: 100%;
  justify-content: center;
  gap: 14px;
  margin-top: 2px;
}

.season-summary-action-row .button {
  min-width: 174px;
  min-height: 52px;
  padding: 14px 24px;
  font-size: 0.96rem;
  letter-spacing: 0.01em;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 10px 22px rgba(4, 8, 24, 0.22);
}

.season-summary-action-row .button-primary {
  background: linear-gradient(135deg, #35d98a, #5694ff);
}

.season-summary-action-row .button:not(.button-primary) {
  border: 1px solid rgba(124, 214, 255, 0.18);
  background:
    linear-gradient(135deg, rgba(32, 60, 102, 0.94), rgba(17, 33, 58, 0.96)),
    rgba(17, 33, 58, 0.96);
  color: #eef6ff;
}

.season-summary-identity {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.season-summary-identity-card {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(124, 214, 255, 0.1);
  background:
    linear-gradient(180deg, rgba(16, 29, 52, 0.94), rgba(9, 18, 36, 0.96)),
    rgba(9, 18, 36, 0.96);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.season-summary-identity-label {
  color: rgba(182, 199, 232, 0.7);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.season-summary-identity-value {
  font-size: 1rem;
  color: #f4f8ff;
}

.season-summary-inline-status {
  display: none;
}

.season-summary-compass-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.season-summary-compass-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(124, 214, 255, 0.08);
  background:
    radial-gradient(circle at top, rgba(87, 177, 255, 0.08), transparent 44%),
    linear-gradient(180deg, rgba(12, 21, 39, 0.94), rgba(8, 15, 28, 0.92)),
    rgba(8, 15, 28, 0.92);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.season-summary-compass-head {
  display: grid;
  gap: 4px;
}

.season-summary-compass-head h4 {
  margin: 0;
  font-size: 1.06rem;
  font-weight: 800;
  color: #eef6ff;
}

.season-summary-compass-canvas {
  min-height: 320px;
  padding: 6px;
  border-radius: 18px;
  border: 1px solid rgba(124, 214, 255, 0.08);
  background:
    radial-gradient(circle at center, rgba(105, 212, 255, 0.08), transparent 56%),
    rgba(7, 14, 26, 0.7);
  overflow-x: auto;
  overflow-y: hidden;
}

.season-summary-chart-note {
  display: none;
}

.season-summary-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.season-summary-card-accent {
  border-color: rgba(78, 188, 255, 0.24);
}

.season-summary-card-good {
  border-color: rgba(73, 217, 140, 0.22);
}

.season-summary-card-warn {
  border-color: rgba(255, 212, 92, 0.22);
}

.season-summary-side-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.95fr) minmax(0, 1.25fr);
  gap: 18px;
  align-items: start;
}

.season-summary-league-panel,
.season-summary-totals-panel,
.season-summary-table-panel {
  display: grid;
  gap: 16px;
}

.season-summary-league-meta,
.season-summary-totals-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 10px;
}

.season-summary-kv-item {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(88, 137, 255, 0.12);
  background: rgba(8, 17, 38, 0.88);
}

.season-summary-kv-label {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(182, 199, 232, 0.7);
}

.season-summary-kv-value {
  font-size: 1rem;
  color: #f4f8ff;
}

.season-summary-table-wrap {
  justify-content: flex-start;
  padding: 0;
  border: 1px solid rgba(124, 214, 255, 0.08);
  border-radius: 20px;
  background: rgba(7, 13, 25, 0.34);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.015);
}

.season-summary-chart-toolbar {
  margin-bottom: 12px;
}

.season-summary-chart-canvas {
  width: 100%;
  min-height: 320px;
  border: 1px solid rgba(152, 190, 255, 0.08);
  background: rgba(8, 14, 26, 0.76);
  padding: 10px 12px 4px;
  overflow-x: auto;
  overflow-y: hidden;
}

.season-summary-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 12px;
}

.season-chart-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(214, 229, 245, 0.82);
  font-size: 0.78rem;
  font-weight: 700;
}

.season-chart-legend-item-selected {
  color: #c9fbdc;
}

.season-chart-legend-swatch {
  width: 12px;
  height: 12px;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.season-chart-svg {
  width: 100%;
  min-width: 940px;
  height: auto;
  display: block;
}

.season-chart-grid-line {
  stroke: rgba(152, 190, 255, 0.1);
  stroke-width: 1;
}

.season-chart-axis-line {
  stroke: rgba(152, 190, 255, 0.18);
  stroke-width: 1.2;
}

.season-chart-diagonal-line {
  stroke: rgba(240, 180, 74, 0.45);
  stroke-width: 1.4;
  stroke-dasharray: 6 6;
}

.season-chart-axis-label {
  fill: rgba(214, 229, 245, 0.72);
  font-size: 11px;
  font-weight: 700;
}

.season-summary-league-table-wrap {
  margin-top: 16px;
}

.season-summary-gw-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 14px;
}

.season-summary-compare-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 14px;
  margin-bottom: 10px;
}

.season-summary-gw-field {
  min-width: 160px;
}

.season-summary-breakdown-meta,
.season-summary-gw-summary {
  display: grid;
  align-content: center;
}

.season-summary-breakdown-meta {
  justify-items: end;
}

.season-summary-gw-summary {
  flex: 1 1 420px;
}

.season-summary-stat-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}

.season-summary-stat-pill {
  display: grid;
  gap: 4px;
  min-width: 118px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(124, 214, 255, 0.12);
  background:
    linear-gradient(180deg, rgba(16, 29, 52, 0.94), rgba(9, 18, 36, 0.96)),
    rgba(9, 18, 36, 0.96);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.season-summary-stat-pill-accent {
  border-color: rgba(88, 196, 255, 0.2);
  background:
    linear-gradient(180deg, rgba(18, 42, 72, 0.96), rgba(9, 20, 39, 0.98)),
    rgba(9, 20, 39, 0.98);
}

.season-summary-stat-pill-good {
  border-color: rgba(78, 217, 132, 0.2);
}

.season-summary-stat-pill-warn {
  border-color: rgba(255, 183, 88, 0.18);
}

.season-summary-stat-label {
  color: rgba(182, 199, 232, 0.74);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.season-summary-stat-value {
  color: #f4f8ff;
  font-size: 1.06rem;
  font-weight: 900;
}

.season-summary-control-grid .action-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.season-summary-league-compare {
  display: block;
  margin-bottom: 18px;
}

.season-summary-empty-state {
  min-height: 64px;
  display: grid;
  align-items: center;
  border: 1px solid rgba(124, 214, 255, 0.08);
  background: rgba(17, 31, 52, 0.6);
}

.season-summary-dna-card {
  display: grid;
  gap: 18px;
  padding: 18px 18px 16px;
  border: 1px solid rgba(174, 118, 255, 0.18);
  background:
    radial-gradient(circle at top right, rgba(166, 104, 255, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(20, 14, 38, 0.96), rgba(11, 10, 27, 0.94));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.025),
    var(--shadow);
}

.season-dna-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 14px 18px;
}

.season-dna-copy {
  display: grid;
  gap: 8px;
}

.season-dna-title {
  margin: 0;
  color: #f4ecff;
  font-size: clamp(1.7rem, 3.1vw, 2.45rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.season-dna-subtitle {
  max-width: 760px;
  margin: 0;
  color: rgba(226, 226, 255, 0.76);
  font-size: 0.98rem;
  line-height: 1.45;
}

.season-dna-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.season-dna-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(135, 245, 176, 0.22);
  background: rgba(36, 204, 112, 0.12);
  color: #c9ffd8;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.season-dna-axis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.season-dna-axis-card {
  display: grid;
  gap: 10px;
  padding: 14px 14px 12px;
  border: 1px solid rgba(179, 134, 255, 0.14);
  background: rgba(255, 255, 255, 0.03);
}

.season-dna-axis-head,
.season-dna-axis-scale,
.season-dna-axis-meta,
.season-dna-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.season-dna-axis-label,
.season-dna-axis-scale span,
.season-dna-axis-meta span,
.season-dna-footnote {
  color: rgba(225, 220, 247, 0.7);
}

.season-dna-axis-label {
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.season-dna-axis-side {
  color: #9bf8c0;
  font-size: 1rem;
  font-weight: 900;
}

.season-dna-axis-scale span,
.season-dna-axis-meta span,
.season-dna-footnote {
  font-size: 0.78rem;
  font-weight: 700;
}

.season-dna-axis-track {
  position: relative;
  height: 12px;
  overflow: visible;
  border: 1px solid rgba(186, 143, 255, 0.14);
  background: rgba(9, 12, 25, 0.82);
}

.season-dna-axis-fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, rgba(133, 99, 255, 0.24), rgba(70, 238, 150, 0.72));
}

.season-dna-axis-pin {
  position: absolute;
  top: 50%;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(242, 248, 255, 0.92);
  background: #46ee96;
  box-shadow: 0 0 20px rgba(70, 238, 150, 0.24);
  transform: translate(-50%, -50%);
}

.season-dna-axis-meta strong {
  color: #f6f1ff;
  font-size: 0.88rem;
  font-weight: 900;
}

.season-dna-footer {
  flex-wrap: wrap;
  padding-top: 2px;
}

.season-cohort-header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 14px 18px;
}

.season-cohort-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.season-cohort-select {
  min-width: 260px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(152, 190, 255, 0.14);
  background: rgba(9, 15, 27, 0.92);
  color: var(--ink);
}

.season-cohort-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.season-cohort-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(13, 22, 40, 0.9);
  color: #eef6ff;
  cursor: pointer;
}

.season-cohort-chip:hover,
.season-cohort-chip.is-selected {
  border-color: rgba(108, 218, 255, 0.28);
  background: rgba(16, 28, 46, 0.96);
}

.season-cohort-chip-rank {
  color: rgba(174, 198, 228, 0.74);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.season-cohort-chip-name {
  font-size: 0.84rem;
  font-weight: 800;
}

.season-cohort-chip-state {
  color: #8ef3bd;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.season-cohort-remove {
  width: 34px;
  min-width: 34px;
  height: 34px;
  border: 1px solid rgba(152, 190, 255, 0.12);
  background: rgba(11, 18, 34, 0.9);
  color: rgba(214, 229, 245, 0.82);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.season-cohort-remove:hover {
  color: #ffe8f0;
  border-color: rgba(255, 119, 170, 0.22);
  background: rgba(34, 14, 27, 0.92);
}

.season-summary-table {
  width: max-content;
  min-width: 100%;
  background: transparent;
  border-radius: 20px;
  overflow: hidden;
}

.season-summary-table th,
.season-summary-table td {
  padding: 12px 10px;
  font-size: 0.84rem;
  background: transparent;
  transition: background 140ms ease, color 140ms ease;
  text-align: center;
}

.season-summary-table td.number {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.season-summary-table th {
  font-size: 0.74rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(9, 15, 27, 0.94);
}

.season-summary-table td.text-center,
.season-summary-table th.text-center {
  text-align: center;
}

.season-summary-table .season-col-gw {
  min-width: 58px;
}

.season-summary-table .season-col-chip {
  min-width: 74px;
}

.season-summary-table .season-col-player {
  min-width: 180px;
  text-align: left;
}

.season-summary-table .season-col-uniform {
  width: 82px;
  min-width: 82px;
  max-width: 82px;
}

.season-summary-table tbody tr:hover td {
  background: rgba(255, 255, 255, 0.015);
}

.season-summary-table .table-empty {
  background: transparent;
}

.season-summary-league-table .season-col-player {
  min-width: 320px;
}

.season-summary-league-table .season-col-uniform {
  width: 88px;
  min-width: 88px;
  max-width: 88px;
}

.season-summary-league-table th {
  height: 52px;
}

.season-summary-league-table td {
  height: 84px;
}

.season-summary-table th.season-col-divider-right,
.season-summary-table td.season-col-divider-right {
  border-right: 2px solid rgba(140, 196, 255, 0.22);
}

.season-player-cell {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.season-player-cell-stack {
  display: grid;
  gap: 2px;
  justify-items: start;
}

.season-player-name {
  font-weight: 800;
  color: #eef6ff;
}

.season-entry-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: #eef6ff;
  font-size: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.season-entry-link:hover {
  color: #8fe8ff;
}

.season-table-sort {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}

.season-table-sort:hover,
.season-table-sort.is-active {
  color: #8fe8ff;
}

.season-table-sort-arrow {
  color: rgba(143, 232, 255, 0.8);
  font-size: 0.68rem;
  line-height: 1;
}

.season-focus-subline {
  color: rgba(214, 229, 245, 0.62);
  font-size: 0.72rem;
  line-height: 1.1;
}

.season-focus-row-selected td {
  box-shadow: inset 0 0 0 1px rgba(126, 243, 189, 0.14);
}

.season-focus-row-selected td:nth-child(3) {
  box-shadow:
    inset 3px 0 0 rgba(126, 243, 189, 0.42),
    inset 0 0 0 1px rgba(126, 243, 189, 0.14);
}

.season-summary-league-compare-wrap {
  margin-top: 0;
}

.season-summary-league-compare-table .season-col-player {
  min-width: 208px;
  width: 208px;
}

.season-summary-league-compare-table .season-col-uniform {
  width: 68px;
  min-width: 68px;
  max-width: 68px;
}

.season-summary-league-compare-table .season-col-signal {
  min-width: 142px;
  width: 142px;
}

.season-summary-league-compare-table .season-focus-row-selected td {
  background: rgba(70, 196, 124, 0.1);
}

.season-summary-league-compare-table .season-focus-row-selected td:nth-child(3) {
  box-shadow: inset 0 0 0 1px rgba(126, 243, 189, 0.16);
}

.season-summary-league-compare-table th,
.season-summary-league-compare-table td {
  background: rgba(27, 50, 79, 0.78);
}

.season-summary-league-compare-table th {
  background: rgba(12, 22, 39, 0.95);
  font-size: 0.76rem;
}

.season-summary-league-compare-table td {
  height: 68px;
  padding: 8px 10px;
  font-size: 0.89rem;
}

.season-summary-league-compare-table .season-col-player,
.season-summary-league-compare-table .season-col-signal {
  text-align: left;
}

.season-summary-league-summary-table .season-col-player {
  min-width: 220px;
  width: 220px;
  text-align: left;
}

.season-summary-league-summary-table .season-col-uniform {
  width: 108px;
  min-width: 108px;
  max-width: 108px;
}

.season-summary-league-summary-table td {
  height: 66px;
  font-size: 0.9rem;
}

.season-summary-league-summary-table .season-focus-row-selected td {
  background: rgba(70, 196, 124, 0.08);
}

.season-summary-league-compare-table .season-player-name,
.season-summary-league-compare-table .season-entry-link {
  font-size: 0.94rem;
}

.season-summary-league-compare-table .season-focus-subline {
  font-size: 0.74rem;
}

.season-signal-cell {
  justify-items: start;
  gap: 4px;
}

.season-summary-positive {
  color: #8ef3bd;
}

.season-compass-svg {
  min-width: 500px;
}

.season-compass-ring {
  fill: none;
  stroke: rgba(124, 214, 255, 0.18);
  stroke-width: 1.2;
}

.season-compass-ring.is-inner {
  stroke: rgba(124, 214, 255, 0.1);
}

.season-compass-axis {
  stroke: rgba(124, 214, 255, 0.16);
  stroke-width: 1.1;
  stroke-dasharray: 4 6;
}

.season-compass-label {
  fill: rgba(174, 198, 228, 0.72);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.season-compass-value {
  fill: rgba(214, 229, 245, 0.76);
  font-size: 10px;
  font-weight: 700;
}

.season-compass-center {
  fill: rgba(214, 229, 245, 0.62);
  font-size: 10px;
  font-weight: 800;
}

.season-compass-point {
  stroke: rgba(7, 14, 26, 0.8);
  stroke-width: 1.4;
  cursor: pointer;
}

.season-compass-point.is-selected {
  stroke: rgba(239, 247, 255, 0.96);
  stroke-width: 2.2;
}

.season-summary-negative {
  color: #ff9f9f;
}

.season-summary-footer-row td {
  font-weight: 800;
  background: rgba(18, 33, 58, 0.98);
}

.season-summary-footer-label {
  text-align: left;
  color: #e8f4ff;
}

.team-workspace {
  gap: 18px;
}

.team-workspace > .micro-summary {
  justify-items: start;
}

.team-summary-row {
  display: grid;
  grid-template-columns: minmax(340px, 1.08fr) minmax(520px, 1.3fr) minmax(280px, 0.8fr);
  gap: 18px;
  align-items: start;
}

.team-summary-panel {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: 18px 18px 16px;
  align-self: stretch;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.team-summary-panel-strength {
  border-color: rgba(88, 196, 255, 0.14);
}

.team-summary-panel-upcoming {
  border-color: rgba(76, 255, 141, 0.18);
}

.team-summary-panel-projected {
  border-color: rgba(240, 180, 74, 0.14);
}

.team-summary-head {
  display: grid;
  gap: 0;
}

.team-summary-eyebrow {
  color: rgba(214, 229, 245, 0.58);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.team-summary-panel .section-tag {
  font-size: 1.14rem;
  line-height: 1.1;
}

.team-summary-subtitle {
  margin: 0;
  color: rgba(214, 229, 245, 0.66);
  font-size: 0.78rem;
  line-height: 1.45;
}

.team-upcoming-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

.team-upcoming-block {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.team-upcoming-label {
  color: rgba(214, 229, 245, 0.72);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.team-summary-panel .mini-table-wrap {
  min-width: 0;
}

.team-summary-panel-upcoming .mini-table th,
.team-summary-panel-upcoming .mini-table td {
  padding-top: 11px;
  padding-bottom: 11px;
}

.team-strength-delta-cell {
  font-weight: 800;
}

.mini-table-average td {
  font-weight: 800;
  background: rgba(18, 33, 58, 0.98);
  color: #e8f4ff;
}

.team-page-panel {
  display: grid;
  gap: 18px;
  --team-main-font-size: 1.02rem;
  --team-sub-font-size: 0.62rem;
  --team-gw-cell-height: 63px;
  --team-gw-cell-width: 82px;
  --team-total-cell-width: 104px;
}

.team-page-panel .panel-heading {
  margin-bottom: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

@media (max-width: 1220px) {
  .team-summary-row {
    grid-template-columns: 1fr;
  }

  .team-upcoming-grid {
    grid-template-columns: 1fr;
  }
}

.team-panel-controls {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: end;
  justify-content: center;
}

.team-horizon-field {
  min-width: 196px;
}

.team-grid.team-grid-page {
  grid-template-columns: 1fr;
  justify-items: center;
}

.fixture-scheduler-panel {
  width: 100%;
}

.fixture-scheduler-summary {
  justify-items: start;
}

.fixture-scheduler-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  overflow-x: auto;
  overflow-y: hidden;
}

.team-block {
  min-width: 0;
}

.team-block-wide {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

.team-block-wide h3 {
  margin-bottom: 12px;
  text-align: center;
}

.team-block-wide {
  grid-column: 1 / -1;
  width: fit-content;
  max-width: 100%;
  justify-self: center;
}

.team-horizon-table {
  width: max-content;
  min-width: 100%;
  table-layout: fixed;
}

.mini-table {
  font-size: 0.92rem;
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.mini-table th {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.mini-table th,
.mini-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(152, 190, 255, 0.08);
}

.mini-table td.number,
.mini-table th.number {
  text-align: center;
}

.team-label-cell {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.team-label-cell .badge-table {
  width: 18px;
  height: 18px;
}

.team-label-text {
  display: inline-block;
  min-width: 0;
}

.opp-cell {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.mini-table col.col-team {
  width: 220px;
}

.mini-table col.col-opp {
  width: 88px;
}

.mini-table col.col-metric {
  width: 88px;
}

.team-horizon-table col.col-metric {
  width: var(--team-gw-cell-width);
}

.team-horizon-table col.col-total {
  width: var(--team-total-cell-width);
}

.team-horizon-table col.col-team {
  width: 160px;
}

.team-horizon-table th:first-child,
.team-horizon-table td:first-child {
  text-align: center;
}

.team-horizon-table td:first-child .team-label-cell {
  display: flex;
  width: 100%;
  justify-content: center;
}

.fixture-scheduler-table {
  width: max-content;
  min-width: 0;
  margin: 0 auto;
}

.fixture-scheduler-table col.col-fixture {
  width: 124px;
}

.fixture-scheduler-table th.scheduler-fixture-head {
  text-align: center;
}

.scheduler-fixture-cell {
  display: grid;
  gap: 3px;
  justify-items: center;
  text-align: center;
}

.scheduler-fixture-badges {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.scheduler-fixture-cell .badge-table {
  width: 26px;
  height: 26px;
}

.scheduler-fixture-separator {
  color: rgba(228, 239, 255, 0.58);
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
}

.scheduler-fixture-cell .cell-sub {
  font-size: 0.56rem;
  color: rgba(228, 239, 255, 0.7);
}

.fixture-scheduler-table th.scheduler-base-col,
.fixture-scheduler-table td.scheduler-base-gw-cell,
.fixture-scheduler-table th.scheduler-total-head,
.fixture-scheduler-table td.scheduler-total-cell {
  min-width: 72px;
  width: 72px;
}

.fixture-scheduler-table th.scheduler-gw-col,
.fixture-scheduler-table td.scheduler-weight-cell {
  min-width: 72px;
  width: 72px;
}

.fixture-scheduler-table td,
.fixture-scheduler-table th {
  height: 50px;
  vertical-align: middle;
}

.scheduler-base-gw-cell,
.scheduler-total-cell {
  font-weight: 800;
}

.scheduler-weight-cell {
  padding: 0;
  transition: box-shadow 140ms ease;
}

.scheduler-weight-cell-default {
  box-shadow: inset 0 0 0 1px rgba(159, 228, 255, 0.12);
}

.scheduler-weight-cell:focus-within {
  box-shadow: inset 0 0 0 1px rgba(159, 228, 255, 0.4);
}

.scheduler-grid-input {
  width: 100%;
  min-height: 50px;
  height: 50px;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: #eef6ff;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.scheduler-grid-input:focus {
  outline: none;
}

.scheduler-grid-input::placeholder {
  color: rgba(222, 236, 255, 0.32);
}

.scheduler-grid-input::-webkit-outer-spin-button,
.scheduler-grid-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.scheduler-grid-input[type="number"] {
  -moz-appearance: textfield;
}

.team-summary-panel .mini-table {
  font-size: 0.84rem;
}

.team-summary-panel .mini-table th {
  font-size: 0.64rem;
}

.team-summary-panel .mini-table col.col-team {
  width: 146px;
}

.team-summary-panel .mini-table col.col-metric {
  width: 54px;
}

.team-summary-panel .mini-table col.col-opp {
  width: 52px;
}

#projected-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

#projected-table col.col-team {
  width: auto;
}

#projected-table col.col-projected-points {
  width: 84px;
}

#projected-table td.number,
#projected-table th.number {
  white-space: nowrap;
}

.team-summary-panel .mini-table th,
.team-summary-panel .mini-table td,
.team-block-wide .mini-table th,
.team-block-wide .mini-table td {
  padding: 8px 8px;
}

.team-horizon-table th,
.team-horizon-table td {
  background: transparent;
}

.team-summary-panel .team-label-cell {
  gap: 8px;
}

.team-summary-panel .team-label-cell .badge-table {
  width: 16px;
  height: 16px;
}

.team-gw-cell .cell-main,
.team-gw-cell .cell-sub {
  text-align: center;
}

.team-horizon-table th.number {
  width: var(--team-gw-cell-width);
  min-width: var(--team-gw-cell-width);
}

.team-horizon-table .sortable-header {
  font-size: var(--team-main-font-size);
  font-weight: 800;
}

.team-horizon-table th.total-col,
.team-horizon-table td.total-col {
  width: var(--team-total-cell-width);
  min-width: var(--team-total-cell-width);
}

.team-horizon-table td.team-gw-cell {
  width: var(--team-gw-cell-width);
  min-width: var(--team-gw-cell-width);
  height: var(--team-gw-cell-height);
  min-height: var(--team-gw-cell-height);
  padding: 0;
  vertical-align: middle;
}

.team-horizon-table .cell-main {
  font-size: var(--team-main-font-size);
  line-height: 0.98;
}

.team-horizon-table .cell-sub {
  margin-top: 1px;
  font-size: var(--team-sub-font-size);
  line-height: 0.98;
  white-space: nowrap;
}

.team-horizon-table .total-cell {
  font-weight: 800;
  color: rgba(231, 245, 255, 0.88);
}

.team-horizon-table .total-cell strong {
  font-size: var(--team-main-font-size);
}

.mini-table-average td {
  font-weight: 800;
  color: #dff5ff;
  background: rgba(255, 255, 255, 0.04);
}

.qc-workspace {
  gap: 18px;
}

.qc-top-audit-panel .qc-table-wrap {
  max-height: 56vh;
}

.qc-control-grid {
  grid-template-columns: minmax(260px, 1.4fr) minmax(160px, 0.7fr) auto;
}

.qc-mode-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.qc-alerts {
  display: grid;
  gap: 18px;
}

.qc-grid {
  display: grid;
  gap: 18px;
}

.qc-panel {
  padding-bottom: 18px;
}

.qc-panel-heading {
  align-items: flex-start;
}

.qc-panel-body {
  display: grid;
  gap: 14px;
}

.qc-subsection {
  display: grid;
  gap: 10px;
}

.qc-subtitle {
  margin: 0;
  font-size: 0.92rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: rgba(211, 227, 255, 0.78);
}

.qc-table-wrap {
  max-height: 360px;
}

.qc-table th,
.qc-table td {
  font-size: 0.82rem;
  vertical-align: top;
}

.qc-player-cell {
  gap: 10px;
}

.qc-player-cell .badge-table {
  width: 18px;
  height: 18px;
}

.qc-sort-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.qc-sort-button span {
  color: rgba(124, 217, 255, 0.9);
}

.qc-kv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.qc-kv-item {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(88, 137, 255, 0.12);
  background: rgba(8, 17, 38, 0.88);
}

.qc-kv-label {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(182, 199, 232, 0.7);
}

.qc-kv-value {
  font-size: 1rem;
  color: #f4f8ff;
}

@media (max-width: 1100px) {
  .planner-top-grid,
  .control-deck,
  .solver-grid,
  .team-grid,
  .season-summary-side-grid {
    grid-template-columns: 1fr;
  }

  .control-panel-intro {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .control-grid > .action-row {
    grid-column: 1 / -1;
  }

  .current-team-panel {
    max-width: none;
  }

  .planner-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .compass-brief-chip-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .planner-grid-table {
    grid-template-columns: 68px repeat(5, minmax(62px, 1fr));
  }

  .qc-control-grid {
    grid-template-columns: 1fr;
  }

  .season-summary-control-grid {
    grid-template-columns: 1fr;
  }

  .season-summary-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .season-summary-compass-grid {
    grid-template-columns: 1fr;
  }

  .season-summary-identity {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .season-dna-axis-grid,
  .risk-axis-grid,
  .risk-profile-chip-grid,
  .comparison-verdict-card {
    grid-template-columns: 1fr;
  }

  .player-profile-topband,
  .comparison-hero,
  .comparison-detail-grid,
  .comparison-arena {
    grid-template-columns: 1fr;
  }

  .comparison-verdict-card-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .comparison-arena__fighter--right,
  .comparison-arena__fighter--left {
    justify-items: center;
    text-align: center;
  }

  .comparison-rounds-score {
    justify-content: flex-start;
  }

  .comparison-horizon-grid {
    grid-template-columns: 124px repeat(var(--comparison-gw-count), minmax(72px, 1fr));
  }

  .season-summary-gw-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .settings-row-3,
  .settings-row-4,
  .settings-row-7 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .page-shell {
    width: min(100vw - 20px, 100%);
    padding: 12px 0 28px;
  }

  .page-tabs {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  .page-tab {
    min-width: 0;
    font-size: 0.94rem;
  }

  .page-header {
    flex-direction: column;
    align-items: stretch;
    padding: 14px 0;
  }

  .page-nav-wrap {
    width: 100%;
  }

  .page-brand {
    gap: 12px;
    justify-content: center;
    margin-left: 0;
    text-align: center;
  }

  .page-brand-copy {
    justify-items: center;
  }

  .page-brand-compass {
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
  }

  .page-brand-name {
    font-size: 1.6rem;
  }

  .panel {
    padding: 18px;
    border-radius: 0;
  }

  .comparison-shell {
    padding: 14px;
  }

  .comparison-rounds-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .assistant-manager-grid {
    grid-template-columns: 1fr;
  }

  .comparison-horizon-grid {
    grid-template-columns: 96px repeat(var(--comparison-gw-count), minmax(66px, 1fr));
    gap: 6px;
  }

  .comparison-horizon-label,
  .comparison-horizon-gw,
  .comparison-horizon-cell {
    min-height: 82px;
  }

  .panel-heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .control-grid {
    grid-template-columns: 1fr;
  }

  .current-team-heading {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .saved-lines-heading {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .season-dna-badges,
  .risk-profile-footer {
    width: 100%;
  }

  .risk-profile-chip-grid,
  .season-dna-axis-grid {
    grid-template-columns: 1fr;
  }

  .player-profile-shell,
  .comparison-shell {
    padding: 18px;
  }

  .player-profile-metric-board-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .player-profile-metric-board-note {
    max-width: none;
    text-align: left;
  }

  .comparison-player-strip {
    grid-template-columns: 1fr;
  }

  .player-profile-forecast-head,
  .comparison-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .player-profile-forecast-meta,
  .comparison-section-head .micro-summary {
    max-width: none;
    text-align: left;
  }

  .profile-head-metrics-board {
    grid-template-columns: 1fr;
  }

  .profile-head-metrics-board .profile-metric-chip:first-child {
    grid-column: auto;
  }

  .comparison-verdict-card-hero {
    grid-template-columns: 1fr;
  }

  .comparison-player-card {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .comparison-player-xpts {
    justify-self: start;
  }

  .player-profile-topband {
    grid-template-columns: 1fr;
    padding: 18px 18px 16px;
  }

  .player-toolbar-shell,
  .player-toolbar-row,
  .player-toolbar-row-top,
  .player-toolbar-row-bottom {
    display: grid;
  }

  .player-toolbar-row {
    gap: 12px;
  }

  .player-toolbar-row-top,
  .player-toolbar-row-bottom {
    justify-content: stretch;
  }

  .player-toolbar-head {
    text-align: center;
  }

  .player-toolbar-label {
    justify-self: center;
  }

  .player-toolbar-filters,
  .metric-toggle-compact {
    justify-content: center;
  }

  .player-toolbar-search {
    min-width: min(260px, 100%);
  }

  .saved-lines-actions,
  .saved-lines-title-wrap,
  .saved-lines-controls {
    grid-column: auto;
    justify-self: start;
    text-align: left !important;
  }

  .current-team-heading > .micro-summary {
    justify-items: start;
    text-align: left;
  }

  .current-team-gw-label {
    font-size: 1.55rem;
  }

  .transfer-lists {
    grid-template-columns: 1fr;
  }

  .planner-metrics,
  .team-grid,
  .season-summary-cards {
    grid-template-columns: 1fr;
  }

  .season-summary-identity {
    grid-template-columns: 1fr;
  }

  .transfer-modal-head,
  .transfer-option {
    flex-direction: column;
    align-items: flex-start;
  }

  .pitch-row,
  .bench-row {
    gap: 8px;
    flex-wrap: wrap;
  }

  .squad-card {
    width: 82px;
    min-height: 100px;
  }

  .gw-toggle-button {
    width: 62px;
    min-width: 62px;
    min-height: 62px;
  }

  .badge-squad {
    width: 34px;
    height: 34px;
  }

th,
td {
  padding: 10px 8px;
}
}

.admin-workspace {
  gap: 24px;
}

.admin-console-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.admin-stat-card {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border: 1px solid rgba(18, 31, 53, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.7);
}

.admin-stat-label {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(45, 60, 85, 0.7);
}

.admin-stat-value {
  font-size: 1rem;
  color: #142033;
}

.admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.admin-log-panel pre {
  margin: 0;
  max-height: 520px;
  overflow: auto;
  padding: 18px;
  border-radius: 18px;
  background: #0f1725;
  color: #e6edf7;
  white-space: pre-wrap;
  word-break: break-word;
  font: 12px/1.5 SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
