
/* =============================================
   PLAYMAKER PRIME
   INDIVIDUAL PLAYER REPORT V2 — STAGE 1
   Isolated hero styling
============================================= */

body:has(.player-hero) {
  background: #0b111d;
}

/* Main hero container */

.player-hero {
  position: relative;
  overflow: hidden;
  padding: 46px 24px 54px;
  background:
    radial-gradient(
      ellipse at 82% 15%,
      rgba(102,255,153,.085),
      transparent 48%
    ),
    linear-gradient(150deg,#0c1625,#101e2d 70%,#0b111d);
  border-bottom: 1px solid rgba(102,255,153,.12);
}

.player-hero .hero-glow {
  pointer-events: none;
  opacity: .28;
}

.player-hero-content {
  position: relative;
  z-index: 1;
  width: min(100%,1200px);
  max-width: 1200px;
  margin: 0 auto;
}

/* Breadcrumb */

.player-hero .back-btn {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 21px;
  color: #a8f8c2;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

.player-hero #player-report-label {
  display: inline-flex;
  width: fit-content;
  border: 1px solid rgba(102,255,153,.23);
  background: rgba(102,255,153,.07);
  color: #a8ffca;
  font-size: 11px;
  letter-spacing: .04em;
}

/* Hero layout */

.player-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(340px,.8fr);
  align-items: center;
  gap: clamp(28px,5vw,70px);
  margin-top: 28px;
}

.player-hero-copy {
  min-width: 0;
  text-align: left;
}

.player-hero #player-title {
  margin: 0 0 20px;
  color: #f6fbff;
  font-size: clamp(38px,5.2vw,70px);
  line-height: 1.06;
  letter-spacing: -.055em;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.player-hero #player-title span {
  display: block;
  margin-top: 15px;
  color: #66ff99;
  font-size: clamp(13px,1.5vw,18px);
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.player-hero #player-subtitle {
  max-width: 590px;
  margin: 0 0 25px;
  color: #b8c8d4;
  font-size: clamp(14px,1.6vw,17px);
  line-height: 1.75;
}

.player-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
}

.player-hero-actions a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  padding: 11px 19px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

/* Player identity panel */

.player-hero-card {
  min-width: 0;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(102,255,153,.20);
  border-radius: 20px;
  background: linear-gradient(
    150deg,
    rgba(26,48,62,.98),
    rgba(14,28,43,.98)
  );
  box-shadow: 0 20px 55px rgba(0,0,0,.18);
}

.player-image-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  min-height: 270px;
  height: clamp(270px,27vw,345px);
  overflow: hidden;
  border-radius: 15px;
  background:
    radial-gradient(
      circle at 50% 60%,
      rgba(102,255,153,.13),
      transparent 62%
    ),
    #142638;
}

#player-image {
  width: 100%;
  height: 100%;
  max-height: 350px;
  object-fit: contain;
  object-position: center bottom;
  display: block;
  filter: drop-shadow(0 8px 12px rgba(0,0,0,.2));
}

/* Four existing dynamically populated values */

.player-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 16px;
}

.player-snapshot-grid > div {
  min-width: 0;
  padding: 14px 13px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 11px;
  background: #142638;
}

.player-snapshot-grid > div > span {
  display: block;
  margin-bottom: 7px;
  color: #9cb2c0;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.player-snapshot-grid > div > strong {
  display: block;
  color: #effbf3;
  font-size: clamp(12px,1.3vw,15px);
  font-weight: 800;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

/* Injury alert already provided by shared engine */

.player-hero .pm-injury-alert {
  max-width: 590px;
  margin: 0 0 22px;
}

/* Responsive */

@media (max-width: 850px) {
  .player-hero {
    padding: 28px 18px 38px;
  }

  .player-hero-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 25px;
  }

  .player-hero-card {
    width: min(100%,570px);
    box-sizing: border-box;
  }

  .player-hero #player-title {
    font-size: clamp(35px,7vw,55px);
  }
}

@media (max-width: 520px) {
  .player-hero {
    padding: 22px 14px 30px;
  }

  .player-hero-card {
    padding: 13px;
    border-radius: 15px;
  }

  .player-image-wrap {
    min-height: 220px;
    height: 240px;
  }

  .player-snapshot-grid {
    gap: 8px;
  }

  .player-snapshot-grid > div {
    padding: 11px 10px;
  }

  .player-hero-actions {
    gap: 9px;
  }

  .player-hero-actions a {
    flex: 1 1 155px;
  }
}



/* ==================================================
   PLAYER REPORT DASHBOARD V2 — STAGE 2
================================================== */

