/* AURADO V4.7 — Aura Above All. Last-in cascade overrides old roster sizing rules.
   CSS-only visual improvements; no source photos modified. */
:root{--v47-rose:#ed405c;--v47-soft:#c4b5bd;--v47-card:#151217}
#team{scroll-margin-top:106px}
#team .section-top{margin-bottom:22px}
#team .section-top p{font-size:12px;max-width:240px}
#team .role-index{padding:12px 13px;gap:7px;margin-bottom:13px;border-radius:9px}
#team .role-index>span{font-size:9px}
#team .role-index b{font-size:9px;padding:6px 8px}
/* Roster: 4 balanced columns desktop; 2 accessible portrait cards on phones. */
#team .roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);align-items:stretch;margin-top:19px}
#team .roster-card.v47-roster-card{display:block;position:relative;min-width:0!important;width:100%;height:auto!important;min-height:0!important;aspect-ratio:4/5;border:1px solid rgba(255,255,255,.16);border-radius:12px;overflow:hidden;text-decoration:none;background:radial-gradient(ellipse at 47% 34%,color-mix(in srgb,var(--shade) 46%,transparent),transparent 72%),linear-gradient(155deg,#30222c,#100f15 83%);transition:transform .22s,border-color .22s,box-shadow .22s}
#team .roster-card.v47-roster-card:hover{transform:translateY(-4px);border-color:#ec4567;box-shadow:0 18px 35px #0007}
#team .roster-card.v47-roster-card:focus-visible{outline:2px solid #fff;outline-offset:3px}
#team .roster-card.v47-roster-card:before{background:linear-gradient(175deg,#ffffff08,transparent 38%);opacity:1;z-index:1;pointer-events:none}
#team .roster-card.v47-roster-card .card-avatar{position:absolute;inset:0 0 57px!important;left:0!important;bottom:57px!important;width:100%!important;height:auto!important;overflow:hidden;filter:none;z-index:0;display:flex;align-items:end;justify-content:center;background:radial-gradient(ellipse at 49% 55%,#a32f4a19,transparent 70%)}
#team .roster-card.v47-roster-card .card-avatar .player-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;transform-origin:center bottom;filter:saturate(.89) contrast(1.035);transition:transform .28s}
#team .roster-card.v47-roster-card:hover .card-avatar .player-photo{transform:scale(1.03)}
#team .roster-card.v47-roster-card .card-content{z-index:3;min-width:0;min-height:87px;inset-inline:0!important;bottom:0!important;align-items:end;gap:5px;padding:30px 13px 12px!important;background:linear-gradient(0deg,#0d0c11 0%,#0d0c11ed 52%,transparent 100%)!important}
#team .roster-card.v47-roster-card .card-content strong{font:800 clamp(22px,2.4vw,32px)/.96 'Barlow Condensed',sans-serif!important;letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere}
#team .roster-card.v47-roster-card .card-content small{font:800 9px/1.3 'DM Sans',sans-serif;letter-spacing:.12em;color:#d4acba;margin-top:7px}
#team .roster-card.v47-roster-card .card-num{top:8px;right:11px;font:900 clamp(45px,6vw,74px)/1 'Barlow Condensed',sans-serif;color:#ffffff0e;z-index:1}
#team .roster-card.v47-roster-card .card-arrow{flex:0 0 29px;width:29px;height:29px;border:1px solid #ffffff52;border-radius:7px;background:#251a23a8;font-size:17px;color:#f9ecf0}
#team .roster-card.v47-roster-card .player-photo-pending.v45-placeholder{height:100%;width:100%;border:0;background:radial-gradient(circle at 50% 50%,#7c243c35,transparent 65%)}
#team .roster-card.v47-roster-card .player-photo-pending.v45-placeholder:before{inset:12%;opacity:.35;border-radius:7px}
#team .roster-card.v47-roster-card .pending-mark{font-size:clamp(43px,6.2vw,68px)!important;opacity:.7}
/* Identity-specific PHOTO PRESENTATION presets, not face replacement or alteration. */
#team [data-portrait-player="yoboi"] .card-avatar{background:#251b23!important}
#team [data-portrait-player="yoboi"] img{object-fit:cover!important;object-position:center 25%!important;filter:brightness(.79) contrast(1.04) saturate(.77)!important}
#team [data-portrait-player="faker"] img{transform:scale(1.13);transform-origin:center bottom}
#team [data-portrait-player="faker"]:hover img{transform:scale(1.15)!important}
#team [data-portrait-player="aether"] img{transform:scale(.97)}
#team [data-portrait-player="stella"] img{transform:scale(.90)}
#team [data-portrait-player="mavie"] img{transform:scale(.91)}
#team [data-portrait-player="kye"] img{transform:scale(.89)}
#team .roster-card.v47-roster-card .card-content>div{min-width:0}
/* Advanced team tools are optional, not three permanent competing CTA buttons. */
.v47-team-tools{border-top:1px solid #ffffff1c;margin-top:22px;padding-top:9px}
.v47-team-tools summary{display:flex;justify-content:space-between;align-items:center;max-width:240px;cursor:pointer;color:#b7a5af;letter-spacing:.10em;font:800 11px 'DM Sans',sans-serif;list-style:none;padding:12px 0}
.v47-team-tools summary::-webkit-details-marker{display:none}.v47-team-tools[open] summary span{transform:rotate(180deg)}
.v47-team-tools .roster-bottom{border-top:0;padding:11px 0!important;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:20px!important}
.v47-team-tools .text-link{min-height:42px}
/* Hero featured carousel: image at bottom, clean meta; preserve V4.5 navigation and lazy-loading. */
.v45-player-card.v47-featured-card{border-radius:12px;background:#120e16}
.v47-featured-card .v45-player-art{height:clamp(235px,19.5vw,286px);background:radial-gradient(ellipse at 50% 43%,color-mix(in srgb,var(--shade) 24%,#341e29),#171218 63%,#100e13 100%)}
.v47-featured-card .v45-player-art:before{inset:14px;border-color:#ffffff10}
.v47-featured-card .v45-player-art>img{object-fit:contain;object-position:center bottom;width:100%;height:100%;filter:saturate(.88) contrast(1.045);transform-origin:center bottom}
.v47-featured-card .v45-player-art:after{background:linear-gradient(180deg,transparent 65%,rgba(10,8,13,.24))}
.v47-featured-card .v45-player-meta{padding:12px 14px;min-height:73px;gap:8px}
.v47-featured-card .v45-player-meta strong{font-size:clamp(24px,2.4vw,33px)}
.v47-featured-card .v45-player-meta small{font-size:9px;letter-spacing:.12em}
.v47-featured-card .v45-player-link{width:31px;height:31px;border-radius:8px}
.v47-featured-card .v45-player-no{top:21px;left:20px;opacity:.65;font-size:10px}
.v47-featured-card .v45-feature-art{background:radial-gradient(ellipse at center,#b32a4b18,transparent 67%)}
.v47-featured-card .v45-crest-graphic{font-size:clamp(47px,5vw,71px);opacity:.75}
.v47-featured-card[data-portrait-player="yoboi"] .v45-player-art{background:#2c2027}
.v47-featured-card[data-portrait-player="yoboi"] img{object-fit:cover;object-position:center 26%;filter:brightness(.81) saturate(.77) contrast(1.05)}
.v47-featured-card[data-portrait-player="faker"] img{transform:scale(1.15)}
.v47-featured-card[data-portrait-player="faker"]:hover img{transform:scale(1.18)}
.v47-featured-card[data-portrait-player="stella"] img{transform:scale(.88)}
.v47-featured-card[data-portrait-player="mavie"] img{transform:scale(.91)}
.v47-featured-card[data-portrait-player="kye"] img{transform:scale(.85)}
.v47-featured-card[data-portrait-player="aether"] img{transform:scale(.97)}
.v47-featured-card[data-portrait-player="stella"]:hover img{transform:scale(.90)}
.v47-featured-card[data-portrait-player="mavie"]:hover img{transform:scale(.93)}
.v47-featured-card[data-portrait-player="kye"]:hover img{transform:scale(.87)}
.v47-featured-card[data-portrait-player="aether"]:hover img{transform:scale(.99)}
.v45-featured-foot{margin-top:6px}
.v45-featured-foot span:first-child{letter-spacing:.1em}
/* Profile social icons, quotes, information hierarchy. */
.era-profile-hero.v47-player-profile{min-height:0;border-color:#ffffff20}
.v47-player-profile .era-profile-portrait{overflow:hidden;min-height:0;height:clamp(305px,37vw,485px);background:radial-gradient(circle at 50% 45%,#5f273b,#141117 70%)}
.v47-player-profile .era-profile-portrait .player-profile-photo{object-fit:contain;object-position:center bottom;filter:saturate(.9);max-width:100%}
.v47-player-profile[data-portrait-player="yoboi"] .era-profile-portrait .player-profile-photo{object-fit:cover;object-position:center 25%;filter:brightness(.86) saturate(.80)}
.v47-player-profile .era-profile-copy{padding:clamp(26px,4vw,56px)}
.v47-player-profile .era-profile-copy h1{font-size:clamp(57px,7.6vw,110px);overflow-wrap:anywhere}
.v47-socials{gap:9px;margin-top:20px;align-items:center}
.v47-socials a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff33;background:#211923c5;border-radius:10px;transition:background .18s,border-color .18s,transform .18s}
.v47-socials a svg{width:20px;height:20px}
.v47-socials a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.v47-socials a:hover{background:#b12241;border-color:#ff6a86;transform:translateY(-2px)}
.v47-quote{position:relative;max-width:550px;margin:19px 0 6px!important;padding:5px 0 5px 18px;border-left:2px solid var(--v47-rose);font:italic 500 clamp(15px,1.5vw,20px)/1.5 'DM Sans',sans-serif;color:#e7d8df}
.v47-spotlight-quote{font:italic 500 clamp(15px,1.4vw,20px)/1.55 'DM Sans',sans-serif;color:#e5cfd7;max-width:540px;margin:14px 0;padding-left:16px;border-left:2px solid #d94765}
.era-profile-grid .profile-stats>div{min-width:0;padding:clamp(11px,1.5vw,18px)}
.era-profile-grid .profile-stats>div strong{font-size:clamp(27px,4vw,44px)}
.v45-stats-note{margin-top:12px;color:#9f919a}
/* Avoid content being covered by the user's own bottom dock. Third-party Netlify overlay is outside site control. */
@media (max-width:1100px){#team .roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  #team .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  #team .roster-card.v47-roster-card{aspect-ratio:4/5;min-height:0!important;height:auto!important}
  #team .roster-card.v47-roster-card .card-avatar{inset:0 0 50px!important;height:auto!important;width:100%!important}
  #team .roster-card.v47-roster-card .card-content{min-height:74px;padding:25px 10px 11px!important}
  #team .roster-card.v47-roster-card .card-content strong{font-size:clamp(19px,5vw,26px)!important}
  #team .roster-card.v47-roster-card .card-content small{font-size:9px;margin-top:5px}
  #team .roster-card.v47-roster-card .card-arrow{width:26px;height:26px;flex-basis:26px;font-size:15px}
  #team .roster-card.v47-roster-card .card-num{font-size:clamp(36px,9vw,58px)}
  .v47-featured-card .v45-player-art{height:clamp(230px,62vw,305px)}
  .v47-featured-card .v45-player-meta{min-height:70px}
  .v47-featured-card .v45-player-meta strong{font-size:clamp(26px,7vw,34px)}
  #team{padding-bottom:105px}
  .era-detail-page .v47-player-profile .era-profile-portrait{height:clamp(265px,71vw,360px)!important}
  .era-detail-page .v47-player-profile .era-profile-copy h1{font-size:clamp(46px,13vw,78px)}
  .v47-socials a{height:40px;width:40px}
}
@media(max-width:360px){
  #team .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  #team .roster-card.v47-roster-card .card-content strong{font-size:clamp(18px,5.3vw,21px)!important}
  #team .roster-card.v47-roster-card .card-content{padding:21px 8px 10px!important}
  #team .roster-card.v47-roster-card .card-arrow{width:24px;height:24px;flex-basis:24px}
  .v47-featured-card .v45-player-art{height:232px}
}
@media(prefers-reduced-motion:reduce){#team .roster-card.v47-roster-card,.v47-featured-card img,.v47-socials a{transition:none!important}}

/* V4.8 targeted fix: remove ONLY the redundant inner photo outline in homepage FEATURED PLAYERS. Official roster is unchanged. */
.v45-featured .v45-player-art::before,.v47-featured-card .v45-player-art::before{display:none!important;border:0!important}
