.receiver-main {
  max-width: 1380px;
  margin: auto;
  padding: 48px 36px 24px;
}
.receiver-heading h1 {
  font-size: clamp(32px, 5vw, 54px);
  letter-spacing: -2px;
  margin: 14px 0;
}
.receiver-heading p,
.import-card p,
.receiver-panel p {
  font-size: 16px;
  line-height: 1.8;
  color: #bed0c4;
}
.import-card,
.receiver-panel {
  border: 1px solid #345040;
  background: #122a1e;
  padding: 28px;
  margin-top: 28px;
}
.import-card h2 {
  font-size: 23px;
}
.import-actions,
.receiver-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.import-actions button,
.receiver-controls button,
.file-label {
  padding: 12px 18px;
  min-height: 44px;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.file-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  border: 1px solid #ceff78;
  background: #ceff78;
  color: #102313;
  font-weight: 700;
}
.file-label input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  cursor: pointer;
}
.file-label:focus-within {
  outline: 3px solid white;
  outline-offset: 3px;
}
.receiver-main button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.receiver-main .primary {
  margin-top: 0;
}
.receiver-main .secondary {
  border: 1px solid #617c68;
  background: #183324;
  color: #e0ecd7;
}
.receiver-main .secondary:hover:not(:disabled) {
  background: #264a32;
}
.receiver-main details {
  margin-top: 20px;
  color: #b2c4b6;
}
.receiver-main summary {
  cursor: pointer;
  font-size: 14px;
}
.receiver-main details p {
  font-size: 14px;
}
#import-status {
  color: #ceff78;
  margin-bottom: 0;
}
#import-error {
  color: #ffc09b;
  border-left: 3px solid #ffab73;
  padding-left: 16px;
}
#source-details {
  margin-top: 18px;
  border-top: 1px solid #36513f;
  padding-top: 14px;
  overflow-wrap: anywhere;
  font-size: 12px;
  color: #b8cabd;
  line-height: 1.8;
}
.response-status {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 42px;
  color: #ceff78;
}
.response-status strong {
  padding: 7px 12px;
  background: #294122;
  font-size: 14px;
}
.response-status span {
  font-size: 14px;
}
#game-name {
  font-size: 28px;
  margin-bottom: 8px;
}
#pitch-identity {
  font-size: 13px;
  color: #aabdac;
}
.receiver-situation {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 18px;
  background: #163022;
  margin: 20px 0;
  font-size: 16px;
}
.receiver-players {
  font-size: 18px;
}
.receiver-controls {
  margin: 22px 0;
}
.receiver-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.receiver-panel {
  margin-top: 0;
  min-width: 0;
}
.receiver-panel h3 {
  font-size: 22px;
}
.received-candidate {
  padding: 18px 0;
  border-bottom: 1px solid #34503d;
}
.received-candidate strong {
  color: #ceff78;
  font-size: 20px;
}
.received-candidate p {
  margin: 7px 0 0;
  font-size: 14px;
}
.receiver-note {
  font-size: 14px !important;
}
.raw-intake > summary,
.packed-intake > summary {
  font-size: 16px;
  color: #e3efd9;
  font-weight: 700;
}
.raw-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding: 0;
  border: 0;
  margin: 20px 0;
}
.raw-fields legend {
  padding: 0 0 16px;
  font-weight: 700;
}
.raw-fields label,
.raw-endpoint {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  font-size: 14px;
  color: #e3efd9;
}
.raw-fields input,
.raw-fields select,
.raw-endpoint input {
  min-width: 0;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  background: #081b11;
  color: #e3efd9;
  border: 1px solid #5a7463;
  border-radius: 4px;
  font: inherit;
}
.raw-fields small {
  color: #b2c4b6;
  font-size: 13px;
}
.raw-wide {
  grid-column: 1 / -1;
}
.raw-endpoint {
  margin: 16px 0;
  overflow-wrap: anywhere;
}
.raw-endpoint small {
  color: #b2c4b6;
  font-size: 13px;
}
.raw-intake {
  padding-bottom: 22px;
  border-bottom: 1px solid #36513f;
}
.packed-intake .import-actions,
.intake-secondary {
  margin-top: 18px;
}
.selection-bar {
  display: block;
  width: 100%;
  height: 8px;
  margin-top: 12px;
  border: 0;
  accent-color: #ceff78;
}
.selection-bar::-webkit-progress-bar {
  background: #081b11;
  border-radius: 4px;
}
.selection-bar::-webkit-progress-value {
  background: #ceff78;
  border-radius: 4px;
}
.selection-bar::-moz-progress-bar {
  background: #ceff78;
  border-radius: 4px;
}
.receiver-unavailable {
  margin-top: 22px;
  border: 1px dashed #46604a;
  padding: 20px;
}
.receiver-unavailable p {
  margin-bottom: 0;
  font-size: 14px;
  color: #acc2b0;
  line-height: 1.7;
}
.receiver-footer {
  margin-top: 32px;
  font-size: 12px;
  color: #8ea496;
}
.receiver-main [hidden] {
  display: none !important;
}
.featured-pa {
  border: 1px solid #46604a;
  padding: 28px;
  margin-bottom: 24px;
  background: #112b1d;
}
.featured-pa h2 {
  font-size: clamp(24px, 3vw, 34px);
  margin: 12px 0;
  color: #e3efd9;
}
.featured-pa h2 span,
.featured-matchup span {
  color: #a2b397;
}
.featured-matchup {
  font-size: 19px;
  color: #ceff78;
}
.featured-pa p,
.demo-provenance {
  line-height: 1.7;
}
.scientific-note {
  font-size: 14px;
  color: #c8d7c4;
  border-left: 3px solid #ceff78;
  padding-left: 16px;
  margin-top: 24px;
}
.demo-provenance code {
  overflow-wrap: anywhere;
}
.import-tools {
  margin-bottom: 28px;
}
.import-tools > summary {
  padding: 18px 0;
  color: #b2c4b6;
  cursor: pointer;
}
.mitt-horizontal {
  margin-top: 24px;
  padding: 20px 12px 12px;
  background: #081b11;
}
.mitt-track {
  position: relative;
  height: 2px;
  margin: 8px;
  background: #789879;
}
.mitt-track::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -9px;
  height: 20px;
  border-left: 1px dashed #789879;
}
.mitt-dot {
  position: absolute;
  top: -6px;
  width: 14px;
  height: 14px;
  transform: translateX(-50%);
  background: #ceff78;
  border-radius: 50%;
  box-shadow: 0 0 0 5px #ceff7826;
}
.mitt-axis {
  font-size: 12px;
  text-align: center;
  margin-top: 22px;
  color: #b2c4b6;
}
#received-post dl {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px 12px;
  align-items: center;
}
#received-post dt {
  font-size: 13px;
  color: #abc0ae;
  margin-top: 0;
}
#received-post dd {
  font-size: 18px;
  margin: 0;
  color: #e3efd9;
  overflow-wrap: anywhere;
}
#received-post .observation-caution {
  font-size: 13px;
}
.receiver-main :focus-visible {
  outline: 3px solid #ceff78;
  outline-offset: 3px;
}
.video-jump {
  display: inline-block;
  color: #ceff78;
  font-size: 16px;
  padding: 14px 0;
  margin-left: 16px;
  text-underline-offset: 5px;
}
.pitch-video-section {
  margin: 0;
  padding: 20px;
  border: 1px solid #46604a;
  background: #0b2116;
}
.pitch-video-heading,
.pitch-video-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.pitch-video-heading h3 { margin: 8px 0 20px; font-size: 24px; }
.video-scope { color: #b2c4b6; font-size: 14px; }
.pitch-video-frame { position: relative; background: #050c08; aspect-ratio: 16 / 9; }
.pitch-video-frame video,
.pitch-video-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }
.pitch-video-actions { justify-content: flex-start; margin-top: 18px; }
.pitch-video-actions button { min-height: 44px; font: inherit; cursor: pointer; }
.pitch-video-actions p,
.pitch-video-section > p { color: #bed0c4; line-height: 1.7; font-size: 14px; }
.pitch-video-actions p { flex: 1 1 260px; }
.pitch-video-missing { border: 1px dashed #46604a; padding: 24px; }
.pitch-video-missing p { color: #bed0c4; font-size: 16px; }
.pitch-video-missing .video-jump { margin: 0; }
.receiver-stage { display: grid; gap: 22px; margin: 24px 0; }
.receiver-stage.has-video { grid-template-columns: minmax(0, 1.9fr) minmax(290px, 1fr); align-items: start; }
.receiver-stage > * { min-width: 0; }
.recommendation-panel { padding: 22px; }
.recommendation-panel .received-candidate { padding: 12px 0; }
.recommendation-panel .received-candidate strong { font-size: 18px; }
.recommendation-panel h3 { margin-top: 12px; }
.receiver-results { margin-top: 22px; }
.pitch-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 20px; }
.pitch-tabs button { cursor: pointer; min-height: 44px; padding: 10px 22px; border: 1px solid #46604a; color: #e3efd9; background: #163022; font: inherit; }
.pitch-tabs button[aria-current] { background: #ceff78; color: #102313; border-color: #ceff78; font-weight: 700; }
.pitch-tabs span { font-size: 14px; color: #b2c4b6; margin-left: auto; }
.source-link { display: inline-block; font-size: 14px; color: #ceff78; text-underline-offset: 4px; }
.observation-marker { position: absolute; width: 14px; height: 14px; border: 2px solid #fff; background: #ceff78; border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 7px #ceff7845; pointer-events: none; }
.pitch-video-section .observation-legend { color: #ceff78; font-size: 14px; line-height: 1.7; }
@media (max-width: 1050px) {
  .receiver-stage.has-video { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .pitch-video-section { padding: 16px; }
  .featured-pa > .video-jump { display: block; margin-left: 0; }
  .pitch-tabs span { margin-left: 0; flex-basis: 100%; }
  .raw-fields {
    grid-template-columns: 1fr;
  }
  .receiver-main {
    padding: 28px 20px;
  }
  .receiver-columns {
    grid-template-columns: 1fr;
  }
  .import-card,
  .receiver-panel {
    padding: 20px;
  }
  .receiver-players {
    font-size: 16px;
  }
  #game-name {
    font-size: 24px;
  }
  .receiver-controls button {
    flex: 1 1 40%;
  }
  .import-actions > * {
    width: 100%;
    justify-content: center;
  }
}