.pm-player-dashboard,
.pm-dashboard-grid {
  width: min(calc(100% - 32px), 1200px);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.pm-player-dashboard {
  padding: 30px 0 0;
}

.pm-dashboard-eyebrow {
  display: block;
  color: #66ff99;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: 10px;
}

.pm-dashboard-intro h2 {
  margin: 0 0 10px;
  font-size: clamp(26px, 3.5vw, 39px);
  color: #f4faff;
  letter-spacing: -.04em;
}

.pm-dashboard-intro p {
  margin: 0 0 23px;
  max-width: 730px;
  color: #aebfcf;
  font-size: 14px;
  line-height: 1.7;
}

.pm-dashboard-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  margin-bottom: 22px;
  border: 1px solid rgba(102,255,153,.13);
  border-radius: 13px;
  background: #112131;
}

.pm-dashboard-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  min-height: 40px;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 9px;
  background: #192d3b;
  color: #b7c8d5;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
  transition: background .2s, color .2s;
}

.pm-dashboard-nav-link:hover,
.pm-dashboard-nav-link.is-active {
  border-color: rgba(102,255,153,.3);
  background: #224536;
  color: #aeffcb;
}

.pm-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 17px;
  margin-top: 0;
  margin-bottom: 26px;
}

/* Override the old full-width section styling
   only inside our new grid. */

.pm-dashboard-grid > section.hq-section {
  min-width: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 22px !important;
  box-sizing: border-box;
  border: 1px solid rgba(102,255,153,.13);
  border-radius: 16px;
  background: linear-gradient(
    145deg,
    #172a3a,
    #101c2a
  );
}

.pm-dashboard-grid .section-header {
  margin-bottom: 17px;
}

.pm-dashboard-grid .section-header h3,
.pm-dashboard-grid .ai-summary-card h3 {
  color: #f3fbf6;
  font-size: clamp(17px, 2vw, 23px);
  letter-spacing: -.025em;
}

.pm-dashboard-grid .section-header p,
.pm-dashboard-grid .ai-summary-card p {
  color: #b5c6d1;
  font-size: 12px;
  line-height: 1.7;
}

/* Remove nested oversized wrappers without
   removing any model-generated content. */

.pm-dashboard-grid .ai-summary-card,
.pm-dashboard-grid .opportunity-score-card {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.pm-dashboard-grid .report-list,
.pm-dashboard-grid .defense-player-grid {
  min-width: 0;
}

.pm-dashboard-grid .report-row {
  min-width: 0;
}

.pm-dashboard-grid .report-row h4,
.pm-dashboard-grid .defense-player-card h4 {
  font-size: 14px;
}

.pm-dashboard-grid .report-row p,
.pm-dashboard-grid .defense-stat {
  font-size: 12px;
}

.pm-dashboard-lower-section {
  scroll-margin-top: 90px;
}

#pm-player-overview,
#pm-player-performance {
  scroll-margin-top: 90px;
}

@media (max-width: 860px) {
  .pm-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .pm-dashboard-grid > section.hq-section {
    padding: 19px !important;
  }
}

@media (max-width: 540px) {
  .pm-player-dashboard,
  .pm-dashboard-grid {
    width: min(calc(100% - 24px), 1200px);
  }

  .pm-dashboard-nav {
    padding: 8px;
    gap: 6px;
  }

  .pm-dashboard-nav-link {
    flex: 1 1 auto;
    padding: 9px 11px;
    font-size: 11px;
  }

  .pm-dashboard-grid {
    gap: 12px;
  }
}



/* ==================================================
   PLAYER REPORT V2 — STAGE 3
   Extended Research, Results, FAQ & CTA
================================================== */

/* Shared visual structure for sections beneath dashboard */

body:has(.player-hero) main > section.hq-section {
  box-sizing: border-box;
}

body:has(.player-hero) main
.pm-dashboard-lower-section {
  width: min(calc(100% - 32px), 1200px);
  max-width: 1200px;
  margin: 0 auto 18px;
  padding: 25px;
  box-sizing: border-box;
  border: 1px solid rgba(102,255,153,.13);
  border-radius: 17px;
  background: linear-gradient(
    140deg,
    #152637,
    #101b29
  );
}

.pm-dashboard-lower-section .section-header {
  margin-bottom: 20px;
}

.pm-dashboard-lower-section .section-header h3 {
  margin: 0 0 9px;
  color: #f3fbf6;
  font-size: clamp(21px,2.6vw,28px);
  line-height: 1.2;
  letter-spacing: -.035em;
}

.pm-dashboard-lower-section .section-header p {
  max-width: 800px;
  margin: 0;
  color: #aebfcd;
  font-size: 13px;
  line-height: 1.7;
}

/* ==========================================
   MATCHUP CONTEXT
========================================== */

#pm-player-matchup .logic-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 13px;
  margin-top: 19px;
}

#pm-player-matchup .logic-card {
  min-width: 0;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 20px;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 13px;
  background: #172b3b;
  box-shadow: none;
}

