.player-explorer-hero,
.player-explorer-controls,
.player-explorer-status,
.player-explorer-grid,
.player-explorer-method,
.player-profile,
.player-profile-not-found {
  width: calc(100% - 2rem);
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
}

.player-explorer-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(240px, 0.5fr);
  gap: 1.5rem;
  padding: 2rem;
  color: #fff;
  background: linear-gradient(135deg, var(--wruf-blue), #173d66);
  border-left: 7px solid var(--wruf-orange);
  border-radius: 20px;
  box-shadow: var(--wruf-shadow);
}

.player-explorer-hero span,
.player-profile-hero span,
.player-profile-panel > span,
.player-profile-sidebar section > span {
  color: var(--wruf-light-orange);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.player-explorer-hero h2 { margin: .4rem 0 .65rem; color: #fff; font-size: clamp(1.8rem, 4vw, 3rem); }
.player-explorer-hero p { margin: 0; color: rgba(255,255,255,.82); }
.player-explorer-hero aside { display: grid; align-content: center; gap: .45rem; padding: 1.2rem; background: rgba(255,255,255,.11); border-radius: 14px; }
.player-explorer-hero aside strong { font-size: 1.45rem; }

.player-explorer-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1.6fr) repeat(2, minmax(150px, 1fr));
  gap: .8rem;
  margin-top: 1.2rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid rgba(15,35,64,.12);
  border-radius: 14px;
  box-shadow: var(--wruf-shadow);
}

