/* Profil joueur : styles isolés du catalogue et des autres pages. */
#main.cyber-page--hackeur { --player-violet: #ca91ef; }
#main.cyber-page--hackeur a,
#main.cyber-page--hackeur a:visited { color: var(--cyber-accent); }
#main.cyber-page--hackeur a:hover { color: var(--cyber-accent-text); }
.player-hero { padding: 28px; border: 1px solid var(--cyber-border); border-radius: 18px; background: radial-gradient(ellipse at top right, #224939, transparent 75%), var(--cyber-surface); }
.player-hero__identity { display: flex; align-items: center; gap: 20px; }
#main .player-hero__avatar { width: 72px; height: 72px; flex: 0 0 72px; object-fit: cover; border-radius: 18px; border: 1px solid var(--cyber-border); }
.player-hero__identity > div { min-width: 0; }
.player-eyebrow { display: block; color: var(--cyber-accent); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
#main .player-hero h1 { margin: 5px 0; padding: 0; font-size: clamp(25px, 3vw, 34px); line-height: 1.2; }
#main .player-hero p { margin: 8px 0 0; color: var(--cyber-muted); font-size: 13px; }
.player-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 26px 0 0; padding: 22px 0 0; border-top: 1px solid var(--cyber-border); }
.player-metrics > div { display: flex; flex-direction: column-reverse; justify-content: end; }
.player-metrics dt { color: var(--cyber-muted); font-size: 12px; font-weight: 400; }
.player-metrics dd { margin: 0; color: var(--cyber-text); font-size: clamp(23px, 3vw, 32px); line-height: 1.35; font-weight: 700; font-variant-numeric: tabular-nums; }
.player-metrics > div:first-child dd { color: var(--cyber-accent); }
.player-metrics small { color: var(--cyber-muted); font-size: 16px; font-weight: 400; }
.player-section { margin-top: 32px; }
.player-section__heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
#main .player-section h2 { margin: 4px 0 0; font-size: 21px; }
#main .player-section__intro { margin: 12px 0 18px; color: var(--cyber-muted); font-size: 13px; }
.player-percentage { color: var(--cyber-accent); font-size: 27px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.player-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#main.cyber-page--hackeur .player-category,
#main.cyber-page--hackeur .player-category:visited { display: block; padding: 18px; border: 1px solid var(--cyber-border); border-radius: 12px; background: var(--cyber-surface); color: var(--cyber-text); text-decoration: none; transition: border-color .15s, background-color .15s; }
#main.cyber-page--hackeur .player-category:hover { border-color: var(--cyber-accent); background: var(--cyber-hover); }
.player-category__heading { display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: 14px; font-weight: 600; line-height: 1.4; }
#main .player-category__heading img { width: 32px; height: 32px; flex: 0 0 32px; margin: 0; border: 0; }
.player-category__arrow { margin-left: auto; color: var(--cyber-muted); font-size: 18px; }
.player-category__numbers { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 18px 0 10px; font-variant-numeric: tabular-nums; }
.player-category__numbers strong { font-size: 21px; }
.player-category__numbers small { color: var(--cyber-muted); font-size: 13px; font-weight: 400; }
.player-category__numbers > span { color: var(--cyber-muted); font-size: 11px; }
.player-category--complete .player-category__numbers > span { color: var(--cyber-accent); }
.player-category progress { display: block; appearance: none; width: 100%; height: 5px; overflow: hidden; border: 0; border-radius: 9px; background: #2b3b36; color: var(--player-violet); accent-color: var(--player-violet); }
.player-category progress::-webkit-progress-bar { background: #2b3b36; border-radius: 9px; }
.player-category progress::-webkit-progress-value { background: var(--player-violet); border-radius: 9px; }
.player-category progress::-moz-progress-bar { background: var(--player-violet); border-radius: 9px; }
.player-category--complete progress { color: var(--cyber-accent); accent-color: var(--cyber-accent); }
.player-category--complete progress::-webkit-progress-value { background: var(--cyber-accent); }
.player-category--complete progress::-moz-progress-bar { background: var(--cyber-accent); }
#main .player-team-list { margin: 18px 0 0; padding: 0; list-style: none; }
#main .player-team-list li { padding: 18px; margin: 10px 0 0; border: 1px solid var(--cyber-border); border-radius: 12px; background: var(--cyber-surface); }
.player-team-list a { display: flex; justify-content: space-between; font-size: 15px; font-weight: 600; text-decoration: none; }
.player-team-list li > span { display: block; margin-top: 6px; color: var(--cyber-muted); font-size: 12px; }
.player-empty { color: var(--cyber-muted); }
#main.cyber-page--hackeur .player-history { display: table; table-layout: fixed; margin: 0; border: 0; font-variant-numeric: tabular-nums; }
.player-history-wrap { overflow: hidden; border: 1px solid var(--cyber-border); border-radius: 12px; }
#main.cyber-page--hackeur .player-history :is(td, th) { padding: 14px 16px; font-size: 13px; text-align: left; overflow-wrap: anywhere; }
#main.cyber-page--hackeur .player-history th { background: #21342d; color: var(--cyber-muted); font-size: 11px; font-weight: 600; }
.player-history th:first-child { width: 60%; }
.player-history th:nth-child(2) { width: 17%; }
.player-history td:first-child img { display: none; }
.player-history a { text-decoration: none; }
.player-history td:nth-child(2) { color: var(--cyber-accent); }
.player-history td:nth-child(3) { color: var(--cyber-muted); }
#main.cyber-page--hackeur .player-history tr:last-child td { border-bottom: 0; }
@media (max-width: 600px) {
 .player-hero { padding: 20px 16px; }
 .player-hero__identity { gap: 14px; }
 #main .player-hero__avatar { width: 56px; height: 56px; flex-basis: 56px; border-radius: 14px; }
 .player-metrics { gap: 10px; }
 .player-metrics dt { font-size: 10px; }
 .player-metrics dd { font-size: 23px; }
 .player-metrics small { font-size: 12px; }
 .player-categories { grid-template-columns: minmax(0, 1fr); }
 #main .player-section h2 { font-size: 19px; }
 .player-percentage { font-size: 23px; }
 #main.cyber-page--hackeur .player-history :is(td, th) { padding: 12px 8px; font-size: 12px; }
 .player-history th:first-child { width: 52%; }
 .player-history th:nth-child(2) { width: 18%; }
}
@media (prefers-reduced-motion: reduce) { #main.cyber-page--hackeur .player-category { transition: none; } }