#pm-player-matchup .logic-card h4 {
  margin: 0 0 11px;
  color: #a6ffbf;
  font-size: 14px;
  line-height: 1.4;
}

#pm-player-matchup .logic-card p {
  margin: 0;
  color: #bbccd7;
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

/* ==========================================
   HISTORICAL RESULTS
========================================== */

#pm-player-results .matchup-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px;
}

#pm-player-results .matchup-card {
  min-width: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 19px;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 13px;
  background: #182b3b;
  box-shadow: none;
}

#pm-player-results .matchup-card h4 {
  color: #f3fbff;
  font-size: 15px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#pm-player-results .matchup-card p,
#pm-player-results .matchup-card li {
  color: #b5c8d4;
  font-size: 12px;
  line-height: 1.7;
}

#pm-player-results .game-tag {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 7px;
  background: #203e32;
  color: #a5ffbf;
  font-size: 10px;
  font-weight: 800;
}

#pm-player-results .game-date {
  color: #99acba;
  font-size: 11px;
}

/* ==========================================
   COMMON PROP RESULTS
========================================== */

body:has(.player-hero) #frequent-props-grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%,235px),1fr)
  );
  gap: 13px;
}

body:has(.player-hero) #frequent-props-grid .prop-card {
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 18px;
  box-sizing: border-box;
  border: 1px solid rgba(102,255,153,.11);
  border-radius: 13px;
  background: #162938;
  box-shadow: none;
}

body:has(.player-hero) #frequent-props-grid .prop-card h4 {
  margin: 0 0 10px;
  color: #eafbf0;
  font-size: 15px;
  line-height: 1.45;
}

body:has(.player-hero) #frequent-props-grid .prop-card p {
  color: #aebfcd;
  font-size: 12px;
  line-height: 1.75;
}

/* ==========================================
   PLAYER FAQ — COMPACT ACCORDIONS
========================================== */

#pm-player-faq .faq-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-items: start;
  gap: 12px;
}

#pm-player-faq .faq-card {
  min-width: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 12px;
  background: #162938;
}

#pm-player-faq .faq-card[open] {
  border-color: rgba(102,255,153,.23);
  background: #193143;
}

#pm-player-faq .faq-card summary {
  position: relative;
  cursor: pointer;
  padding: 17px 39px 17px 17px;
  color: #effaf5;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.55;
  list-style: none;
}

#pm-player-faq .faq-card summary::-webkit-details-marker {
  display: none;
}

#pm-player-faq .faq-card summary::after {
  content: "+";
  position: absolute;
  right: 15px;
  top: 14px;
  color: #66ff99;
  font-size: 20px;
  font-weight: 500;
}

#pm-player-faq .faq-card[open] summary::after {
  content: "−";
}

#pm-player-faq .faq-card summary:focus-visible {
  outline: 2px solid #66ff99;
  outline-offset: -4px;
}

#pm-player-faq .faq-card p {
  margin: 0;
  padding: 0 17px 17px;
  color: #b3c8d4;
  font-size: 12px;
  line-height: 1.8;
}

/* ==========================================
   FINAL PLAYMAKER CTA
========================================== */

body:has(.player-hero) .final-cta {
  position: relative;
  overflow: hidden;
  width: min(calc(100% - 32px), 1200px);
  max-width: 1200px;
  margin: 25px auto;
  padding: clamp(25px,4vw,44px);
  box-sizing: border-box;
  border: 1px solid rgba(102,255,153,.28);
  border-radius: 19px;
  background:
    radial-gradient(
      circle at 92% 0%,
      rgba(102,255,153,.13),
      transparent 40%
    ),
    linear-gradient(135deg,#16392e,#112435 75%);
  text-align: center;
}

body:has(.player-hero) .final-cta h3 {
  margin: 14px 0;
  color: #f4fff8;
  font-size: clamp(23px,3.3vw,35px);
  letter-spacing: -.035em;
}

body:has(.player-hero) .final-cta p {
  max-width: 700px;
  margin: 0 auto 22px;
  color: #c0d3cb;
  font-size: 13px;
  line-height: 1.8;
}

body:has(.player-hero) .final-cta .btn-primary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 45px;
  padding: 12px 22px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 860px) {
  #pm-player-matchup .logic-grid {
    grid-template-columns: 1fr;
  }

  #pm-player-results .matchup-grid {
    grid-template-columns: 1fr;
  }

  #pm-player-faq .faq-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {
  body:has(.player-hero) main
  .pm-dashboard-lower-section {
    width: min(calc(100% - 24px),1200px);
    padding: 16px;
    margin-bottom: 13px;
  }

  #pm-player-matchup .logic-card,
  #pm-player-results .matchup-card {
    padding: 15px;
  }

  body:has(.player-hero) .final-cta {
    width: min(calc(100% - 24px),1200px);
    padding: 23px 17px;
  }
}