.player-explorer-controls label { display: grid; gap: .35rem; color: var(--wruf-blue); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.player-explorer-controls input,
.player-explorer-controls select { width: 100%; min-width: 0; padding: .72rem .8rem; border: 1px solid #c7d2df; border-radius: 9px; background: #fff; color: #172b45; font: inherit; text-transform: none; }
.player-explorer-status { margin-top: 1rem; color: var(--wruf-muted); }
.player-explorer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: .8rem; }
.player-explorer-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid rgba(15,35,64,.1); border-top: 5px solid var(--wruf-orange); border-radius: 15px; box-shadow: var(--wruf-shadow); }
.player-explorer-card__link { display: grid; height: 100%; gap: .9rem; padding: 1.15rem; color: inherit; text-decoration: none; }
.player-explorer-card__identity { display: grid; grid-template-columns:64px minmax(0,1fr); min-width: 0; align-items: center; gap: .75rem; }
.player-explorer-card__photo { width:64px;height:64px;overflow:hidden;background:#e7edf5;border:3px solid var(--wruf-blue);border-radius:50%; }
.player-explorer-card__photo img { width:100%;height:100%;object-fit:cover;object-position:center top; }
.player-explorer-card__photo.is-missing::after { content:"Photo unavailable";display:grid;height:100%;place-items:center;padding:.25rem;color:var(--wruf-muted);font-size:.55rem;text-align:center; }
.player-explorer-card__number { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; color: #fff; background: var(--wruf-blue); border-radius: 50%; font-weight: 900; }
.player-explorer-card h3 { margin: 0; color: var(--wruf-blue); font-size: 1.05rem; overflow-wrap: anywhere; }
.player-explorer-card p { margin: .2rem 0 0; color: var(--wruf-muted); font-size: .82rem; }
.player-explorer-card__metric { display: grid; grid-template-columns:minmax(0,1fr); gap:.25rem; min-height:118px;align-content:center;padding:.85rem;background:#f4f7fb;border-radius:10px; }
.player-explorer-card__metric span { font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.player-explorer-card__metric strong { color:var(--wruf-blue);font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.05;overflow-wrap:anywhere; }
.player-explorer-card__metric small { color: var(--wruf-muted); }
.player-explorer-card__rank { min-height: 2.4em; }
.player-explorer-card__action { align-self: end; color: var(--wruf-orange); font-size: .78rem; font-weight: 900; }
.player-explorer-empty,
.player-explorer-method { margin-top: 1rem; padding: 1rem 1.2rem; background: #fff; border-left: 5px solid var(--wruf-orange); border-radius: 10px; }
.player-explorer-method p { margin: .35rem 0 0; color: var(--wruf-muted); }

.player-profile-hero { display: grid; grid-template-columns: 112px 1fr auto; gap: 1rem; align-items: center; padding: 1.7rem; color: #fff; background: linear-gradient(135deg, var(--wruf-blue), #173d66); border-left: 7px solid var(--wruf-orange); border-radius: 20px; box-shadow: var(--wruf-shadow); }
.player-profile-photo{width:108px;height:108px;overflow:hidden;background:rgba(255,255,255,.12);border:4px solid var(--wruf-orange);border-radius:50%}.player-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.player-profile-photo.is-missing::after{content:"Photo unavailable";display:grid;height:100%;place-items:center;padding:.5rem;text-align:center;font-size:.7rem}
.player-profile-monogram { display: grid; width: 72px; height: 72px; place-items: center; border: 4px solid var(--wruf-orange); border-radius: 50%; font-size: 1.5rem; font-weight: 900; }
.player-profile-hero h2 { margin: .2rem 0; color: #fff; font-size: clamp(1.8rem, 4vw, 3rem); }
.player-profile-hero p { margin: 0; color: rgba(255,255,255,.8); }
.player-profile-hero aside { display: grid; gap: .2rem; text-align: right; }
.player-profile-bio { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0; }
.player-profile-bio > div { display: grid; gap: .2rem; padding: .85rem 1rem; background: #eef3f9; border-radius: 10px; }
.player-profile-bio span { color: var(--wruf-muted); font-size: .68rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.player-profile-bio strong { color: var(--wruf-blue); overflow-wrap: anywhere; }
.player-profile-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0; }
.player-profile-kpis > div { display: grid; gap: .2rem; min-width: 0; padding: 1rem; background: #f6f8fb; border-top: 4px solid #a7b5c5; border-radius: 12px; box-shadow: var(--wruf-shadow); }
.player-profile-kpis > div.percentile-high{border-top-color:#16835c;background:#eef8f3}.player-profile-kpis > div.percentile-low{border-top-color:#c13e3e;background:#fff1f0}.player-profile-kpis em{color:var(--wruf-muted);font-size:.66rem;font-style:normal}
.player-profile-kpis span { color: var(--wruf-muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.player-profile-kpis strong { color: var(--wruf-blue); font-size: 1.6rem; }
.player-profile-kpis small { overflow-wrap: anywhere; }
.player-profile-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(260px, .65fr); gap: 1rem; }
.player-profile-layout main { display: grid; gap: 1rem; }
.player-profile-panel,
.player-profile-sidebar section { padding: 1.25rem; background: #fff; border: 1px solid rgba(15,35,64,.1); border-radius: 14px; box-shadow: var(--wruf-shadow); }
.player-profile-panel h3,
.player-profile-sidebar h3 { margin: .3rem 0 .7rem; color: var(--wruf-blue); }
.player-profile-comparison { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.player-profile-comparison > div { display: grid; gap: .15rem; padding: .8rem; background: #f4f7fb; border-radius: 9px; }
.player-profile-comparison strong { color: var(--wruf-blue); font-size: 1.5rem; }
.player-profile-sidebar { display: grid; align-content: start; gap: 1rem; }
.player-profile-sidebar p { color: var(--wruf-muted); }
.player-profile-panel--advanced { border-left: 5px solid var(--wruf-orange); background: #fffaf5; }
.player-profile-footer { margin: 1rem 0 2rem; }
.player-table-wrap{max-width:100%;overflow-x:auto}.player-season-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;font-size:.78rem}.player-season-table th{padding:.6rem .7rem;color:#fff;background:var(--wruf-blue);text-align:right;white-space:nowrap}.player-season-table th:first-child,.player-season-table th:nth-child(2){text-align:left}.player-season-table td{padding:.55rem .7rem;border-bottom:1px solid #dbe2eb;text-align:right;white-space:nowrap}.player-season-table td:first-child,.player-season-table td:nth-child(2){text-align:left;font-weight:800}.player-season-table tbody tr:nth-child(even){background:#f5f7fa}.player-notes-panel ul{margin:.5rem 0 0;padding-left:1.2rem}.player-notes-panel li{margin:.35rem 0}

@media (max-width: 900px) {
  .player-explorer-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-explorer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-profile-bio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-profile-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-profile-layout { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .player-explorer-hero,
  .player-profile-hero { grid-template-columns: 1fr; padding: 1.25rem; }
  .player-explorer-hero aside,
  .player-profile-hero aside { text-align: left; }
  .player-explorer-controls,
  .player-explorer-grid,
  .player-profile-bio,
  .player-profile-kpis { grid-template-columns: 1fr; }
}
