/* ==========================================================================
   GGU Stats 0.9.0 — Player Profile Redesign
   Scoped entirely to .ggu-player-profile / player-page components.
   ========================================================================== */

.ggu-player-profile{
    --pp-panel:rgba(26,29,39,.68);
    --pp-panel-strong:rgba(26,29,39,.86);
    --pp-panel-alt:rgba(34,38,51,.72);
    --pp-border:rgba(220,223,230,.09);
    --pp-gold:#ffb300;
    --pp-gold-hi:#ffc126;
    --pp-muted:#8a8f9c;
    --pp-text:#dcdfe6;
    --pp-green:#3ecf8e;
    --pp-red:#e05260;
    --pp-radius:10px;
    display:block;
    width:100%;
}

.ggu-player-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    gap:18px;
    align-items:stretch;
    margin:0 0 14px;
}

.ggu-player-hero-main,
.ggu-player-rank-panel,
.ggu-player-panel,
.ggu-player-section,
.ggu-player-livebar{
    background:var(--pp-panel);
    border:1px solid var(--pp-border);
    border-radius:var(--pp-radius);
    box-shadow:0 10px 32px rgba(0,0,0,.28);
    backdrop-filter:blur(18px) saturate(140%);
}

.ggu-player-hero-main{
    display:flex;
    align-items:center;
    gap:22px;
    min-width:0;
    padding:22px 24px;
}

.ggu-player-avatar-wrap{
    position:relative;
    flex:0 0 auto;
}

.ggu-player-avatar{
    display:block;
    width:124px;
    height:124px;
    object-fit:cover;
    border-radius:50%;
    border:3px solid rgba(255,179,0,.55);
    box-shadow:
        0 0 0 5px rgba(255,179,0,.07),
        0 0 22px rgba(255,179,0,.22);
}

.ggu-player-avatar--fallback{
    display:grid;
    place-items:center;
    background:var(--pp-panel-alt);
    color:var(--pp-gold);
    font-size:42px;
    font-weight:800;
}

