/* Small one-shot transitions. No timers, scroll handlers or animation library. */
.card-visual{isolation:isolate;background:#101715;aspect-ratio:16/9;height:auto;min-height:155px}
.map-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.card-visual:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07131060,transparent 50%,#071310a6)}
.map-label{font-size:24px;text-shadow:0 2px 12px #000;position:relative;z-index:1}
.map-ceres .map-cover{object-position:center 42%}.video-badge{background:#091210d9;font-size:9px}.play-circle{background:#08181477}
.viewed-button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 14px;border-color:#58e0f254;color:#cbf9ff;background:#58e0f20b;text-align:left;border-radius:7px;font-size:13px;line-height:1.3}
.viewed-button strong{display:block;font-size:13px;font-weight:600}.viewed-button small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.viewed-button:hover{background:#58e0f21c;border-color:var(--mint)}.viewed-button.is-viewed{background:#58e0f216;border-color:#58e0f28c;color:var(--mint)}
.seen-icon{display:inline-flex;flex-shrink:0}.seen-icon circle,.seen-icon path{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.seen-icon path{opacity:0}.is-viewed .seen-icon path{opacity:1}
.viewed-form{padding-top:2px}.match-heading .viewed-button{font-size:13px}.moment .takeaway{font-size:13px;line-height:1.7;color:#d9e4e3;margin-bottom:14px}.analysis summary{color:var(--mint)}
@media(prefers-reduced-motion:no-preference){
  .session-card,.bo-card,.match-card,.player-card{animation:kda-enter .26s cubic-bezier(.2,.65,.3,1) backwards;transition:transform .18s ease,border-color .18s ease}
  .session-card:nth-child(2),.bo-card:nth-child(2),.match-card:nth-child(2),.player-card:nth-child(2){animation-delay:35ms}
  .session-card:nth-child(n+3),.bo-card:nth-child(n+3),.match-card:nth-child(n+3),.player-card:nth-child(n+3){animation-delay:70ms}
  .viewed-button,.small-button,.button{transition:transform .12s ease,background-color .16s ease,border-color .16s ease}
  .viewed-button:active,.small-button:active,.button:active{transform:scale(.97)}
  .is-viewed .seen-icon path{stroke-dasharray:14;animation:kda-check .2s ease-out both}
  details[open]>.moment-players,details[open]>p{animation:kda-reveal .18s ease-out both}
  @keyframes kda-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
  @keyframes kda-reveal{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
  @keyframes kda-check{from{stroke-dashoffset:14}to{stroke-dashoffset:0}}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .session-card:hover,.bo-card:hover,.match-card:hover,.player-card:hover{transform:translateY(-3px)}
  .map-cover{transition:transform .25s ease}.match-card:hover .map-cover{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.session-card,.bo-card,.match-card,.player-card,.map-cover,.viewed-button,.button,.small-button{animation:none!important;transition:none!important;transform:none!important}
}
@media(max-width:800px){.viewed-button{width:100%;min-height:46px}.match-heading .section-heading>form{width:100%}.card-visual{min-height:0}.moment .takeaway{font-size:13px}.viewed-button strong{font-size:13px}}
