/* RAIET v1.48.5.9 — authenticated player-facing home hub.
   Page-specific by design: keep hero/main.css composition untouched. */
.player-hub{
  display:grid;
  grid-template-columns:minmax(300px,1.02fr) minmax(390px,1.34fr) minmax(260px,.84fr);
  gap:12px;
  padding:22px 34px 0;
}
.player-hub-card{
  position:relative;
  min-height:190px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.085);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(12,16,22,.985),rgba(6,9,13,.985));
  box-shadow:0 16px 38px rgba(0,0,0,.22);
}
.player-hub-kicker,.player-hub-head span{
  display:block;
  color:#8b96a2;
  font-size:8px;
  line-height:1;
  font-weight:950;
  letter-spacing:.72px;
  text-transform:uppercase;
}
.player-hub-kicker b,.player-hub-head span b{color:#ed1717;font-size:10px}

/* Personal identity / game card */
.player-hub-identity{isolation:isolate}
.player-hub-game-art{position:absolute;z-index:0;inset:0 0 0 39%;overflow:hidden;background:
  radial-gradient(circle at 58% 42%,rgba(237,23,23,.12),transparent 48%),
  linear-gradient(145deg,#111821,#080b10)}
.player-hub-game-art img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.08) brightness(.72);opacity:.83}
.player-hub-game-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080b10 0%,rgba(8,11,16,.72) 18%,rgba(8,11,16,.08) 55%),linear-gradient(180deg,rgba(5,7,10,.04),rgba(5,7,10,.52))}
.player-hub-game-art.is-voxel{background:linear-gradient(145deg,#152019,#080d0a)}
.player-hub-game-art.is-voxel:before,.player-hub-game-art.is-voxel i,.player-hub-game-art.is-voxel b{content:"";position:absolute;display:block;transform:rotate(18deg);border-radius:3px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.player-hub-game-art.is-voxel:before{width:74px;height:74px;right:14%;top:16%;background:linear-gradient(135deg,#425842 0 50%,#253427 50%)}
.player-hub-game-art.is-voxel i{width:48px;height:48px;right:38%;top:45%;background:linear-gradient(135deg,#6c5436 0 50%,#3b2c1d 50%)}
.player-hub-game-art.is-voxel b{width:35px;height:35px;right:10%;bottom:12%;background:linear-gradient(135deg,#646d73 0 50%,#343b40 50%)}
.player-hub-identity-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(6,9,13,.995) 0%,rgba(6,9,13,.96) 46%,rgba(6,9,13,.38) 77%,rgba(6,9,13,.16) 100%)}
.player-hub-identity-copy{position:relative;z-index:2;min-height:190px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.player-hub-playerline{display:flex;align-items:center;gap:11px;margin-top:11px;min-width:0}
.player-hub-avatar{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border:1px solid rgba(237,23,23,.35);border-radius:50%;background:linear-gradient(145deg,#252c34,#0e1319);box-shadow:0 0 0 5px rgba(237,23,23,.035);color:#fff;font-size:16px;font-weight:950}
.player-hub-playerline>div{min-width:0}.player-hub-playerline strong,.player-hub-playerline small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-hub-playerline strong{font-size:15px;color:#fff}.player-hub-playerline small{margin-top:3px;color:#a1abb5;font-size:9px;font-weight:800}
.player-hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0 11px}
.player-hub-stats>div{min-width:0;padding:8px 9px;border:1px solid rgba(255,255,255,.065);border-radius:9px;background:rgba(5,8,12,.55)}
.player-hub-stats strong,.player-hub-stats span{display:block}.player-hub-stats strong{font-size:14px;color:#fff}.player-hub-stats span{margin-top:2px;color:#7e8994;font-size:6.8px;font-weight:950;letter-spacing:.42px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-hub-profile-link{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;color:#dbe1e6;font-size:9px;font-weight:950;letter-spacing:.35px;text-transform:uppercase}.player-hub-profile-link b{color:#ed1717;font-size:15px;line-height:1}.player-hub-profile-link:hover{color:#fff}

/* Squad radar */
.player-hub-radar,.player-hub-next{padding:16px 17px}
.player-hub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.player-hub-head h2{margin:5px 0 0;color:#fff;font-size:13px;letter-spacing:.38px}.player-hub-head>a{color:#8d98a3;font-size:8.5px;font-weight:900;letter-spacing:.35px;text-transform:uppercase}.player-hub-head>a:hover{color:#fff}
.player-hub-friend-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.player-hub-friend{min-width:0;min-height:58px;padding:8px 9px;display:grid;grid-template-columns:38px minmax(0,1fr) 12px;gap:9px;align-items:center;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.012));transition:transform .16s ease,border-color .16s ease,background .16s ease}
.player-hub-friend:hover{transform:translateY(-1px);border-color:rgba(237,23,23,.25);background:rgba(237,23,23,.035)}
.player-hub-friend-avatar{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:#151b22;color:#fff;font-size:12px;font-weight:950}.player-hub-friend-avatar i{position:absolute;right:-1px;bottom:1px;width:9px;height:9px;border:2px solid #0b0f14;border-radius:50%;background:#54d88a}.player-hub-friend-avatar i.status-in_lobby{background:#56a8ff;box-shadow:0 0 7px rgba(86,168,255,.45)}.player-hub-friend-avatar i.status-in_match{background:#ed1717;box-shadow:0 0 7px rgba(237,23,23,.52)}
.player-hub-friend-copy{min-width:0}.player-hub-friend-copy strong,.player-hub-friend-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-hub-friend-copy strong{color:#eef2f5;font-size:10px}.player-hub-friend-copy small{margin-top:4px;color:#7f8b96;font-size:7.8px;font-weight:800}.player-hub-friend>b{color:#6d7781;font-size:14px}.player-hub-friend:hover>b{color:#ed1717}
.player-hub-radar-empty{min-height:117px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:13px;align-items:center;padding:8px 4px}
.player-hub-radar-empty>div strong,.player-hub-radar-empty>div small{display:block}.player-hub-radar-empty>div strong{font-size:11px;color:#eef2f5}.player-hub-radar-empty>div small{margin-top:4px;max-width:270px;color:#7f8a95;font-size:8px;line-height:1.45}.player-hub-radar-empty>a{min-height:35px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.025);color:#d9dfe4;font-size:8.5px;font-weight:950;text-transform:uppercase}.player-hub-radar-empty>a:hover{border-color:rgba(237,23,23,.28);background:rgba(237,23,23,.05)}
.player-hub-radar-ring{position:relative;width:52px;height:52px;border:1px solid rgba(84,216,138,.2);border-radius:50%;background:radial-gradient(circle,rgba(84,216,138,.08),transparent 64%)}.player-hub-radar-ring:before,.player-hub-radar-ring:after{content:"";position:absolute;background:rgba(84,216,138,.15)}.player-hub-radar-ring:before{left:50%;top:5px;bottom:5px;width:1px}.player-hub-radar-ring:after{top:50%;left:5px;right:5px;height:1px}.player-hub-radar-ring i{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#54d88a;box-shadow:0 0 10px rgba(84,216,138,.7);transform:translate(8px,-13px)}

/* Next move */
.player-hub-next{display:flex;flex-direction:column}.player-hub-next .player-hub-head{margin-bottom:8px}.player-hub-next-copy,.player-hub-current{flex:1;display:flex;flex-direction:column;justify-content:center}.player-hub-next-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:10px;border:1px solid rgba(237,23,23,.25);border-radius:50%;background:rgba(237,23,23,.05);color:#ed1717;font-size:20px}.player-hub-next-copy strong,.player-hub-current>strong{color:#fff;font-size:12px}.player-hub-next-copy small,.player-hub-current>small{margin-top:4px;color:#7f8a95;font-size:8px;line-height:1.42}.player-hub-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.player-hub-match-form{display:block;margin:0}.player-hub-match-form .player-hub-primary{width:100%;font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}
.player-hub-primary,.player-hub-secondary{min-height:36px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;font-size:8.5px;font-weight:950;letter-spacing:.32px;text-align:center;text-transform:uppercase}.player-hub-primary{border:1px solid rgba(237,23,23,.45);background:linear-gradient(135deg,#a20b0f,#dd1717 60%,#8a090c);color:#fff;box-shadow:0 8px 20px rgba(141,9,13,.18)}.player-hub-primary:hover{filter:brightness(1.06)}.player-hub-primary b{font-size:14px}.player-hub-secondary{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02);color:#c5cdd4}.player-hub-secondary:hover{border-color:rgba(255,255,255,.17);color:#fff}
.player-hub-current-state{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-bottom:9px;padding:5px 8px;border:1px solid rgba(84,216,138,.2);border-radius:999px;background:rgba(84,216,138,.05);color:#74e4a0;font-size:7.5px;font-weight:950;letter-spacing:.45px;text-transform:uppercase}.player-hub-current-state i{width:6px;height:6px;border-radius:50%;background:#54d88a;box-shadow:0 0 8px rgba(84,216,138,.5)}.player-hub-current-state.live{border-color:rgba(237,23,23,.25);background:rgba(237,23,23,.055);color:#ff6969}.player-hub-current-state.live i{background:#ed1717;box-shadow:0 0 8px rgba(237,23,23,.55)}.player-hub-current .player-hub-primary{margin-top:auto;width:100%}

@media(max-width:1180px){
  .player-hub{grid-template-columns:1fr 1.25fr}.player-hub-next{grid-column:1/-1;min-height:150px}.player-hub-next-copy,.player-hub-current{max-width:620px}.player-hub-actions{max-width:460px}
}
@media(max-width:860px){
  .player-hub{grid-template-columns:1fr;padding-left:22px;padding-right:22px}.player-hub-next{grid-column:auto}.player-hub-card{min-height:0}.player-hub-identity-copy{min-height:184px}.player-hub-radar-empty{grid-template-columns:52px minmax(0,1fr)}.player-hub-radar-empty>a{grid-column:1/-1;width:100%}
}
@media(max-width:560px){
  .player-hub{padding:16px 13px 0;gap:10px}.player-hub-radar,.player-hub-next{padding:14px}.player-hub-identity-copy{padding:15px}.player-hub-game-art{inset:0 0 0 26%;opacity:.82}.player-hub-identity-shade{background:linear-gradient(90deg,rgba(6,9,13,.995) 0%,rgba(6,9,13,.92) 58%,rgba(6,9,13,.32) 100%)}.player-hub-friend-list{grid-template-columns:1fr}.player-hub-stats{gap:6px}.player-hub-stats>div{padding:7px}.player-hub-stats span{font-size:6.3px}.player-hub-actions{grid-template-columns:1fr}.player-hub-radar-empty{grid-template-columns:1fr;text-align:center}.player-hub-radar-ring{margin:0 auto}.player-hub-radar-empty>a{grid-column:auto}
}

/* RAIET v1.48.5.10 — Player Hub smart-match feedback */
.player-hub-match-status{margin:0 0 10px;padding:9px 10px;border:1px solid rgba(255,255,255,.075);border-radius:9px;background:rgba(255,255,255,.025)}
.player-hub-match-status strong,.player-hub-match-status small{display:block}
.player-hub-match-status strong{color:#f2f4f6;font-size:9px;font-weight:950;letter-spacing:.25px;text-transform:uppercase}
.player-hub-match-status small{margin-top:4px;color:#89949f;font-size:8px;font-weight:750;line-height:1.4}

/* RAIET v1.48.5.11 — Player Hub no-match stays actionable in place */
.player-hub-no-match{flex:1;display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0 8px}
.player-hub-no-match-radar{position:relative;width:46px;height:46px;display:block;border:1px solid rgba(237,23,23,.22);border-radius:50%;background:radial-gradient(circle,rgba(237,23,23,.08),transparent 66%)}
.player-hub-no-match-radar:before,.player-hub-no-match-radar:after{content:"";position:absolute;background:rgba(237,23,23,.14)}
.player-hub-no-match-radar:before{left:50%;top:5px;bottom:5px;width:1px}
.player-hub-no-match-radar:after{top:50%;left:5px;right:5px;height:1px}
.player-hub-no-match-radar i{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#ed1717;box-shadow:0 0 11px rgba(237,23,23,.65);transform:translate(8px,-12px)}
.player-hub-no-match strong,.player-hub-no-match small{display:block}
.player-hub-no-match strong{color:#f3f5f7;font-size:11px;font-weight:950;letter-spacing:.2px}
.player-hub-no-match small{margin-top:4px;max-width:300px;color:#89949f;font-size:8px;font-weight:750;line-height:1.45}
.player-hub-actions-no-match{margin-top:auto}
.player-hub-match-form .player-hub-secondary{width:100%;font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}
@media (max-width:560px){.player-hub-no-match{grid-template-columns:44px minmax(0,1fr)}.player-hub-no-match-radar{width:42px;height:42px}}

/* RAIET v1.48.5.13 — Player Hub async Find Match: in-place state, zero scroll/navigation on no match. */
.player-hub-next [data-player-hub-default-state][hidden],
.player-hub-next [data-player-hub-no-match-state][hidden],
.player-hub-next [data-player-hub-match-status][hidden]{display:none!important}
.player-hub-next[aria-busy="true"] .player-hub-match-form button{opacity:.68;cursor:wait}


/* Provider-backed RAIET avatars: same compact geometry, image only replaces initials. */
.player-hub-avatar.has-image,.player-hub-friend-avatar.has-image{overflow:hidden;padding:0}
.player-hub-avatar.has-image img,.player-hub-friend-avatar.has-image img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.player-hub-friend-avatar.has-image i{z-index:2}


/* RAIET v1.48.5.125 — provider avatars must never escape Player Hub geometry. */
.player-hub-avatar.has-image{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  flex:0 0 46px!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:50%!important;
  contain:paint;
}
.player-hub-friend-avatar.has-image{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:50%!important;
  contain:paint;
}
.player-hub-avatar.has-image>img,
.player-hub-friend-avatar.has-image>img{
  position:static!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
}
.player-hub-friend-avatar.has-image>i{z-index:2!important}


/* RAIET v1.48.5.144 — keep Player Hub visually separate from the hero. */
