#focus-court {
  --court-lime: #d7f58b;
  background: #111412;
  color: #f0f3eb;
  border-color: #343b30;
}
#focus-court .section-intro > p {color: #bdc4b5;}
#focus-court .section-intro .muted {color: #929d87;}
#focus-court .eyebrow {color: #c8dda9;}
#focus-court .focus-game {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 1fr);
  gap: 30px;
  padding: 28px;
  background: #181d18;
  border: 1px solid #414b36;
  color: #f0f3eb;
  align-items: start;
}
#focus-court .focus-viewport {
  width: 100%;
  min-width: 0;
  margin: 0;
  background: #0e120e;
  border: 1px solid #586348;
  overflow: hidden;
}
#focus-court .court-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 17px;
  border-bottom: 1px solid #38432d;
}
#focus-court .court-top .small-label {font-size: 8px; line-height: 1.5; color: #d6e6bf;}
#focus-court .court-top .example-badge {font-size: 7px; line-height: 1.5; color: #a7b493;}
#focus-court .court-stage {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  min-height: 330px;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(ellipse at 50% 70%, #283324, #101610 75%);
}
#focus-court .court-stage svg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
#focus-court .perspective-court {stroke: #788d5e; stroke-width: 1.2;}
#focus-court .court-lines {stroke: #708653; stroke-width: 1.2;}
#focus-court .backboard {fill: #1a2318; stroke: #bdce9d; stroke-width: 2;}
#focus-court .backboard-square {fill: none; stroke: #a8bb87; stroke-width: 1;}
#focus-court .hoop {fill: none; stroke: var(--court-lime); stroke-width: 3;}
#focus-court .net {fill: none; stroke: #c0d69c; stroke-width: 1.1;}
#focus-court #basket-guide {fill: none; stroke: var(--court-lime); stroke-width: 1.5; stroke-dasharray: 4 7; opacity: .7;}
#focus-court #basket-ball {fill: var(--court-lime); stroke: #16200e; stroke-width: 1;}
#focus-court #basket-seam {fill: none; stroke: #4b662e; stroke-width: 1.2;}
#focus-court .basket-scored .hoop {stroke: #efffc7; stroke-width: 5;}
#focus-court .court-distractions {position: absolute; inset: 0; z-index: 1; overflow: hidden;}
#focus-court .distraction-card {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(128px, 44%, 230px);
  max-width: calc(100% - 20px);
  min-height: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 12px;
  background: #111611;
  border: 1px solid #a4b68a;
  border-radius: 3px;
  box-shadow: 0 8px 20px #0008;
  color: #f5f6ee;
  opacity: 1;
  font-size: 13px;
  line-height: 1.35;
  text-align: center;
  cursor: pointer;
  touch-action: manipulation;
  will-change: transform;
}
#focus-court .distraction-card small {font-size: 8px; line-height: 1.2; letter-spacing: .7px; text-transform: uppercase; color: #b9cc99;}
#focus-court .distraction-card:hover,
#focus-court .distraction-card:focus-visible {z-index: 3; border-color: var(--court-lime); background: #222d1b; color: #fff;}
#focus-court .distraction-card:focus-visible {outline: 3px solid var(--court-lime); outline-offset: 2px;}
#focus-court .court-bottom {
  min-height: 66px;
  display: flex;
  align-items: center;
  padding: 15px 17px;
  border-top: 1px solid #4a583b;
  font-size: 12px;
  line-height: 1.6;
  color: #d0dfbb;
}
#focus-court .court-bottom > span:last-child {font-size: inherit; line-height: inherit;}
#focus-court .basket-controls {display: flex; flex-direction: column; gap: 19px; min-width: 0; padding: 0;}
#focus-court .court-instructions {display: flex; flex-direction: column; gap: 9px;}
#focus-court .court-instructions > p {font-size: 12px; line-height: 1.7; color: #b9c5a9;}
#focus-court #thought-count {font-size: 11px; font-weight: 500; color: var(--court-lime);}
#focus-court .range-control label {display: flex; justify-content: space-between; gap: 15px; font-size: 13px; color: #e4edd8;}
#focus-court .range-control output {color: var(--court-lime); font-size: 12px;}
#focus-court .range-control input {width: 100%; height: 42px; accent-color: var(--court-lime); cursor: pointer;}
#focus-court .range-control p {font-size: 11px; line-height: 1.7; color: #b4c49f; margin-top: 2px;}
#focus-court .basket-controls > .button {width: 100%; min-height: 50px; font-size: 13px; justify-content: center;}
#focus-court .basket-controls button:disabled,
#focus-court .basket-controls button[aria-disabled="true"] {opacity: .6; cursor: progress;}
#focus-court .reframe-feedback {
  padding: 18px;
  background: #20271c;
  border: 1px solid #48583a;
  border-left: 3px solid #768b5b;
}
#focus-court .reframe-feedback.has-reframe {border-left-color: var(--court-lime);}
#focus-court .reframe-feedback > .small-label {font-size: 8px; color: #b6ca98;}
#focus-court .reframe-original {margin-top: 12px; font-size: 11px; line-height: 1.55; color: #aab79b;}
#focus-court #reframe-text {margin-top: 11px; font-size: 15px; line-height: 1.65; color: #e5f0d6;}
#focus-court .reframe-review {border: 1px solid #445238; padding: 0 16px;}
#focus-court .reframe-review[hidden] {display: none;}
#focus-court .reframe-review summary {padding: 13px 0; color: #d4e6b8; font-size: 12px; cursor: pointer;}
#focus-court .reframe-review ol {padding: 0 0 0 20px; margin: 0 0 16px;}
#focus-court .reframe-review li {padding: 12px 0; border-top: 1px solid #3b4831; color: #acbe94;}
#focus-court .reframe-list-original {font-size: 11px; color: #a8b798;}
#focus-court .reframe-review li p {margin-top: 6px; font-size: 12px; line-height: 1.7; color: #d5e4bf;}
#focus-court .basket-learning {padding-top: 19px; border-top: 1px solid #4a583c;}
#focus-court .basket-learning > .small-label {font-size: 8px; color: #b6ca98;}
#focus-court .basket-learning > p {margin-top: 11px; font-size: 12px; line-height: 1.8; color: #c2d1ad;}
#focus-court .basket-controls .activity-reset {align-self: flex-start; margin-top: 0; color: #d1e8ad; font-size: 12px;}
#focus-court .activity-footnote {color: #aebba0; font-size: 12px; line-height: 1.8; max-width: 940px;}
#focus-court button:focus-visible,
#focus-court input:focus-visible,
#focus-court summary:focus-visible {outline: 3px solid var(--court-lime); outline-offset: 4px;}
@media (max-width: 960px) {
  #focus-court .focus-game {grid-template-columns: minmax(0, 1fr); gap: 26px;}
  #focus-court .focus-viewport,
  #focus-court .basket-controls {width: 100%; max-width: 720px; margin-inline: auto;}
}
@media (max-width: 640px) {
  #focus-court .focus-game {padding: 16px 12px; gap: 24px;}
  #focus-court .court-top {padding: 13px 12px; gap: 10px;}
  #focus-court .court-top .small-label {font-size: 7px; max-width: 145px;}
  #focus-court .court-top .example-badge {font-size: 6px; max-width: 80px;}
  #focus-court .court-stage {min-height: 330px;}
  #focus-court .distraction-card {font-size: 12px; padding: 10px 9px; min-height: 62px; gap: 6px;}
  #focus-court .distraction-card small {font-size: 7px;}
  #focus-court .court-bottom {padding: 13px 12px; min-height: 64px; font-size: 11px;}
  #focus-court .basket-controls {gap: 20px; padding: 0 2px;}
  #focus-court .reframe-feedback {padding: 17px 15px;}
  #focus-court #reframe-text {font-size: 14px;}
}
@media (prefers-reduced-motion: reduce) {
  #focus-court .distraction-card {will-change: auto;}
}
.motion-paused #focus-court .distraction-card {will-change: auto;}
