/* Compact player dossier and locker. All rules scoped to these surfaces. */
.whpp-directory-atmosphere{display:none;position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;background:#090a0d;contain:paint}
.whpp-portal:is([data-active-view="discover"],[data-active-view="profile"])>.whpp-directory-atmosphere{display:grid;grid-template-rows:repeat(3,minmax(720px,1fr))}
.whpp-directory-atmosphere>i{display:block;background:center/cover no-repeat;opacity:.3;filter:saturate(.65);transform-origin:center;animation:whpp-directory-drift 34s ease-in-out infinite alternate}
.whpp-directory-atmosphere>i:nth-child(1){background-image:url('../images/heroes/game.webp')}
.whpp-portal[data-active-view="discover"]>.whpp-directory-atmosphere>i:nth-child(1){background-image:url('../images/heroes/sheridan-sideline.webp')}
.whpp-directory-atmosphere>i:nth-child(2){background-image:url('../images/heroes/campbell-girls.webp');animation-delay:-12s;animation-direction:alternate-reverse}
.whpp-directory-atmosphere>i:nth-child(3){background-image:url('../images/heroes/natrona-girls.webp');animation-delay:-22s}
.whpp-directory-atmosphere:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08090d66,#08090d22 55%,#08090d66),linear-gradient(180deg,#08090d22,#08090d77);pointer-events:none}
@keyframes whpp-directory-drift{from{transform:scale(1.05) translate3d(-1%,0,0)}to{transform:scale(1.12) translate3d(1%,1%,0)}}
.whpp-portal [data-view="profile"]{background:transparent}
.whpp-player-profile:before{display:none}
.whpp-player-profile [data-profile-posts]{grid-column:1/-1;min-width:0}
.whpp-player-profile [data-profile-posts]:empty{display:none}
.whpp-portal.is-background-paused .whpp-directory-atmosphere>i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.whpp-directory-atmosphere>i{animation:none;transform:none}}
.whpp-player-profile,.whpp-locker-dashboard{position:relative;isolation:isolate}
.whpp-player-profile:before,.whpp-locker-dashboard:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(140deg,#090a10ed,#090a10f7),url('../images/atmosphere/game-night-header.webp') center/cover;opacity:.8}
.whpp-player-profile:after,.whpp-locker-dashboard:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 12%,#c8a45a20,transparent 42%),radial-gradient(ellipse at 85% 60%,#bda16912,transparent 45%);background-size:140% 140%;animation:whpp-premium-atmosphere 24s ease-in-out infinite alternate}
@keyframes whpp-premium-atmosphere{from{background-position:0% 0%}to{background-position:100% 80%}}
.whpp-player-profile .whpp-profile-hero{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);min-height:0;margin:0;border-radius:18px;padding:24px;gap:28px;align-items:center;perspective:none;transform-style:flat;border:1px solid #d0b16e30;background:linear-gradient(135deg,#1b1b23dc,#090a10f5);box-shadow:0 18px 65px #0005}
.whpp-player-profile .whpp-profile-image{width:100%;height:480px;min-height:0;margin:0;border-radius:12px;border:0;overflow:hidden;transform:none;animation:none;box-shadow:none;background:radial-gradient(ellipse at center,#c8a85a20,transparent 75%)}
.whpp-player-profile .whpp-profile-image:before,.whpp-player-profile .whpp-profile-image:after{display:none}
.whpp-player-profile .whpp-profile-image>img{width:100%;height:100%;position:relative;inset:auto;object-fit:contain;transform:none;filter:drop-shadow(0 15px 20px #0006)}
.whpp-player-profile .whpp-profile-content{padding:10px 0;min-width:0;align-items:flex-start;text-align:left;transform:none;animation:none}
.whpp-player-profile .whpp-profile-content h1{font-family:Kanit,Arial,sans-serif;font-size:clamp(34px,4.8vw,68px);font-weight:900;font-style:italic;line-height:1;letter-spacing:-.035em;margin:12px 0;overflow-wrap:anywhere}
.whpp-player-profile .whpp-profile-headline{font-size:14px;line-height:1.6;color:#c5c3bd}
.whpp-player-profile .whpp-profile-school{font-size:12px;letter-spacing:.08em;gap:10px}.whpp-player-profile .whpp-profile-school img{width:34px;height:34px;object-fit:contain}
.whpp-player-profile .whpp-social-counts{margin:10px 0;font-size:11px;flex-wrap:wrap;gap:9px}
.whpp-player-profile .whpp-profile-badges{gap:6px;margin:10px 0;justify-content:flex-start}.whpp-player-profile .whpp-profile-badges>span{font-size:10px;padding:5px 9px;border-radius:5px;background:#ffffff06;border:1px solid #ffffff16}
.whpp-player-profile .whpp-rating-zone{grid-template-columns:85px minmax(0,1fr);min-height:100px;padding:10px 14px;gap:15px;margin:10px 0;border-radius:10px;box-shadow:none;overflow:visible}
.whpp-player-profile .whpp-2k-rating{width:80px;min-height:78px;padding:7px;transform:none}.whpp-player-profile .whpp-2k-rating strong{font-size:39px;line-height:1}.whpp-player-profile .whpp-2k-rating span{font-size:9px}.whpp-player-profile .whpp-2k-rating small{font-size:7px;letter-spacing:.07em}
.whpp-player-profile .whpp-earned-badges{gap:8px;justify-content:flex-start}.whpp-player-profile .whpp-badge-art{width:40px;height:40px}.whpp-player-profile .whpp-no-badges{font-size:10px}.whpp-player-profile .whpp-rating-glow{opacity:.3}
.whpp-player-profile .whpp-stats-shell{width:100%;margin:10px 0 0;padding:0;border-radius:10px;overflow:hidden;background:#08090e70;border:1px solid #ffffff12}
.whpp-player-profile .whpp-stats-heading{padding:10px 12px;gap:8px;flex-wrap:wrap}.whpp-player-profile .whpp-stats-heading span,.whpp-player-profile .whpp-stats-heading small{font-size:9px;letter-spacing:.06em}
.whpp-player-profile .whpp-stats-shell .whpp-profile-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;width:100%!important;padding:0!important;margin:0!important;overflow:visible!important;touch-action:auto!important}
.whpp-player-profile .whpp-stat-card{grid-column:auto!important;min-width:0!important;width:auto!important;min-height:68px!important;padding:9px!important;border:0;border-top:1px solid #ffffff0b;border-radius:0!important;box-shadow:none;background:transparent!important}.whpp-player-profile .whpp-stat-card b{font-family:Kanit,Arial,sans-serif;font-weight:600;font-size:25px!important;line-height:1.2}.whpp-player-profile .whpp-stat-card small{font-size:9px!important;letter-spacing:.1em}
.whpp-player-profile .whpp-profile-jumps{display:flex;gap:8px;padding:16px 0;overflow-x:auto}.whpp-profile-jumps button{min-height:44px;white-space:nowrap;padding:10px 20px;border:1px solid #cfad6433;background:#18181fe8;color:#e8cf96;border-radius:7px;font:600 12px Kanit,Arial,sans-serif;cursor:pointer}.whpp-profile-jumps button:hover{background:#d4b675;color:#111}
.whpp-player-profile .whpp-profile-sections{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;margin:0;padding:0 0 65px;background:transparent}.whpp-player-profile .whpp-profile-column{min-width:0;display:grid;gap:16px;align-content:start}
.whpp-player-profile .whpp-profile-panel{padding:22px;margin:0;border-radius:12px;border:1px solid #ffffff13;background:linear-gradient(125deg,#1b1b24eb,#0d0e15ed);box-shadow:inset 0 1px #ffffff04;scroll-margin-top:170px}
.whpp-player-profile .whpp-profile-panel h3{display:block;padding:0 0 13px;margin:0 0 14px;min-height:0;font:600 18px/1.25 Kanit,Arial,sans-serif;text-transform:none;letter-spacing:0;border-bottom:1px solid #d1b16b22;color:#f1eee6;text-shadow:none}
.whpp-player-profile .whpp-profile-panel h3:before,.whpp-player-profile .whpp-profile-panel h3:after{display:none}
.whpp-player-profile .whpp-profile-panel p,.whpp-player-profile .whpp-profile-list{font-size:14px;line-height:1.7;color:#b8bac4}.whpp-player-profile .whpp-profile-list li{padding:10px 0;background:transparent}.whpp-player-profile .whpp-profile-feed{grid-column:1/-1}
.whpp-recruit-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.whpp-recruit-facts>div{padding:11px 0;border-bottom:1px solid #ffffff0c;min-width:0}.whpp-recruit-facts dt{font-size:10px;color:#9b9eab;text-transform:uppercase;letter-spacing:.09em}.whpp-recruit-facts dd{font:600 16px/1.5 Kanit,Arial,sans-serif;color:#f0ece1;margin:3px 0 0;overflow-wrap:anywhere}.whpp-recruit-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.whpp-recruit-links a{padding:10px 12px;color:#ecd59d;border:1px solid #d0b06a30;border-radius:6px;font-size:12px}
.whpp-player-profile .whpp-video-grid{display:block}.whpp-player-profile .whpp-profile-video video{width:100%;max-height:450px;object-fit:contain;background:#050506;border-radius:8px}
.whpp-locker-dashboard .whpp-locker-head{padding:20px 0;margin-bottom:12px;gap:14px}.whpp-locker-dashboard .whpp-locker-head h2{font:italic 900 34px/1 Kanit,Arial,sans-serif;margin:8px 0}.whpp-locker-dashboard .whpp-locker-head p{font-size:13px;margin:6px 0}.whpp-locker-dashboard .whpp-locker-status{padding:10px 14px;font-size:12px;border-radius:8px}
.whpp-locker-dashboard .whpp-locker-command{grid-template-columns:160px minmax(0,1fr);gap:16px}.whpp-locker-dashboard .whpp-locker-workspace{padding:20px;border:1px solid #ffffff12;border-radius:12px;background:#111219de;min-width:0}.whpp-locker-dashboard .whpp-panel-intro{margin-bottom:16px}.whpp-locker-dashboard .whpp-panel-intro h3{font:600 21px/1.3 Kanit,Arial,sans-serif;margin:6px 0}.whpp-locker-dashboard .whpp-panel-intro p{font-size:12px;line-height:1.6;max-width:620px}
.whpp-locker-dashboard .whpp-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.whpp-locker-dashboard .whpp-info-card{min-height:82px;padding:12px 44px 12px 13px;border-radius:8px;background:#ffffff03;box-shadow:none;border:1px solid #ffffff0e;min-width:0}.whpp-locker-dashboard .whpp-info-card>span{font-size:9px;letter-spacing:.08em;line-height:1.4}.whpp-locker-dashboard .whpp-info-card strong{display:block;margin-top:7px;font:500 15px/1.4 Kanit,Arial,sans-serif;overflow-wrap:anywhere}.whpp-locker-dashboard .whpp-info-card strong i{font-size:12px;color:#9295a1;font-style:normal;font-weight:400}.whpp-locker-dashboard .whpp-info-card button{right:3px;top:50%;transform:translateY(-50%);width:40px;height:44px;border:0;background:transparent;border-radius:6px}.whpp-locker-dashboard .whpp-info-card button:hover{background:#d1ae641a}.whpp-locker-dashboard .whpp-info-wide{grid-column:1/-1}.whpp-locker-dashboard .whpp-upload-card{padding:16px;margin-top:16px}.whpp-locker-dashboard .whpp-locker-tabs button{min-height:52px;padding:10px 12px;border-radius:8px}.whpp-locker-dashboard .whpp-locker-tabs small{font-size:10px}
@media(max-width:780px){.whpp-player-profile .whpp-profile-hero{grid-template-columns:1fr;gap:0;padding:20px 16px;border-radius:12px}.whpp-player-profile .whpp-profile-image{width:140px;height:160px;min-height:0;flex-basis:auto;margin:0 auto 10px;border-radius:10px}.whpp-player-profile .whpp-profile-content{width:100%;padding:8px 0;text-align:left;align-items:flex-start}.whpp-player-profile .whpp-profile-content h1{font-size:38px}.whpp-player-profile .whpp-profile-sections{grid-template-columns:1fr;gap:14px;padding-bottom:70px}.whpp-player-profile .whpp-profile-panel{padding:17px;scroll-margin-top:150px}.whpp-player-profile .whpp-profile-jumps{gap:6px}.whpp-profile-jumps button{padding:10px 16px}.whpp-player-profile .whpp-rating-zone{min-height:94px}.whpp-player-profile .whpp-stat-card{min-height:62px!important}.whpp-locker-dashboard .whpp-locker-command{display:block}.whpp-locker-dashboard .whpp-locker-tabs{display:flex;overflow-x:auto;gap:6px;margin-bottom:12px;padding:3px 0 9px;scrollbar-width:thin}.whpp-locker-dashboard .whpp-locker-tabs button{display:flex;flex:0 0 auto;min-width:72px;min-height:44px;padding:9px 12px;gap:6px}.whpp-locker-dashboard .whpp-locker-tabs small{display:none}.whpp-locker-dashboard .whpp-locker-tabs i{font-size:14px}.whpp-locker-dashboard .whpp-locker-tabs b{font-size:12px}.whpp-locker-dashboard .whpp-locker-workspace{padding:13px}.whpp-locker-dashboard .whpp-locker-head h2{font-size:29px}.whpp-locker-dashboard .whpp-locker-head{flex-wrap:wrap}.whpp-locker-dashboard .whpp-locker-profile-preview{margin:10px 0 14px}.whpp-locker-dashboard .whpp-info-card{min-height:82px}.whpp-locker-dashboard .whpp-info-card strong{font-size:14px}.whpp-locker-dashboard .whpp-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.whpp-player-profile:after,.whpp-locker-dashboard:after{animation:none}}
@font-face{font-family:Kanit;src:url('../fonts/kanit-medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Kanit;src:url('../fonts/kanit-semibold.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Kanit;src:url('../fonts/kanit-black-italic.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap}
.whpp-player-profile,.whpp-locker-dashboard{font-family:Kanit,Arial,sans-serif}.whpp-player-profile .whpp-profile-image>img{border-radius:0}.whpp-player-profile .whpp-profile-number{font-size:110px;bottom:0}.whpp-player-profile .whpp-profile-jumps button:focus-visible,.whpp-locker-dashboard button:focus-visible{outline:2px solid #f5d994;outline-offset:3px}
.whpp-locker-dashboard [hidden]{display:none!important}
/* Override legacy decorative heading rules on the profile only. */
.whpp-player-profile .whpp-profile-panel h3{font-family:Kanit,Arial,sans-serif!important;font-size:18px!important;font-weight:600!important;font-style:normal!important;line-height:1.3!important;padding:0 0 13px!important;min-height:0!important;margin:0 0 14px!important;color:#f1eee6!important;filter:none!important;text-shadow:none!important}
.whpp-player-profile .whpp-profile-panel h3:before,.whpp-player-profile .whpp-profile-panel h3:after{display:none!important;content:none!important}
.whpp-player-profile .whpp-stats-shell{width:100%!important;margin:10px 0 0!important}.whpp-player-profile .whpp-stat-card{border-radius:0!important;border:0!important;border-top:1px solid #ffffff0b!important}
.whpp-player-profile .whpp-profile-panel{min-height:0!important}.whpp-player-profile .whpp-profile-empty{margin:0!important;font-size:13px!important}

/* Season controls remain compact beside the player identity. */
.whpp-player-profile .whpp-profile-season-switch{display:flex;flex-wrap:wrap;gap:6px;max-width:100%;margin-left:auto}
.whpp-player-profile .whpp-profile-season-switch button{min-height:44px;padding:7px 10px;border:1px solid #d0b16e40;border-radius:6px;background:#101117c7;color:#d7d3c9;font:600 11px/1.25 Kanit,Arial,sans-serif;white-space:nowrap;cursor:pointer}
.whpp-player-profile .whpp-profile-season-switch button small{font-size:9px;text-transform:uppercase}
.whpp-player-profile .whpp-profile-season-switch button.is-selected{border-color:#dabc77;background:linear-gradient(135deg,#f0d492,#b89650);color:#15130e;box-shadow:0 2px 12px #c9a95a20}
.whpp-player-profile .whpp-profile-season-switch button:hover{border-color:#f0d492;color:#fff}
.whpp-player-profile .whpp-profile-season-switch button.is-selected:hover{color:#15130e}
.whpp-player-profile .whpp-profile-season-switch button:focus-visible{outline:2px solid #f5d994;outline-offset:3px}
.whpp-player-profile .whpp-profile-badges>.whpp-season-status{flex-basis:100%;border:0;background:none;padding:0;color:#e3c989;font-size:11px}
.whpp-player-profile .whpp-season-status:empty{display:none}
@media(max-width:780px){.whpp-player-profile .whpp-profile-season-switch{width:100%;margin:3px 0 0}}
