.player-page { background:radial-gradient(ellipse at 80% 0%,#3a24572b,transparent 45%),#050910; }
.player-shell { padding-block:26px 70px; }
.player-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:22px; color:#b7a4d1; font-size:13px; text-decoration:none; }
.player-back:hover { color:#e1d0fc; }
#player-status { color:#a8a1bc; font-size:13px; padding:30px 0; }
#player-content[hidden],#player-error[hidden],#player-twitch[hidden],#player-status[hidden] { display:none; }
.player-hero { display:grid; grid-template-columns:320px minmax(0,1fr); gap:44px; align-items:center; padding-bottom:38px; border-bottom:1px solid #ffffff16; }
#player-portrait { min-width:0; }
#player-portrait .roster-card__cover { aspect-ratio:1; border-radius:14px; border:1px solid #ac80d438; }
#player-portrait img { object-fit:contain; }
#player-portrait .roster-card__placeholder > span { font-size:52px; }
.player-hero .eyebrow { color:#a68abf; font-size:10px; letter-spacing:.16em; }
#player-games { color:#a6aabd; font-size:12px; margin:20px 0 6px; }
#player-name { margin:0 0 18px; font-size:clamp(28px,3.6vw,48px); line-height:1.4; overflow-wrap:anywhere; }
#player-ranks { display:flex; flex-wrap:wrap; gap:8px; }
#player-ranks span { color:#c8b4e1; font-size:12px; border:1px solid #a182c844; border-radius:6px; padding:7px 12px; background:#9d6fe10b; overflow-wrap:anywhere; }
#player-rating { margin-top:24px; }
.player-rating-label { margin:0 0 6px; color:#939cb2; font-size:11px; }
#player-rating .roster-card__rating { margin:0; font-size:22px; }
#player-rating .roster-card__rating small { font-size:12px; }
.player-hero__actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:25px; }
.player-hero__actions .btn { font-size:13px; padding:12px 20px; min-height:46px; }
.player-columns { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:28px; align-items:start; margin-top:30px; }
.player-main { min-width:0; display:grid; gap:24px; }
.player-panel { border:1px solid #ffffff16; border-radius:12px; background:#0b121d; padding:28px; }
.player-panel .eyebrow,.player-booking .eyebrow { color:#9381ae; font-size:9px; letter-spacing:.15em; margin:0 0 8px; }
.player-panel h2,.player-booking h2 { font-size:22px; font-weight:600; margin:0; }
#player-bio { white-space:pre-wrap; overflow-wrap:anywhere; color:#abb5c9; font-size:14px; line-height:2; margin:22px 0 0; }
.player-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.player-section-head > span { color:#d7bd96; border:1px solid #d5ab6130; padding:6px 10px; border-radius:6px; white-space:nowrap; font-size:11px; }
#player-reviews-note { color:#939db2; line-height:1.9; font-size:12px; margin:18px 0 24px; }
.player-review { padding-block:21px; border-top:1px solid #ffffff12; }
.player-review:last-child { padding-bottom:0; }
.player-review__head { display:flex; gap:14px; justify-content:space-between; align-items:center; }
.player-review__who { min-width:0; display:flex; gap:10px; align-items:center; }
.player-review__who strong { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.player-review__avatar { width:34px; height:34px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; background:#9a75d217; border:1px solid #ad91d12b; color:#c2afe0; font-size:12px; }
.player-review__meta { flex-shrink:0; display:grid; gap:5px; text-align:right; }
.player-review__stars { color:#d9b787; font-size:12px; letter-spacing:2px; }
.player-review time { color:#7f8ca4; font-size:10px; }
.player-review__text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.95; font-size:13px; color:#b2bdd2; margin:16px 0 0; }
.player-no-reviews { color:#929bb0; font-size:13px; margin:0; padding:15px 0; }
.player-booking { position:sticky; top:100px; border:1px solid #a37dd03c; border-radius:12px; padding:25px; background:radial-gradient(ellipse at 80% 0%,#53377544,transparent 60%),#0d111e; text-align:left; }
.player-booking > img { display:block; width:120px; height:auto; margin:0 auto 22px; }
.player-booking h2 { font-size:20px; }
.player-booking > p:not(.eyebrow) { color:#a5aec2; font-size:12px; line-height:1.9; margin:14px 0 22px; }
.player-booking .btn { display:flex; justify-content:center; min-height:46px; font-size:12px; }
.player-price-link { display:block; text-align:center; color:#bda4df; font-size:12px; margin-top:18px; text-decoration:none; }
.player-booking small { display:block; font-size:10px; line-height:1.9; color:#7f8ca4; margin-top:22px; border-top:1px solid #ffffff12; padding-top:14px; }
.player-page :is(a,button):focus-visible { outline:2px solid #b693f0; outline-offset:4px; }
@media(max-width:1000px) { .player-hero { grid-template-columns:260px minmax(0,1fr); gap:30px; } .player-columns { grid-template-columns:minmax(0,1fr) 250px; gap:20px; } .player-panel,.player-booking { padding:22px; } }
@media(max-width:760px) { .player-hero { grid-template-columns:200px minmax(0,1fr); gap:24px; } .player-columns { grid-template-columns:minmax(0,1fr); } .player-booking { position:static; } .player-booking > img { float:right; width:100px; margin:0 0 14px 20px; } .player-booking .btn { clear:both; } }
@media(max-width:560px) { .player-shell { padding-top:16px; } .player-back { margin-bottom:14px; font-size:12px; } .player-hero { grid-template-columns:minmax(0,1fr); gap:24px; padding-bottom:28px; } #player-portrait { width:min(100%,300px); justify-self:center; } #player-name { font-size:30px; } .player-hero__actions .btn { flex:1; justify-content:center; font-size:12px; } .player-panel { padding:20px; } .player-panel h2 { font-size:20px; } #player-bio { font-size:13px; } .player-review__head { align-items:flex-start; } .player-review__meta { gap:6px; } #player-ranks span { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .player-page * { scroll-behavior:auto; } }