.ggu-player-presence{
    position:absolute;
    right:-7px;
    bottom:4px;
    padding:4px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    border:2px solid #12141c;
}
.ggu-player-presence.is-online{background:var(--pp-green);color:#08130d}
.ggu-player-presence.is-offline{background:#343945;color:#c6c9d0}

.ggu-player-identity{
    min-width:0;
    flex:1 1 auto;
}
.ggu-player-identity h1{
    margin:6px 0 6px;
    font-size:clamp(28px,4vw,46px);
    line-height:1.02;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
}
.ggu-player-subtitle{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    margin:0 0 10px;
    color:var(--pp-muted);
}
.ggu-player-badges{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
}
.ggu-player-badge{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:3px 9px;
    border:1px solid rgba(255,179,0,.28);
    border-radius:999px;
    background:rgba(255,179,0,.08);
    color:var(--pp-gold-hi);
    font-size:11px;
    font-weight:700;
}
.ggu-player-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:15px;
}
.ggu-player-actions .button{
    min-height:34px;
    padding:7px 12px!important;
    font-size:12px;
}

.ggu-player-rank-panel{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:20px;
    text-align:center;
    background:
        radial-gradient(circle at 50% 0,rgba(255,179,0,.12),transparent 56%),
        var(--pp-panel-strong);
}
.ggu-player-rank-panel>span,
.ggu-player-rank-skill span{
    color:var(--pp-muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
}
.ggu-player-rank-panel>strong{
    margin:4px 0 0;
    color:var(--pp-gold-hi);
    font-size:44px;
    line-height:1;
}
.ggu-player-rank-panel>small{
    margin-top:5px;
    color:var(--pp-muted);
}
.ggu-player-rank-skill{
    width:100%;
    margin-top:15px;
    padding-top:13px;
    border-top:1px solid var(--pp-border);
}
.ggu-player-rank-skill b{
    display:block;
    margin-top:2px;
    font-size:22px;
}
.ggu-player-rank-move{
    margin-top:8px;
    font-size:11px;
    color:var(--pp-muted);
}
.ggu-player-rank-move.is-up{color:var(--pp-green)}
.ggu-player-rank-move.is-down{color:var(--pp-red)}

.ggu-player-career-strip{
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    overflow:hidden;
    margin:0 0 14px;
    background:var(--pp-panel);
    border:1px solid var(--pp-border);
    border-radius:var(--pp-radius);
}
.ggu-player-career-strip--section{
    margin:0;
    grid-template-columns:repeat(8,minmax(100px,1fr));
}
.ggu-player-stat{
    min-width:0;
    padding:13px 14px;
    border-right:1px solid var(--pp-border);
}
.ggu-player-stat:last-child{border-right:0}
.ggu-player-stat span{
    display:block;
    color:var(--pp-muted);
    font-size:9px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.ggu-player-stat strong{
    display:block;
    margin-top:3px;
    font-size:18px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.ggu-player-stat small{
    display:block;
    margin-top:2px;
    color:var(--pp-muted);
    font-size:10px;
}

.ggu-player-primary-tabs{
    margin:0 0 16px;
}
.ggu-player-primary-tabs .tabs{
    margin-bottom:0!important;
}
.ggu-player-primary-tabs .tabs a{
    min-height:46px!important;
    font-size:13px!important;
}

.ggu-player-livebar{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) repeat(3,90px);
    gap:14px;
    align-items:center;
    padding:12px 16px;
    margin-bottom:14px;
    border-color:rgba(62,207,142,.24);
}
.ggu-player-livebar>div:first-of-type strong,
.ggu-player-livebar>div:first-of-type small{
    display:block;
}
.ggu-player-livebar>div:first-of-type small{color:var(--pp-muted)}
.ggu-player-livebar>div:not(:first-of-type){
    text-align:right;
}
.ggu-player-livebar b{display:block;font-size:16px}
.ggu-player-livebar span:not(.status-dot){color:var(--pp-muted);font-size:9px;text-transform:uppercase}

.ggu-player-dashboard-grid{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr);
    gap:14px;
}
.ggu-player-panel{
    min-width:0;
    padding:16px;
}
.ggu-player-panel--wide{
    grid-column:span 1;
}
.ggu-player-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.ggu-player-panel-head span,
.ggu-player-section-title>span{
    display:block;
    color:var(--pp-gold);
    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
}
.ggu-player-panel-head h2,
.ggu-player-section-title h2{
    margin:6px 0 0;
    font-size:18px;
}
.ggu-player-panel-head a{
    color:var(--pp-gold);
    font-size:11px;
    font-weight:700;
}
.ggu-player-panel-head>small{color:var(--pp-muted)}
.ggu-player-panel .chart-card{
    margin:0;
    min-height:300px;
    background:rgba(10,12,18,.18)!important;
    box-shadow:none!important;
}

.ggu-player-trend-footer{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:10px;
    border-top:1px solid var(--pp-border);
}
.ggu-player-trend-footer .ggu-player-stat{padding-bottom:0}

.ggu-player-period-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:12px;
}
.ggu-player-period-card{
    padding:12px;
    background:var(--pp-panel-alt);
    border:1px solid var(--pp-border);
    border-radius:8px;
}
.ggu-player-period-card span{
    display:block;
    color:var(--pp-gold);
    font-size:9px;
    font-weight:800;
    letter-spacing:.09em;
}
.ggu-player-period-card strong{
    display:block;
    margin:3px 0;
    font-size:16px;
}
.ggu-player-period-card small{color:var(--pp-muted)}

.ggu-player-mini-list{
    display:grid;
    gap:7px;
}
.ggu-player-mini-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-width:0;
    padding:9px 10px;
    color:var(--pp-text);
    border:1px solid transparent;
    border-radius:7px;
    background:rgba(255,255,255,.018);
    text-decoration:none;
}
.ggu-player-mini-row:hover{
    background:var(--pp-panel-alt);
    border-color:rgba(255,179,0,.24);
}
.ggu-player-mini-row>span{min-width:0}
.ggu-player-mini-row strong,
.ggu-player-mini-row small{display:block}
.ggu-player-mini-row strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ggu-player-mini-row small{
    margin-top:2px;
    color:var(--pp-muted);
    font-size:10px;
}
.ggu-player-mini-row>b{
    flex:0 0 auto;
    color:var(--pp-gold-hi);
    font-size:12px;
}

.ggu-player-weapon-showcase{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.ggu-player-weapon-showcase>a{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    padding:9px;
    color:var(--pp-text);
    text-decoration:none;
    background:rgba(255,255,255,.018);
    border:1px solid transparent;
    border-radius:7px;
}
.ggu-player-weapon-showcase>a:hover{border-color:rgba(255,179,0,.24);background:var(--pp-panel-alt)}
.ggu-player-weapon-showcase img{
    width:46px;
    height:32px;
    object-fit:contain;
}
.ggu-player-weapon-showcase span{min-width:0}
.ggu-player-weapon-showcase strong,
.ggu-player-weapon-showcase small{display:block}
.ggu-player-weapon-showcase strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}
.ggu-player-weapon-showcase small{color:var(--pp-muted);font-size:9px}

