
.fph2-player-page{
    --fh-page:#0d1724;
    --fh-panel:#142235;
    --fh-panel-soft:#1a2a3e;
    --fh-panel-raised:#1e3046;
    --fh-line:rgba(218,231,247,.115);
    --fh-text:#f4f7fb;
    --fh-soft:#dbe6f2;
    --fh-muted:#91a4ba;
    --fh-radius:18px;
    max-width:1180px;
    margin:0 auto;
    padding:16px;
    border-radius:28px;
    background:
        radial-gradient(circle at 14% 6%,rgba(var(--fph2-team-rgb),.13),transparent 25%),
        linear-gradient(180deg,#0f1b2a 0%,var(--fh-page) 100%);
    color:var(--fh-text);
    font-family:inherit
}
.fph2-player-page *{box-sizing:border-box}
.fph2-player-page a{color:inherit;text-decoration:none}

.fph2-player-hero{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) 370px;
    gap:24px;
    align-items:center;
    min-height:220px;
    padding:24px 26px;
    overflow:hidden;
    border:1px solid rgba(var(--fph2-team-accent-rgb),.16);
    border-radius:22px;
    background:
        radial-gradient(circle at 54% 32%,rgba(var(--fph2-team-accent-rgb),.10),transparent 14%),
        radial-gradient(circle at 92% 5%,rgba(255,255,255,.06),transparent 31%),
        linear-gradient(135deg,rgba(var(--fph2-team-rgb),.38) 0%,#111f30 72%);
    box-shadow:0 20px 60px rgba(0,0,0,.22)
}
.fph2-player-photo-wrap{display:flex;align-items:flex-end;justify-content:center;height:180px}
.fph2-player-photo{
    display:block;
    width:145px;
    max-height:180px;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))
}
.fph2-player-photo-placeholder{
    display:flex;
    width:120px;
    height:120px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--fh-line);
    border-radius:50%;
    background:rgba(255,255,255,.05);
    font-size:38px;
    font-weight:800
}
.fph2-player-kicker,.fph2-section-eyebrow{
    color:var(--fh-muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase
}
.fph2-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.fph2-player-name{
    margin:7px 0 0;
    color:var(--fh-text);
    font-size:clamp(32px,4.1vw,52px);
    font-weight:850;
    line-height:.98;
    letter-spacing:-.045em
}
.fph2-player-meta{margin-top:10px;color:var(--fh-soft);font-size:14px}
.fph2-team-logo{
    width:84px;
    height:84px;
    object-fit:contain;
    opacity:.98;
    flex:0 0 auto;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))
}
.fph2-player-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.fph2-badge{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:4px 9px;
    border:1px solid var(--fh-line);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    color:var(--fh-soft);
    font-size:10px;
    font-weight:750
}
.fph2-badge-strong{background:rgba(255,255,255,.10);color:#fff}

.fph2-hero-metrics{
    display:grid;
    grid-template-columns:1.12fr .88fr;
    grid-template-rows:repeat(6,minmax(0,1fr));
    gap:9px;
    align-self:stretch;
    min-height:254px
}
.fph2-hero-metric{
    padding:13px;
    border:1px solid rgba(var(--fph2-team-accent-rgb),.12);
    border-radius:13px;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03))
}
.fph2-hero-metric span{
    display:block;
    color:var(--fh-muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase
}
.fph2-hero-metric strong{display:block;margin-top:5px;font-size:24px;line-height:1.05;font-weight:850}
.fph2-hero-metric em{
    display:block;
    margin-top:7px;
    color:var(--fh-soft);
    font-style:normal;
    font-size:11px;
    font-weight:700
}
.fph2-hero-rank-line{
    color:var(--fh-soft)!important;
    font-size:10px!important;
    line-height:1.3;
    font-weight:750!important
}
.fph2-hero-metric-primary{
    display:flex;
    flex-direction:column;
    justify-content:center
}
.fph2-hero-metric-primary strong{font-size:47px;letter-spacing:-.05em}
.fph2-hero-metric-expected{grid-column:1;grid-row:1 / span 3}
.fph2-hero-metric-trajectory{grid-column:1;grid-row:4 / span 3}
.fph2-hero-metric-actual{grid-column:2;grid-row:1 / span 2}
.fph2-hero-metric-deployment{grid-column:2;grid-row:3 / span 2}
.fph2-hero-metric-driver{grid-column:2;grid-row:5 / span 2}
.fph2-hero-metric-trajectory{
    display:flex;
    flex-direction:column;
    justify-content:center
}
.fph2-hero-metric-trajectory strong{
    font-size:21px;
    line-height:1.15;
    letter-spacing:-.02em
}
.fph2-hero-metric-trajectory em{
    color:var(--fh-muted)
}

.fph2-season-strip{
    display:flex;
    gap:22px;
    flex-wrap:wrap;
    margin:12px 0 0;
    padding:10px 16px;
    border:1px solid var(--fh-line);
    border-radius:12px;
    background:#111f30;
    color:var(--fh-muted);
    font-size:11px
}
.fph2-season-strip strong{color:var(--fh-soft)}

.fph2-player-layout{
    display:grid;
    grid-template-columns:minmax(0,1.9fr) minmax(245px,.62fr);
    gap:18px;
    margin-top:18px
}
.fph2-player-main,.fph2-player-side{display:flex;flex-direction:column;gap:18px}
.fph2-section{
    padding:22px;
    border:1px solid var(--fh-line);
    border-radius:var(--fh-radius);
    background:var(--fh-panel);
    box-shadow:0 10px 28px rgba(0,0,0,.12)
}
.fph2-performance-section{
    padding:24px 26px 22px;
    border-color:rgba(255,255,255,.055);
    background:linear-gradient(180deg,#17283a,#142235)
}
.fph2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.fph2-section-title{margin:4px 0 0;color:var(--fh-text);font-size:20px;font-weight:820;letter-spacing:-.025em}
.fph2-section-sub{color:var(--fh-muted);font-size:10px}

.fph2-outlook-section{
    padding:18px 22px;
    background:linear-gradient(135deg,#1a2c40,#152438)
}
.fph2-outlook-text,.fph2-current-value p{
    margin:7px 0 0;
    color:var(--fh-soft);
    font-size:14px;
    line-height:1.65
}

.fph2-profile-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
    margin:2px 0 28px;
    padding:2px 0 18px;
    border-bottom:1px solid rgba(255,255,255,.07)
}
.fph2-profile-copy{min-width:0}
.fph2-profile-copy::before{
    content:"";
    display:block;
    width:34px;
    height:3px;
    margin-bottom:11px;
    border-radius:999px;
    background:rgba(255,255,255,.26)
}
.fph2-profile-elite .fph2-profile-copy::before,
.fph2-profile-strong .fph2-profile-copy::before{background:rgba(116,210,172,.72)}
.fph2-profile-process .fph2-profile-copy::before{background:rgba(124,176,232,.72)}
.fph2-profile-role .fph2-profile-copy::before{background:rgba(218,184,116,.72)}
.fph2-profile-low .fph2-profile-copy::before{background:rgba(174,151,151,.55)}
.fph2-profile-copy p{
    max-width:620px;
    margin:5px 0 0;
    color:var(--fh-muted);
    font-size:12px;
    line-height:1.5
}
.fph2-archetype-label{
    color:var(--fh-text);
    font-size:21px;
    font-weight:850;
    letter-spacing:-.025em
}
.fph2-profile-pair{
    display:grid;
    grid-template-columns:auto 1px auto;
    gap:16px;
    align-items:center;
    flex:0 0 auto
}
.fph2-profile-pair>div:not(.fph2-profile-separator){min-width:58px;text-align:center}
.fph2-profile-pair span{
    display:block;
    color:var(--fh-muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase
}
.fph2-profile-pair strong{
    display:block;
    margin-top:3px;
    font-size:25px;
    line-height:1;
    font-weight:850
}
.fph2-profile-separator{
    width:1px;
    height:32px;
    background:rgba(255,255,255,.09)
}

.fph2-performance-list{display:grid;gap:21px}
.fph2-performance-row{display:grid;grid-template-columns:165px minmax(0,1fr) 48px;gap:13px;align-items:center}
.fph2-performance-label{min-width:0}
.fph2-performance-label strong{display:block;color:var(--fh-text);font-size:13px;font-weight:780;letter-spacing:-.01em}
.fph2-performance-label span{display:block;margin-top:4px;color:var(--fh-muted);font-size:11px;font-weight:650;white-space:nowrap}
.fph2-performance-track{
    position:relative;
    height:20px;
    overflow:visible;
    border-radius:999px;
    background:
        linear-gradient(to bottom,transparent 9px,rgba(255,255,255,.075) 9px,rgba(255,255,255,.075) 11px,transparent 11px)
}
.fph2-performance-guide{
    position:absolute;
    top:4px;
    bottom:4px;
    width:1px;
    background:rgba(255,255,255,.09);
    transform:translateX(-.5px)
}
.fph2-guide-50{left:50%}
.fph2-guide-80{left:80%}
.fph2-guide-90{left:90%}
.fph2-guide-95{left:95%}
.fph2-performance-marker{
    position:absolute;
    left:var(--fph2-score,0%);
    top:50%;
    width:13px;
    height:13px;
    border:2px solid #111821;
    border-radius:50%;
    background:#c7d0dc;
    box-shadow:0 0 0 1px rgba(255,255,255,.20),0 2px 8px rgba(0,0,0,.34);
    transform:translate(-50%,-50%)
}
.fph2-level-elite .fph2-performance-marker{background:#75d1ad}
.fph2-level-high-end .fph2-performance-marker{background:#89b9d8}
.fph2-level-above-average .fph2-performance-marker{background:#a7bed0}
.fph2-level-average .fph2-performance-marker{background:#c7d0dc}
.fph2-level-below-average .fph2-performance-marker,
.fph2-level-low .fph2-performance-marker{background:#9aa3ad}

.fph2-level-elite .fph2-performance-value{color:#8bdbba}
.fph2-level-high-end .fph2-performance-value{color:#9bc6e2}
.fph2-level-below-average .fph2-performance-value,
.fph2-level-low .fph2-performance-value{color:#c1c6cd}
.fph2-performance-marker::after{
    content:"";
    position:absolute;
    left:50%;
    top:11px;
    width:1px;
    height:6px;
    background:rgba(255,255,255,.42);
    transform:translateX(-50%)
}
.fph2-performance-value{text-align:right;font-size:18px;font-weight:840}
.fph2-scale{
    position:relative;
    height:15px;
    margin:10px 48px 0 178px;
    color:var(--fh-muted);
    font-size:10px
}
.fph2-scale span{position:absolute;top:0;transform:translateX(-50%)}
.fph2-scale-0{left:0;transform:none!important}
.fph2-scale-50{left:50%}
.fph2-scale-80{left:80%}
.fph2-scale-90{left:90%}
.fph2-scale-95{left:95%}
.fph2-scale-100{right:0;left:auto!important;transform:none!important}
.fph2-scale-caption{
    position:relative;
    height:14px;
    margin:0 48px 0 178px;
    color:rgba(142,154,171,.76);
    font-size:10px
}
.fph2-scale-caption span{position:absolute;top:0;transform:translateX(-50%)}
.fph2-scale-caption span:nth-child(1){left:50%}
.fph2-scale-caption span:nth-child(2){left:85%}
.fph2-scale-caption span:nth-child(3){left:97.5%;transform:translateX(-100%)}

.fph2-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden;
    border:1px solid var(--fh-line);
    border-radius:13px
}
.fph2-stat{
    min-height:78px;
    padding:14px;
    border-right:1px solid var(--fh-line);
    border-bottom:1px solid var(--fh-line);
    background:var(--fh-panel-soft)
}
.fph2-stat:nth-child(4n){border-right:0}
.fph2-stat:nth-last-child(-n+4){border-bottom:0}
.fph2-stat-label{
    color:var(--fh-muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase
}
.fph2-stat-value{margin-top:7px;font-size:21px;font-weight:820}

.fph2-read-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fph2-read-card{padding:14px;border:1px solid var(--fh-line);border-radius:12px;background:var(--fh-panel-soft)}
.fph2-read-card-label{color:var(--fh-muted);font-size:11px;font-weight:800;text-transform:uppercase}
.fph2-read-card-value{margin-top:5px;font-size:20px;font-weight:820}


.fph2-trajectory-section{
    background:linear-gradient(145deg,#182a3f,#142235)
}
.fph2-trajectory-tone{
    padding:5px 9px;
    border-radius:999px;
    border:1px solid var(--fh-line);
    color:var(--fh-soft);
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase
}
.fph2-trajectory-up{color:#8fd9b9;border-color:rgba(143,217,185,.25)}
.fph2-trajectory-rebound{color:#9bc7e7;border-color:rgba(155,199,231,.25)}
.fph2-trajectory-down{color:#d9a0a0;border-color:rgba(217,160,160,.22)}
.fph2-trajectory-stable{color:#c9d4df}
.fph2-trajectory-flow{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:14px;
    padding:8px 0 4px
}
.fph2-trajectory-point{min-width:0}
.fph2-trajectory-point span{
    display:block;
    color:var(--fh-muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase
}
.fph2-trajectory-point strong{
    display:block;
    margin-top:5px;
    color:var(--fh-text);
    font-size:29px;
    font-weight:850;
    letter-spacing:-.035em
}
.fph2-trajectory-point small{
    display:block;
    margin-top:5px;
    color:var(--fh-muted);
    font-size:10px
}
.fph2-trajectory-point-expected strong{color:#9bc7e7}
.fph2-trajectory-arrow{
    color:rgba(219,230,242,.35);
    font-size:18px
}
.fph2-trajectory-detail{
    margin:16px 0 0;
    padding-top:14px;
    border-top:1px solid var(--fh-line);
    color:var(--fh-soft);
    font-size:12px;
    line-height:1.55
}

.fph2-side-news-list{display:grid;gap:0;margin-top:8px}
.fph2-side-news-item{
    padding:13px 0;
    border-bottom:1px solid var(--fh-line)
}
.fph2-side-news-item:last-child{border-bottom:0;padding-bottom:2px}
.fph2-side-news-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    color:var(--fh-muted);
    font-size:10px;
    font-weight:750;
    text-transform:uppercase
}
.fph2-side-news-item h3{
    margin:6px 0 0;
    color:var(--fh-soft);
    font-size:12px;
    line-height:1.4;
    font-weight:760
}
.fph2-side-news-item a:hover{text-decoration:underline}
.fph2-side-news-empty{
    margin-top:10px;
    color:var(--fh-muted);
    font-size:10px;
    line-height:1.45
}

.fph2-signal-list{display:grid;gap:9px}
.fph2-signal-item{
    padding:14px 15px;
    border:1px solid var(--fh-line);
    border-radius:12px;
    background:var(--fh-panel-soft)
}
.fph2-signal-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    color:var(--fh-muted);
    font-size:11px;
    font-weight:750;
    text-transform:uppercase
}
.fph2-source-pill{
    display:inline-flex;
    padding:3px 7px;
    border:1px solid var(--fh-line);
    border-radius:999px;
    background:rgba(255,255,255,.05);
    color:var(--fh-soft)
}
.fph2-source-pill-model{color:#fff;background:rgba(255,255,255,.09)}
.fph2-signal-item h3{margin:7px 0 0;font-size:14px;line-height:1.35;font-weight:790}
.fph2-signal-item p{margin:5px 0 0;color:var(--fh-muted);font-size:11px;line-height:1.5}
.fph2-signal-item a:hover{text-decoration:underline}
.fph2-news-note{margin-top:10px;color:var(--fh-muted);font-size:10px}
.fph2-current-value{background:linear-gradient(135deg,#1a2c40,#152438)}

.fph2-side-section{padding:17px}
.fph2-side-score{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid var(--fh-line)
}
.fph2-side-score:last-child{border-bottom:0}
.fph2-side-label{color:var(--fh-muted);font-size:10px}
.fph2-side-value{text-align:right;font-size:16px;font-weight:800}
.fph2-model-details{
    border:1px solid var(--fh-line);
    border-radius:14px;
    background:#111f30;
    color:var(--fh-muted);
    font-size:10px
}
.fph2-model-details summary{cursor:pointer;padding:13px 15px;color:var(--fh-soft);font-weight:750}
.fph2-model-details>div{padding:0 15px 11px}
.fph2-model-details p{margin:8px 0}

.fph2-future-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fph2-future-cell{padding:14px;border:1px solid var(--fh-line);border-radius:12px;background:var(--fh-panel-soft)}
.fph2-future-cell span{display:block;color:var(--fh-muted);font-size:11px;font-weight:800;text-transform:uppercase}
.fph2-future-cell strong{display:block;margin-top:5px;font-size:20px}
.fph2-player-empty{max-width:900px;margin:30px auto;padding:20px;border:1px solid #dcdcde;border-radius:12px}

@media(max-width:930px){
    .fph2-player-hero{grid-template-columns:135px minmax(0,1fr)}
    .fph2-hero-metrics{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}
    .fph2-hero-metric-primary{grid-row:auto}
    .fph2-hero-metric-primary strong{font-size:32px}
    .fph2-player-layout{grid-template-columns:1fr}
}
@media(max-width:650px){
    .fph2-player-page{margin-left:-10px;margin-right:-10px}
    .fph2-player-hero{grid-template-columns:1fr;padding:20px}
    .fph2-player-photo-wrap{height:150px;justify-content:flex-start}
    .fph2-player-photo{width:130px;max-height:150px}
    .fph2-player-name{font-size:38px}
    .fph2-team-logo{width:50px;height:50px}
    .fph2-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fph2-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fph2-stat:nth-child(4n){border-right:1px solid var(--fh-line)}
    .fph2-stat:nth-child(2n){border-right:0}
    .fph2-stat:nth-last-child(-n+4){border-bottom:1px solid var(--fh-line)}
    .fph2-stat:nth-last-child(-n+2){border-bottom:0}
    .fph2-performance-row{grid-template-columns:120px minmax(0,1fr) 40px}
    .fph2-performance-label span{white-space:normal}
    .fph2-scale{margin-left:133px;margin-right:40px}
    .fph2-scale-caption{margin-left:133px;margin-right:40px}
    .fph2-read-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fph2-profile-summary{align-items:flex-start;flex-direction:column;gap:16px}
    .fph2-profile-pair{align-self:stretch;justify-content:start}
    .fph2-read-grid{grid-template-columns:1fr}
    .fph2-trajectory-flow{
        grid-template-columns:1fr;
        gap:10px
    }
    .fph2-trajectory-arrow{display:none}
}



/* 0.15.0 — Team Context + Compare entry point */
.fph2-compare-cta{
    display:inline-flex;
    align-items:center;
    padding:6px 9px;
    border:1px solid rgba(88,215,166,.28);
    border-radius:999px;
    background:rgba(88,215,166,.08);
    color:#8ee3c2!important;
    font-size:11px;
    font-weight:850;
    letter-spacing:.02em;
    transition:.16s ease
}
.fph2-compare-cta:hover{
    background:rgba(88,215,166,.14);
    border-color:rgba(88,215,166,.42)
}
.fph2-team-context{
    overflow:hidden;
    background:
        linear-gradient(145deg,rgba(var(--fph2-team-rgb),.16),rgba(20,34,53,.98) 56%)
}
.fph2-team-context-head{
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:11px
}
.fph2-team-context-head img{
    width:46px;
    height:46px;
    object-fit:contain;
    filter:drop-shadow(0 7px 11px rgba(0,0,0,.2))
}
.fph2-team-context-head strong{
    display:block;
    color:var(--fh-text);
    font-size:13px;
    line-height:1.2
}
.fph2-team-context-head span{
    display:block;
    margin-top:3px;
    color:var(--fh-muted);
    font-size:11px;
    line-height:1.3
}
.fph2-team-context-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:14px
}
.fph2-team-context-grid>div{
    min-width:0;
    padding:11px;
    border:1px solid var(--fh-line);
    border-radius:11px;
    background:rgba(255,255,255,.025)
}
.fph2-team-context-grid span{
    display:block;
    color:var(--fh-muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase
}
.fph2-team-context-grid strong{
    display:block;
    margin-top:5px;
    color:var(--fh-text);
    font-size:20px;
    line-height:1
}
.fph2-team-context-grid small{
    display:block;
    margin-top:4px;
    color:var(--fh-muted);
    font-size:10px
}
.fph2-team-context-detail{
    margin:12px 0 0;
    color:var(--fh-soft);
    font-size:10px;
    line-height:1.55
}
.fph2-team-context-link{
    display:inline-flex;
    margin-top:11px;
    color:#8ee3c2!important;
    font-size:11px;
    font-weight:800
}


/* 0.16.0 — Fantasy Events / Latest Impact */
.fph2-side-impact .fph2-event-item{
    position:relative;
    padding-left:10px;
    border-left:2px solid rgba(145,164,186,.28)
}
.fph2-side-impact .fph2-event-item.is-high{border-left-color:#ff6b73}
.fph2-side-impact .fph2-event-item.is-medium{border-left-color:#f0bd67}
.fph2-side-impact .fph2-event-item.is-low{border-left-color:#78b9dc}
.fph2-event-impact{font-weight:900!important;letter-spacing:.055em}
.fph2-event-item.is-high .fph2-event-impact{color:#ff8d94}
.fph2-event-item.is-medium .fph2-event-impact{color:#f4ca7d}
.fph2-event-item.is-low .fph2-event-impact{color:#8fc9e8}
.fph2-event-context{margin:6px 0 0;color:var(--fh-soft);font-size:11px;line-height:1.5}
.fph2-event-source{display:inline-flex;margin-top:6px;color:#8ee3c2!important;font-size:10px;font-weight:800}


/* 0.16.7 — Fantasy Hub articles in Player Latest News */
.fph2-own-article-item{
    position:relative;
    padding-left:10px;
    border-left:2px solid rgba(88,215,166,.58)
}
.fph2-own-article-badge{
    color:#8ee3c2!important;
    font-weight:900!important;
    letter-spacing:.055em
}
.fph2-own-article-item h3 a{
    color:inherit!important;
    text-decoration:none!important
}
.fph2-own-article-item h3 a:hover{color:#8ee3c2!important}
.fph2-own-article-link{color:#8ee3c2!important}

/* 0.17.0 — Fluid player page + responsive hero */
.fph2-player-page{
    width:min(100%,1180px);
    max-width:100%;
    margin:0 auto;
    padding:clamp(12px,2vw,20px);
    overflow-x:clip
}
.fph2-player-hero{
    position:relative;
    isolation:isolate;
    grid-template-columns:minmax(190px,220px) minmax(260px,1fr) minmax(320px,370px);
    gap:clamp(18px,2.2vw,28px);
    min-height:280px;
    padding:clamp(20px,2.4vw,30px);
}
.fph2-player-hero> :not(.fph2-team-watermark){position:relative;z-index:1;min-width:0}
.fph2-team-watermark{
    position:absolute;
    z-index:0;
    top:52%;
    left:-18px;
    right:auto;
    width:clamp(260px,29vw,340px);
    height:clamp(260px,29vw,340px);
    object-fit:contain;
    opacity:.075;
    transform:translateY(-50%);
    pointer-events:none;
    user-select:none;
    filter:saturate(.9)
}
.fph2-player-photo-wrap{height:250px;align-self:end}
.fph2-player-photo{width:clamp(190px,18vw,220px);max-height:250px}
.fph2-player-photo-placeholder{width:150px;height:150px;font-size:44px}
.fph2-name-row{display:block}
.fph2-player-name{font-size:clamp(34px,4.2vw,54px);overflow-wrap:anywhere}
.fph2-player-meta{font-size:clamp(12px,1.25vw,14px)}
.fph2-team-logo{display:none}
.fph2-hero-metrics{min-width:0}
.fph2-hero-metric{min-width:0;overflow-wrap:anywhere}
.fph2-section,.fph2-model-details,.fph2-player-main,.fph2-player-side{min-width:0}
.fph2-section-head{min-width:0}
.fph2-section-title{font-size:clamp(18px,2vw,20px)}
.fph2-stat-value,.fph2-read-card-value,.fph2-future-cell strong{font-size:clamp(17px,2.1vw,21px)}
.fph2-player-layout{grid-template-columns:minmax(0,1.9fr) minmax(230px,.62fr)}

@media(max-width:1080px){
    .fph2-player-hero{
        grid-template-columns:minmax(175px,215px) minmax(0,1fr);
        grid-template-areas:"photo identity" "metrics metrics";
        align-items:end
    }
    .fph2-player-photo-wrap{grid-area:photo;height:225px}
    .fph2-player-photo{width:clamp(180px,22vw,210px);max-height:225px}
    .fph2-hero-identity{grid-area:identity;align-self:center}
    .fph2-hero-metrics{
        grid-area:metrics;
        grid-column:auto;
        grid-template-columns:repeat(5,minmax(0,1fr));
        grid-template-rows:none;
        min-height:0
    }
    .fph2-hero-metric-expected,.fph2-hero-metric-trajectory,.fph2-hero-metric-actual,.fph2-hero-metric-deployment,.fph2-hero-metric-driver{
        grid-column:auto;
        grid-row:auto
    }
    .fph2-hero-metric-primary strong{font-size:clamp(30px,4vw,38px)}
    .fph2-hero-metric-trajectory strong{font-size:clamp(17px,2.1vw,21px)}
    .fph2-player-layout{grid-template-columns:1fr}
    .fph2-player-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
    .fph2-player-side>.fph2-model-details{grid-column:1/-1}
}

@media(max-width:760px){
    .fph2-player-page{border-radius:20px}
    .fph2-player-hero{grid-template-columns:minmax(155px,190px) minmax(0,1fr);gap:16px}
    .fph2-player-photo-wrap{height:205px}
    .fph2-player-photo{width:clamp(165px,29vw,190px);max-height:205px}
    .fph2-team-watermark{left:-24px;right:auto;width:260px;height:260px;opacity:.07}
    .fph2-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .fph2-hero-metric{padding:12px}
    .fph2-hero-metric-primary strong{font-size:31px}
    .fph2-season-strip{gap:8px 16px;padding:10px 13px}
    .fph2-section{padding:clamp(15px,4vw,20px)}
    .fph2-performance-section{padding:clamp(16px,4vw,21px)}
    .fph2-performance-row{grid-template-columns:minmax(105px,32%) minmax(0,1fr) 38px;gap:9px}
    .fph2-performance-value{font-size:16px}
    .fph2-scale,.fph2-scale-caption{margin-left:calc(32% + 9px);margin-right:38px}
    .fph2-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fph2-stat:nth-child(4n){border-right:1px solid var(--fh-line)}
    .fph2-stat:nth-child(2n){border-right:0}
    .fph2-stat:nth-last-child(-n+4){border-bottom:1px solid var(--fh-line)}
    .fph2-stat:nth-last-child(-n+2){border-bottom:0}
    .fph2-profile-summary{align-items:flex-start;flex-direction:column;gap:16px}
    .fph2-profile-pair{align-self:stretch;justify-content:start}
    .fph2-trajectory-flow{grid-template-columns:1fr;gap:10px}
    .fph2-trajectory-arrow{display:none}
    .fph2-player-side{grid-template-columns:1fr}
    .fph2-player-side>.fph2-model-details{grid-column:auto}
}

@media(max-width:560px){
    .fph2-player-page{margin:0;padding:10px;border-radius:16px}
    .fph2-player-hero{
        grid-template-columns:1fr;
        grid-template-areas:"photo" "identity" "metrics";
        gap:12px;
        padding:18px 16px
    }
    .fph2-player-photo-wrap{height:190px;justify-content:center}
    .fph2-player-photo{width:175px;max-height:190px}
    .fph2-player-photo-placeholder{width:130px;height:130px}
    .fph2-hero-identity{text-align:left}
    .fph2-player-name{font-size:clamp(34px,11vw,43px)}
    .fph2-player-badges{gap:6px;margin-top:12px}
    .fph2-badge,.fph2-compare-cta{min-height:30px}
    .fph2-team-watermark{top:112px;left:50%;right:auto;width:230px;height:230px;opacity:.065;transform:translate(-50%,-50%)}
    .fph2-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fph2-hero-metric{min-height:92px}
    .fph2-hero-metric:last-child:nth-child(odd){grid-column:1/-1}
    .fph2-section-head{align-items:flex-start;flex-direction:column;gap:8px}
    .fph2-performance-row{grid-template-columns:1fr 42px;gap:6px 10px}
    .fph2-performance-label{grid-column:1/-1}
    .fph2-performance-track{grid-column:1}
    .fph2-performance-value{grid-column:2;grid-row:2}
    .fph2-scale,.fph2-scale-caption{margin-left:0;margin-right:42px}
    .fph2-read-grid,.fph2-future-section{grid-template-columns:1fr}
    .fph2-team-context-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:390px){
    .fph2-hero-metrics{grid-template-columns:1fr}
    .fph2-hero-metric:last-child:nth-child(odd){grid-column:auto}
    .fph2-team-context-grid{grid-template-columns:1fr}
    .fph2-season-strip{display:grid;grid-template-columns:1fr}
}


/* Structured injury CURRENT state. Kept visually separate from model outputs. */
.fph2-injury-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1.1rem;
    align-items: center;
    padding: .72rem 1rem;
    margin: 0 0 1rem;
    border: 1px solid rgba(185, 28, 28, .18);
    border-left: 4px solid rgba(185, 28, 28, .72);
    border-radius: 10px;
    background: rgba(254, 242, 242, .72);
    font-size: .9rem;
}
.fph2-injury-source {
    margin-left: auto;
    color: #6b7280;
    font-size: .78rem;
}
@media (max-width: 700px) {
    .fph2-injury-strip { align-items: flex-start; }
    .fph2-injury-source { width: 100%; margin-left: 0; }
}

/* 0.22.0 — BBS depth-chart validation context */
.fph2-depth-note{margin:9px 0 0;color:var(--fh-muted);font-size:10px;line-height:1.45}


/* 0.24.2 — Actual Deployment hierarchy */
.fph2-deployment-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 2px;padding-top:12px;border-top:1px solid rgba(218,231,247,.08)}
.fph2-deployment-subhead:first-of-type{margin-top:8px;border-top:0;padding-top:0}
.fph2-deployment-subhead strong{color:var(--fh-text);font-size:10px}.fph2-deployment-subhead span{color:var(--fh-muted);font-size:10px}
.fph2-deployment-role-card{margin:8px 0;padding:10px;border:1px solid rgba(88,215,166,.14);border-radius:10px;background:rgba(88,215,166,.035)}
.fph2-deployment-role-card>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.fph2-deployment-role-card strong{font-size:16px}.fph2-deployment-role-card span{color:var(--fh-muted);font-size:10px}.fph2-deployment-role-card p,.fph2-deployment-unit-copy{margin:6px 0 0;color:var(--fh-soft);font-size:10px;line-height:1.45}
.fph2-no-opportunity{color:var(--fh-muted);font-size:10px;font-weight:650}.fph2-delta-compact{display:none}
@media(max-width:680px){.fph2-delta-desktop{display:none}.fph2-delta-compact{display:inline}}

/* 0.24.3 — Actual Deployment readability */
.fph2-actual-deployment .fph2-side-label{font-size:11px;line-height:1.35}
.fph2-actual-deployment .fph2-side-value{font-size:16px;line-height:1.25}
.fph2-actual-deployment .fph2-deployment-subhead strong{font-size:12px}
.fph2-actual-deployment .fph2-deployment-subhead span{font-size:10px}
.fph2-actual-deployment .fph2-deployment-role-card strong{font-size:18px;letter-spacing:-.02em}
.fph2-actual-deployment .fph2-deployment-role-card span{font-size:10px}
.fph2-actual-deployment .fph2-deployment-role-card p,
.fph2-actual-deployment .fph2-deployment-unit-copy{font-size:10px;line-height:1.55}
.fph2-actual-deployment .fph2-depth-note{font-size:10px;line-height:1.5}
.fph2-deployment-pp-role-card{border-color:rgba(var(--fph2-team-accent-rgb),.18);background:rgba(var(--fph2-team-accent-rgb),.04)}

/* 0.25.0 · NHL Edge Intelligence */
.fph2-edge-intelligence{background:linear-gradient(145deg,rgba(15,23,42,.97),rgba(20,30,48,.97));border-color:rgba(148,163,184,.18)}
.fph2-edge-summary{font-size:14px;line-height:1.5;color:#d7e0eb;margin:7px 0 13px}
.fph2-edge-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fph2-edge-dimensions>div{border:1px solid rgba(148,163,184,.15);background:rgba(255,255,255,.025);border-radius:10px;padding:10px;min-width:0}
.fph2-edge-dimensions span,.fph2-edge-detail-grid small{display:block;color:#94a3b8;font-size:11px;line-height:1.2}
.fph2-edge-dimensions strong{display:block;color:#f8fafc;font-size:15px;margin:4px 0 3px}
.fph2-edge-dimensions small{display:block;color:#b9c5d3;font-size:11px;line-height:1.35}
.fph2-edge-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:10px;border:1px solid rgba(148,163,184,.13);border-radius:10px;overflow:hidden;background:rgba(148,163,184,.08)}
.fph2-edge-detail-grid>span{background:#101a2a;padding:9px 10px}
.fph2-edge-detail-grid b{display:block;color:#f8fafc;font-size:13px;margin-top:3px}
@media(max-width:720px){.fph2-edge-dimensions{grid-template-columns:1fr}.fph2-edge-detail-grid{grid-template-columns:1fr 1fr}}


/* 0.26.0 Player Coverage shell */
.fph2-player-shell .fph2-shell-status{align-self:center;display:grid;gap:4px;padding:18px 20px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:rgba(15,23,42,.42);min-width:190px}.fph2-player-shell .fph2-shell-status span,.fph2-player-shell .fph2-shell-status small{font-size:12px;color:#94a3b8}.fph2-player-shell .fph2-shell-status strong{font-size:24px;color:#f8fafc}.fph2-shell-banner{display:flex;gap:12px;align-items:baseline;padding:14px 18px;margin:18px 0;border-radius:14px;background:rgba(56,189,248,.09);border:1px solid rgba(56,189,248,.2)}.fph2-shell-banner strong{white-space:nowrap}.fph2-shell-banner span{color:#cbd5e1}.fph2-shell-performance{border-style:dashed!important}@media(max-width:760px){.fph2-player-shell .fph2-shell-status{width:100%}.fph2-shell-banner{display:block}.fph2-shell-banner strong{display:block;margin-bottom:4px}}


/* 0.26.1 · Usage + Actual Deployment consolidation */
.fph2-usage-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 4px}
.fph2-usage-summary-grid>div{padding:10px;border:1px solid rgba(148,163,184,.14);border-radius:10px;background:rgba(255,255,255,.025);min-width:0}
.fph2-usage-summary-grid span{display:block;color:var(--fh-muted);font-size:10px;font-weight:750}
.fph2-usage-summary-grid strong{display:block;margin-top:4px;color:var(--fh-text);font-size:17px;line-height:1.1}
.fph2-team-context-grid.is-expanded{grid-template-columns:1fr 1fr}
.fph2-team-context-grid.is-expanded strong{font-size:17px;line-height:1.15}
@media(max-width:480px){.fph2-usage-summary-grid{grid-template-columns:1fr 1fr}.fph2-usage-summary-grid>div:last-child{grid-column:1/-1}}

/* 0.26.3 · Player page information hierarchy */
.fph2-badge-injury{
    border-color:rgba(248,113,113,.34);
    background:rgba(127,29,29,.24);
    color:#fecaca;
}
.fph2-main-context{padding:clamp(18px,2.4vw,24px)}
.fph2-main-context .fph2-team-context-head strong{font-size:15px}
.fph2-main-context .fph2-team-context-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.fph2-main-context .fph2-team-context-grid>div:last-child:nth-child(5){grid-column:span 2}
.fph2-main-context.fph2-actual-deployment .fph2-side-score{padding:10px 0}
.fph2-side-news-more{
    display:inline-flex;
    margin-top:12px;
    color:#8ee3c2!important;
    font-size:10px;
    font-weight:850;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.fph2-model-details-bottom{
    margin-top:14px;
    width:100%;
}
@media(max-width:760px){
    .fph2-main-context .fph2-team-context-grid{grid-template-columns:1fr 1fr}
    .fph2-main-context .fph2-team-context-grid>div:last-child:nth-child(5){grid-column:1/-1}
}
@media(max-width:480px){
    .fph2-main-context .fph2-team-context-grid{grid-template-columns:1fr}
    .fph2-main-context .fph2-team-context-grid>div:last-child:nth-child(5){grid-column:auto}
}

/* 0.26.11 — compact current-season production under player identity */
.fph2-player-season-line{margin-top:5px;color:var(--fh-muted);font-size:11px;font-weight:750;letter-spacing:.015em}


/* 0.26.14 — persistent recent NHL goal/assist highlights */
.fph2-player-highlight-games{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.fph2-player-highlight-game{
    min-width:0;
    border:1px solid var(--fh-line);
    border-radius:13px;
    background:rgba(255,255,255,.018);
    overflow:hidden;
}
.fph2-player-highlight-game-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px 8px;
    border-bottom:1px solid rgba(148,163,184,.12);
}
.fph2-player-highlight-game-head strong{
    min-width:0;
    color:var(--fh-text);
    font-size:11px;
}
.fph2-player-highlight-game-head span{
    color:var(--fh-muted);
    font-size:9px;
    font-weight:800;
    white-space:nowrap;
}
.fph2-player-highlight-events{
    display:flex;
    flex-direction:column;
}
.fph2-player-highlight-link{
    display:grid;
    grid-template-columns:26px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:9px 11px;
    color:inherit!important;
    text-decoration:none!important;
}
.fph2-player-highlight-link+.fph2-player-highlight-link{
    border-top:1px solid rgba(148,163,184,.09);
}
.fph2-player-highlight-link:hover{
    background:rgba(93,242,190,.04);
}
.fph2-player-highlight-play{
    display:flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border:1px solid rgba(93,242,190,.28);
    border-radius:999px;
    color:var(--fh-accent);
    font-size:9px;
}
.fph2-player-highlight-copy{
    min-width:0;
}
.fph2-player-highlight-copy strong{
    display:block;
    color:var(--fh-text);
    font-size:10.5px;
}
.fph2-player-highlight-copy small{
    display:block;
    margin-top:2px;
    color:var(--fh-muted);
    font-size:9px;
    line-height:1.25;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.fph2-player-highlight-meta{
    color:var(--fh-muted);
    font-size:9px;
    font-weight:750;
    white-space:nowrap;
}
@media(max-width:760px){
    .fph2-player-highlight-games{grid-template-columns:1fr}
}
