/* Player events: one compact summary, details revealed in the same card. */
.answer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: .75rem .875rem;
  border: 1px solid var(--surface-content-border);
  border-radius: var(--radius-card);
  background-color: var(--surface-content);
  background-image: var(--surface-content-image);
  color: var(--event-content-primary);
  box-shadow: var(--surface-content-shadow);
  font-family: var(--font-ui);
}
.answer::before, .answer::after { display: none; }
.answer > * { position: relative; z-index: 1; }
.answer p { margin: 0; color: var(--event-content-secondary); }
/* Accueil: the Agenda's grain and facets, with the home summary and actions. */
.home-screen .answer.match-answer {
  --home-match-highlight: #ece7dc;
  --home-event-surface: #23382c;
  --home-event-tint-rgb: 35, 56, 44;
  --home-event-shade-rgb: 8, 24, 15;
  --home-event-border: rgba(178, 217, 190, .38);
  --ink: #eff7f1;
  --muted: #e2eee6;
}
.home-screen .answer.training-answer {
  --home-event-surface: #233441;
  --home-event-tint-rgb: 35, 52, 65;
  --home-event-shade-rgb: 8, 18, 29;
  --home-event-border: rgba(178, 199, 217, .38);
  --ink: #eff4fa;
  --muted: #e0eaf5;
  background-blend-mode: normal, normal, luminosity;
}
.home-screen .answer:is(.match-answer, .training-answer) {
  padding: 0;
  border-color: var(--home-event-border);
  background-color: var(--home-event-surface);
  /* The texture stays anchored to the summary and fades before the open details. */
  background-image:
    linear-gradient(90deg, rgba(var(--home-event-shade-rgb), .13), rgba(var(--home-event-shade-rgb), .08)),
    linear-gradient(to bottom, rgba(var(--home-event-tint-rgb), .22) 98px, var(--home-event-surface) 180px),
    url("../../../assets/images/agenda-player-texture.webp");
  background-size: 100% 100%, 100% 100%, 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
}
.home-event-summary {
  position: relative;
  padding: .75rem .875rem;
}
.home-event-details { margin: 0 .875rem; padding: .45rem 0 .75rem; border-top: 1px solid var(--line); }
.home-screen .answer:is(.match-answer, .training-answer) .event-card-reveal.is-open .event-card-reveal-inner { margin-top: 0; border-top: 0; }
.home-match-layout { margin: .4rem 0 .6rem; }
.home-match-date { color: var(--event-content-secondary); font-size: .8rem; text-align: center; }
.home-match-teams {
  display: grid;
  grid-template-columns: minmax(0,1fr) max-content minmax(0,1fr);
  align-items: center;
  gap: .5rem;
}
.home-match-club { min-width: 0; text-align: center; overflow-wrap: anywhere; font-size: .95rem; line-height: 1.2; }
.home-match-kickoff { text-align: center; }
.home-match-kickoff b { display: block; color: var(--ink); font-size: 1.4rem; line-height: 1.2; }
.home-match-kickoff span { color: var(--muted); font-size: .7rem; }
.answer .home-match-layout { margin: .2rem 0 .4rem; }
.answer .home-match-teams { gap: .9rem; margin: 0; }
.answer .home-match-club { color: var(--ink); font-size: clamp(.75rem, 3.6cqw, .95rem); font-weight: 600; text-transform: none; }
.answer .home-match-club-left { text-align: right; }
.answer .home-match-club-right { text-align: left; }
.answer .coach-match-kickoff.home-match-kickoff b { padding: 0; border: 0; border-radius: 0; background: none; color: var(--home-match-highlight, var(--ink)); font-size: 1.55rem; font-weight: 700; line-height: 1.2; box-shadow: none; }
.home-event-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
  min-height: var(--touch-target);
  margin: -.375rem 0 .125rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 400;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
.home-event-toggle:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; border-radius: 6px; }
.home-event-date {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-shrink: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--event-content-primary);
  font-size: max(14px, .8rem);
  font-weight: 600;
  line-height: 1.3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .45);
}
.home-event-disclosure { color: inherit; font-size: 1rem; line-height: 1; }
.home-event-kind {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--event-content-primary);
  font-weight: 600;
  text-align: right;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.home-training-summary { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin: .2rem 0 .4rem; }