.ggu-player-award-showcase{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.ggu-player-award-showcase article{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    padding:10px;
    background:var(--pp-panel-alt);
    border:1px solid var(--pp-border);
    border-radius:8px;
}
.ggu-player-award-showcase img{
    width:44px;
    height:44px;
    object-fit:contain;
}
.ggu-player-award-showcase span{min-width:0}
.ggu-player-award-showcase strong,
.ggu-player-award-showcase small{display:block}
.ggu-player-award-showcase strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
}
.ggu-player-award-showcase small{color:var(--pp-muted);font-size:9px}

.ggu-player-section{
    margin:0 0 14px;
    padding:17px;
}
.ggu-player-section-title{
    margin-bottom:13px;
}
.ggu-player-section-title h2{font-size:20px}
.ggu-player-section-title p{
    margin:3px 0 0;
    color:var(--pp-muted);
    font-size:11px;
}

.ggu-player-two-column{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:14px;
}

.ggu-player-weapon-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.ggu-player-weapon-card{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:12px;
    color:var(--pp-text);
    background:var(--pp-panel-alt);
    border:1px solid var(--pp-border);
    border-radius:8px;
    text-decoration:none;
}
.ggu-player-weapon-card:hover{
    transform:translateY(-2px);
    border-color:rgba(255,179,0,.34);
}
.ggu-player-weapon-card img{
    width:64px;
    height:42px;
    object-fit:contain;
}
.ggu-player-weapon-card div{min-width:0}
.ggu-player-weapon-card strong,
.ggu-player-weapon-card span,
.ggu-player-weapon-card small{display:block}
.ggu-player-weapon-card strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ggu-player-weapon-card span{margin-top:2px;font-size:11px}
.ggu-player-weapon-card small{margin-top:2px;color:var(--pp-muted);font-size:9px}

.ggu-player-award-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.ggu-player-award-card{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:12px;
    background:var(--pp-panel-alt);
    border:1px solid var(--pp-border);
    border-radius:8px;
}
.ggu-player-award-card img{
    width:58px;
    height:58px;
    flex:0 0 58px;
    object-fit:contain;
}
.ggu-player-award-card>div{min-width:0}
.ggu-player-award-card strong,
.ggu-player-award-card span,
.ggu-player-award-card small{display:block}
.ggu-player-award-card strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ggu-player-award-card span,
.ggu-player-award-card small{margin-top:3px;color:var(--pp-muted);font-size:10px}

.ggu-player-achievement-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.ggu-player-achievement-card{
    display:grid;
    grid-template-columns:62px minmax(0,1fr);
    gap:12px;
    padding:13px;
    background:var(--pp-panel-alt);
    border:1px solid var(--pp-border);
    border-radius:8px;
}
.ggu-player-achievement-card.is-locked{opacity:.52;filter:saturate(.35)}
.ggu-player-achievement-icon{
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    background:rgba(255,179,0,.06);
    border-radius:8px;
}
.ggu-player-achievement-icon img{max-width:48px;max-height:48px}
.ggu-player-achievement-copy>span{
    color:var(--pp-gold);
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}
.ggu-player-achievement-copy>strong{display:block;margin-top:1px}
.ggu-player-achievement-copy p{margin:3px 0 7px;color:var(--pp-muted);font-size:10px}
.ggu-player-achievement-copy small{display:block;margin-top:5px;color:var(--pp-muted);font-size:9px}
.ggu-player-achievement-progress{
    height:5px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.06);
}
.ggu-player-achievement-progress i{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#ffb300,#ffc126);
    border-radius:inherit;
}

.ggu-player-profile .detail-list{
    margin:0;
}
.ggu-player-profile .detail-list>div{
    padding:9px 0;
    border-bottom:1px solid var(--pp-border);
}
.ggu-player-profile .detail-list>div:last-child{border-bottom:0}

.ggu-player-profile .table-card,
.ggu-player-profile .table-scroll{
    max-width:100%;
}
.ggu-player-profile table{
    width:100%;
}
.ggu-player-profile th,
.ggu-player-profile td{
    padding-top:10px!important;
    padding-bottom:10px!important;
}

@media(min-width:1180px){
    .ggu-player-dashboard-grid>.ggu-player-panel:nth-child(1){
        grid-row:span 2;
    }
}

