/* Scoped, vanilla card layout inside Pulse's existing 600 × 600 frame. */
.nba-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 480px;
  min-height: 0;
  overflow: hidden;
  padding: 16px;
  gap: 8px;
  color: #f5f6f0;
  background: rgba(10, 14, 9, 0.94);
  border: 1px solid #839e25;
  border-radius: 16px;
}
.nba-card-eyebrow, .nba-card-timing, .nba-card-status, .nba-card-asof { margin: 0; }
.nba-card-eyebrow { color: #cbff00; font-size: 14px; letter-spacing: 0.08em; }
.nba-card-body { display: flex; flex-direction: column; gap: 8px; min-height: 0; overflow: auto; }
.nba-card-title { margin: 0; font-size: 24px; line-height: 1.15; overflow-wrap: anywhere; }
.nba-card-copy, .nba-card-pick-count { margin: 0; font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.nba-card-source { color: #cbff00; font-size: 14px; }
.nba-card-asof { font-size: 12px; overflow-wrap: anywhere; }
.nba-card-roster { display: grid; gap: 6px; min-height: 0; overflow-y: auto; max-height: 230px; }
.nba-card-choices, .nba-card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.nba-card-footer { flex: 0 0 auto; margin-top: auto; display: flex; flex-direction: column; gap: 6px; }
.nba-card-timing { font-size: 12px; line-height: 1.2; overflow-wrap: anywhere; }
.nba-card-status { font-size: 14px; min-height: 18px; }
.nba-card-button {
  box-sizing: border-box;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #71812b;
  border-radius: 9px;
  color: #f5f6f0;
  background: #182012;
  font-size: 15px;
  line-height: 1.2;
  text-align: left;
  overflow-wrap: anywhere;
}
.nba-card-button[aria-pressed="true"] { border-color: #cbff00; background: #354d10; }
.nba-card-button:focus-visible { outline: 3px solid #cbff00; outline-offset: 1px; }
.nba-card-button:disabled { opacity: 0.5; }
.nba-card-recovery { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px; max-height: 110px; overflow: auto; }

/* Actual optical frame integration; footer remains outside the scroll body. */
#nba-card-mount, #nba-card-quiet, #nba-draft-records-mount {
  position: absolute; z-index: 6; inset: 148px 30px 76px; min-height: 0;
}
#nba-card-mount[hidden], #nba-card-quiet[hidden], #nba-draft-records-mount[hidden],
#watching-draft-records[hidden] { display: none !important; }
#nba-card-mount .nba-card { max-height: 100%; padding: 12px; }
#nba-card-mount .nba-card-title { font-size: 22px; }
#nba-card-mount .nba-card-roster { flex: 1 1 auto; }
#nba-card-quiet { display: flex; align-items: center; justify-content: center; padding: 16px; font-size: 18px; line-height: 1.4; overflow-wrap: anywhere; }
#watching-screen[data-nba-card-surface="true"] #prop-area,
#watching-screen[data-nba-card-surface="true"] .optical-hintbar { display: none !important; }
/* The PBP status row follows the home team, so legacy :last-child cannot
   align its score. Scope the correction to the negotiated card surface. */
#watching-screen[data-nba-card-surface="true"] .optical-scoreboard > .optical-team:nth-child(3) { justify-content: flex-end; }
#watching-screen[data-nba-draft-records="true"] #nba-card-mount,
#watching-screen[data-nba-draft-records="true"] #nba-card-quiet { display: none !important; }
.nba-draft-records { height: 100%; min-height: 0; display: flex; flex-direction: column; gap: 10px; padding: 12px; box-sizing: border-box; background: #0a0e09; border: 1px solid #839e25; border-radius: 16px; }
.nba-draft-records-body { flex: 1; min-height: 0; overflow-y: auto; }
.nba-draft-record, .nba-draft-standing { padding: 10px; margin-bottom: 8px; border: 1px solid #71812b; border-radius: 8px; overflow-wrap: anywhere; }
.nba-draft-record h3, .nba-draft-record p { margin: 0 0 6px; }
.nba-draft-record:focus, .nba-draft-standing:focus { outline: 3px solid #cbff00; outline-offset: -3px; }
