.score-context{gap:15px}
.score-record-panel{display:flex;flex-direction:column;gap:10px;min-width:0}
.score-record-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.score-record-token-line{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.score-record-token{margin:0;color:var(--mint);font-size:9px;font-weight:760;letter-spacing:1.2px}
.score-record-total{color:#f2fff8;font-size:29px;font-weight:800;line-height:1;letter-spacing:-.7px}
.score-record-total span{margin-left:3px;color:#9bbdaf;font-size:13px;font-weight:600;letter-spacing:0}
.score-record-verdict{display:inline-flex;align-items:center;justify-content:center;min-width:73px;padding:8px 11px;border:1px solid #967b2d;border-radius:9px;background:#362b12;color:#f3d675;font-size:12px;font-weight:800}
.score-record-date,.score-record-note{margin:0;color:#98b8a9;font-size:10px;line-height:1.45}
.score-record-date{margin-top:-5px}
.score-record-categories{display:grid;grid-template-columns:1fr;gap:7px}
.score-record-category{padding:9px 10px;border:1px solid #204c3e;border-radius:9px;background:#0b2821}
.score-record-category-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.score-record-category-head h4{margin:0;color:#e5fff4;font-size:11px;font-weight:720}
.score-record-category-head strong{color:var(--mint);font-size:11px;white-space:nowrap}
.score-record-progress{height:5px;margin-top:7px;overflow:hidden;border-radius:999px;background:#183a30}
.score-record-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38c69f,#8affdc)}
.score-record-category p{margin:5px 0 0;color:#a9c8ba;font-size:10px;line-height:1.45}
.score-record-note{padding-top:9px;border-top:1px solid var(--line)}
.score-record-empty{padding:15px;border:1px solid #204c3e;border-radius:9px;background:#0b2821}
.score-record-empty strong{display:block;color:#c0d3ca;font-size:14px}
.score-record-empty p{margin:7px 0 0;color:#9bb8aa;font-size:11px;line-height:1.5}
@media(max-width:1060px){
  .score-record-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width: 720px), (min-width: 721px) and (max-width: 1060px) and (orientation: landscape) and (max-height: 500px) and (any-pointer: coarse){
  .score-context{gap:13px}
  .score-record-categories{grid-template-columns:1fr}
  .score-record-category{padding:10px}
  .score-record-category p{font-size:11px}
  .score-record-note,.score-record-date{font-size:10px}
}

/* Fundamental Score Breakdown — animation-only patch.
   Existing inline span widths remain the single source of truth.
   No changes to scores, markup, data, or layout are required. */
#scoreRecordPanel .score-record-progress > span {
  transform-origin: left center;
  animation: curated-score-fill 950ms cubic-bezier(.22, 1, .36, 1) both;
  will-change: transform;
}

@keyframes curated-score-fill {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* Respect users who request reduced motion. */
@media (prefers-reduced-motion: reduce) {
  #scoreRecordPanel .score-record-progress > span {
    animation: none;
    will-change: auto;
    transform: none;
  }
}