@media(max-width:1180px){
    .ggu-player-career-strip{
        grid-template-columns:repeat(4,1fr);
    }
    .ggu-player-stat:nth-child(4n){border-right:0}
    .ggu-player-stat:nth-child(-n+4){border-bottom:1px solid var(--pp-border)}
    .ggu-player-dashboard-grid{
        grid-template-columns:1fr 1fr;
    }
    .ggu-player-panel--wide{grid-column:span 2}
    .ggu-player-award-grid{grid-template-columns:repeat(3,1fr)}
    .ggu-player-weapon-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:820px){
    .ggu-player-hero{
        grid-template-columns:1fr;
    }
    .ggu-player-rank-panel{
        display:grid;
        grid-template-columns:1fr 1fr;
        text-align:left;
        align-items:center;
    }
    .ggu-player-rank-panel>strong{font-size:34px}
    .ggu-player-rank-skill{
        margin:0;
        padding:0 0 0 16px;
        border-top:0;
        border-left:1px solid var(--pp-border);
    }
    .ggu-player-rank-move{grid-column:1/-1}
    .ggu-player-dashboard-grid,
    .ggu-player-two-column{
        grid-template-columns:1fr;
    }
    .ggu-player-panel--wide{grid-column:auto}
    .ggu-player-award-showcase{grid-template-columns:1fr 1fr}
    .ggu-player-award-grid{grid-template-columns:1fr 1fr}
    .ggu-player-achievement-grid{grid-template-columns:1fr}
    .ggu-player-livebar{
        grid-template-columns:auto minmax(0,1fr) repeat(2,64px);
    }
    .ggu-player-livebar>div:last-child{display:none}
}

@media(max-width:620px){
    .ggu-player-hero-main{
        align-items:flex-start;
        padding:16px;
        gap:14px;
    }
    .ggu-player-avatar{width:86px;height:86px}
    .ggu-player-identity h1{font-size:27px}
    .ggu-player-actions{gap:6px}
    .ggu-player-actions .button{padding:6px 9px!important}
    .ggu-player-career-strip{
        grid-template-columns:repeat(2,1fr);
    }
    .ggu-player-stat{
        border-bottom:1px solid var(--pp-border)!important;
    }
    .ggu-player-stat:nth-child(even){border-right:0}
    .ggu-player-stat:nth-last-child(-n+2){border-bottom:0!important}
    .ggu-player-primary-tabs{
        overflow-x:auto;
        scrollbar-width:none;
    }
    .ggu-player-primary-tabs::-webkit-scrollbar{display:none}
    .ggu-player-primary-tabs .tabs{
        min-width:max-content;
    }
    .ggu-player-weapon-showcase,
    .ggu-player-weapon-grid,
    .ggu-player-award-showcase,
    .ggu-player-award-grid{
        grid-template-columns:1fr;
    }
    .ggu-player-livebar{
        grid-template-columns:auto 1fr;
    }
    .ggu-player-livebar>div:not(:first-of-type){display:none}
    .ggu-player-period-grid{grid-template-columns:1fr}
    .ggu-player-trend-footer{grid-template-columns:1fr}
    .ggu-player-trend-footer .ggu-player-stat{
        border-right:0;
        border-bottom:1px solid var(--pp-border);
    }
    .ggu-player-trend-footer .ggu-player-stat:last-child{border-bottom:0}
}


/* ==========================================================================
   GGU STATS 1.0.3 — PLAYER PROFILE ELEMENT SPACING
   ========================================================================== */

/* Small gold context labels should not visually touch the section heading. */
.gguStats .ggu-player-panel-head > div > span,
.gguStats .ggu-player-section-title > span,
.gguStats .ggu-player-identity > .eyebrow{
    margin-bottom:5px!important;
}

/* Prevent collapsed-looking label/value stacks in compact cards. */
.gguStats .ggu-player-period-card > span{
    margin-bottom:4px!important;
}
.gguStats .ggu-player-period-card > strong{
    margin-top:0!important;
    margin-bottom:4px!important;
}

/* Career strip label/value/subtext spacing. */
.gguStats .ggu-player-stat > span{
    margin-bottom:4px!important;
}
.gguStats .ggu-player-stat > strong{
    margin-top:0!important;
}
.gguStats .ggu-player-stat > small{
    margin-top:4px!important;
}

/* Milestone and percentile card label/value spacing. */
.gguStats .ggu-milestone > span,
.gguStats .ggu-percentile-grid article > span{
    margin-bottom:5px!important;
}
.gguStats .ggu-milestone > strong,
.gguStats .ggu-percentile-grid article > strong{
    margin-top:0!important;
}


/* ==========================================================================
   GGU STATS 1.0.4 — OVERVIEW PANEL GAPS
   The dashboard uses grid-gap, but the two full-width sections immediately
   after it are standalone siblings. Give those siblings the same 14px rhythm.
   ========================================================================== */

.gguStats .ggu-player-dashboard-grid + .ggu-player-overview-section{
    margin-top:14px!important;
}

.gguStats .ggu-player-overview-section + .ggu-player-overview-section{
    margin-top:14px!important;
}

/* Keep the same separation when responsive rules flatten the dashboard. */
@media (max-width: 760px){
    .gguStats .ggu-player-dashboard-grid + .ggu-player-overview-section,
    .gguStats .ggu-player-overview-section + .ggu-player-overview-section{
        margin-top:12px!important;
    }
}