.home-training-summary strong { font-size: .95rem; font-weight: 600; overflow-wrap: anywhere; }
.home-training-summary b { flex-shrink: 0; font-size: 1.35rem; font-weight: 700; }
.home-event-logistics { display: grid; gap: .25rem; margin: .7rem 0 0; }
.home-event-info-line { display: flex; align-items: flex-start; gap: .5rem; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.home-event-info-line > span { min-width: 0; overflow-wrap: anywhere; }
.home-event-info-line b { color: var(--ink); font-weight: 600; }
.home-event-info-icon { flex: 0 0 16px; margin-top: .08rem; }
.home-event-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.home-event-coach { margin-top: .65rem; padding: .6rem .65rem; border: 1px solid var(--surface-content-border); border-radius: 10px; background: var(--surface-content-soft); }
.home-event-coach-label { display: block; margin-bottom: .3rem; color: var(--muted); font-size: .76rem; }
.answer .home-event-coach .event-description { margin: 0; padding: 0; border: 0; background: none; color: var(--ink); font-size: .8rem; font-weight: 400; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.answer .home-event-closed { margin-top: .25rem; color: var(--muted); font-size: .72rem; text-align: center; }
.home-event-published, .home-event-attendance { margin-top: .85rem; padding-top: .75rem; border-top: 1px solid var(--line); }
.home-event-published.is-started { margin-top: .65rem; padding-top: 0; border-top: 0; }
.home-event-stadium { display: flex; align-items: flex-start; gap: .35rem; margin: 0 0 .45rem; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.home-event-stadium > span { min-width: 0; overflow-wrap: anywhere; }
.home-event-stadium .home-event-info-icon { flex-basis: 14px; width: 14px; height: 14px; margin-top: .04rem; }
.home-event-published .lineup-roster { background: none; border: 0; padding: 0; box-shadow: none; }
.home-event-published .lineup-group h3 { color: var(--ink); font-size: .82rem; font-weight: 600; text-transform: none; }
.home-event-published .lineup-member { min-height: 1.55rem; padding: .15rem 0; border: 0; background: none; }
.player-match-panel .home-event-published .lineup-member { grid-template-columns: max-content minmax(0, 1fr); justify-content: flex-start; gap: .15rem; text-align: left; }
.player-match-panel .home-event-published .lineup-member > .avatar { grid-column: 1; grid-row: 1; }
.player-match-panel .home-event-published .lineup-member-main { grid-column: 2; grid-row: 1; text-align: left; }
.home-event-published .lineup-member-main b { color: var(--muted); font-size: .8rem; font-weight: 400; }
.home-event-published .lineup-member > .avatar { width: 1.4rem; height: 1.4rem; background: var(--surface-content-soft); color: var(--muted); font-size: .65rem; }
.home-event-attendance > .block { margin: 0; padding: 0; border: 0; }
.home-event-attendance .training-session-title { color: var(--ink); }
html.match-score-open, body.match-score-open { overscroll-behavior: none; }
@media (max-width: 440px) { body.match-score-open { overflow: hidden; } }
.player-match-panel { container-type: inline-size; }
.player-match-panel .event-card-reveal {
  display: grid;
  grid-template-rows: 0fr;
  max-height: none;
  overflow: hidden;
  overflow-anchor: none;
  opacity: 0;
  pointer-events: none;
  transition: grid-template-rows .24s cubic-bezier(.22,.72,.22,1), opacity .18s ease;
}
.player-match-panel .event-card-reveal.is-open { grid-template-rows: 1fr; opacity: 1; pointer-events: auto; }
.player-match-panel .event-card-reveal-inner { min-height: 0; overflow: hidden; }
.answer .event-card-reveal.is-open .event-card-reveal-inner { margin-top: .45rem; border-top: 1px solid var(--line); }
@media (prefers-reduced-motion: reduce) { .player-match-panel .event-card-reveal { transition: none; } }
@media (max-width: 360px) {
  .answer { padding-inline: .75rem; }
  .home-event-summary { padding-inline: .75rem; }
  .home-event-details { margin-inline: .75rem; }
  .home-event-toggle { font-size: .72rem; }
  .home-event-date { gap: .4rem; }
  .answer .home-match-teams { gap: .6rem; }
  .answer .coach-match-kickoff.home-match-kickoff b { font-size: 1.4rem; }
}
.events > .card.detail.player-match-panel > .meta:empty { display: none; }
.player-match-panel .grouped-roster { gap: clamp(.25rem, 1cqw, .55rem); }
.convocation-home { display: block; margin-top: .45rem; font-weight: 600; text-align: center; }
.convocation-home.selected { color: var(--green); }
.convocation-home.unselected { color: var(--red); }

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) and (not (any-pointer: coarse)) {
  .home-screen .answer {
    padding: .5rem .75rem;
  }

  .home-event-summary { padding: .5rem .75rem; }
  .home-event-details { margin-inline: .75rem; padding-bottom: .5rem; }

  .home-screen .answer .home-match-layout,
  .home-screen .answer .home-training-summary {
    margin-top: 0;
    margin-bottom: 0;
  }

  .home-screen .answer .answer-actions {
    margin-top: .2rem;
  }
}
