/* ── Hero ──────────────────────────────────────────────────────── */
.ph{position:relative;overflow:hidden;border-radius:4px;margin-bottom:1rem;background:var(--bg1);border:1px solid;isolation:isolate}
.ph-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ph-wm{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);width:120px;height:120px;object-fit:contain;opacity:.055;pointer-events:none;filter:saturate(1.3)}
.ph-wm-staff{opacity:.09;filter:none}
.ph-body{padding:1.75rem 2rem 1.75rem;position:relative;display:flex;align-items:flex-start;gap:1.5rem}
.ph-av-zone{position:relative;flex-shrink:0}
.ph-av{width:96px;height:96px;border-radius:4px;display:block}
.ph-rank-chip{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);background:var(--bg);border-radius:2px;padding:2px 6px;display:flex;align-items:center;gap:3px;white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.6)}
.ph-ban{position:absolute;top:-4px;right:-4px}
.ph-meta{flex:1;min-width:0;padding-top:.1rem}
.ph-title-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;border-radius:2px;border:1px solid;font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem}
.ph-name{font-family:'Orbitron',sans-serif;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:900;letter-spacing:.04em;line-height:1.1;margin-bottom:.28rem;color:var(--text)}
.ph-riot-id{color:var(--muted);font-size:.7rem;font-family:'JetBrains Mono',monospace;margin-bottom:.3rem;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ph-bio{font-family:'Rajdhani',sans-serif;font-size:.82rem;color:rgba(220,228,236,.55);margin-bottom:.38rem;line-height:1.4;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ph-champion-badge{display:inline-flex;align-items:center;gap:.32rem;padding:.18rem .52rem;border-radius:2px;border:1px solid;font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.38rem;width:fit-content}
.ph-badges{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.ph-feat{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem;border-radius:2px;border:1px solid;margin-top:.45rem}
.ph-wr{padding:1.1rem 2rem 1.25rem;position:relative;margin-top:0}
.ph-wr-top{display:flex;justify-content:space-between;margin-bottom:.3rem;font-size:.64rem;font-family:'JetBrains Mono',monospace}
.ph-wr-bar{height:5px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.ph-wr-fill{height:100%;transform-origin:left center;transition:transform .45s ease-out}
.ph-customize-btn{position:absolute;top:.75rem;right:.75rem;background:transparent;border:1px solid var(--border);color:var(--text2);border-radius:2px;padding:.2rem .5rem;font-size:.6rem;font-family:'JetBrains Mono',monospace;letter-spacing:.06em;cursor:pointer;transition:border-color .15s,color .15s;z-index:1}
.ph-customize-btn:hover{border-color:var(--primary);color:var(--text)}
.ph-customize-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* ── Stats ─────────────────────────────────────────────────────── */
.ps-wrap{margin-bottom:1.4rem}
.ps-featured{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px 4px 0 0;overflow:hidden}
.ps-secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-top:none;border-radius:0 0 4px 4px;overflow:hidden}
.ps-cell{background:var(--bg1);display:flex;flex-direction:column;gap:.3rem;position:relative;overflow:hidden;transition:background .18s;cursor:default}
.ps-cell::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--chrome-top);opacity:.4}
.ps-cell:hover{background:var(--bg2)}
.ps-cell.feat{padding:1.2rem 1.4rem 1rem}
.ps-cell.sec{padding:.85rem 1.1rem .7rem}
.ps-lbl{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-family:'JetBrains Mono',monospace}
.ps-val{font-family:'Orbitron',sans-serif;font-weight:900;line-height:1;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-val.big{font-size:clamp(1.9rem,3.5vw,2.7rem)}
.ps-val.med{font-size:clamp(1.3rem,2vw,1.9rem)}
.ps-val.green{color:var(--green)}
.ps-val.red{color:var(--danger)}
.ps-val.gold{color:var(--gold)}
.ps-val.blue{color:var(--blue)}

/* ── Tabs ───────────────────────────────────────────────────────── */
.ptabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1.75rem}
.ptab{padding:.52rem 1.25rem;font-size:.66rem;font-family:'JetBrains Mono',monospace;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s;background:none;border-top:none;border-left:none;border-right:none}
.ptab:hover{color:var(--text2)}
.ptab.active{color:var(--text);border-bottom-color:var(--primary)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* ── Overview two-col ───────────────────────────────────────────── */
.ov-cols{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:700px){.ov-cols{grid-template-columns:1.5fr 1fr;align-items:start}}
.ov-cols.ov-full{grid-template-columns:1fr!important}
.ov-chart-box{background:var(--bg1);border:1px solid var(--border);border-radius:4px;padding:1.1rem 1.25rem .9rem;margin-bottom:1.25rem}
.ov-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.25rem 1rem 1.5rem;gap:.5rem}
.ov-empty-title{font-family:'Orbitron',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text2)}
.ov-empty-sub{color:var(--muted);font-size:.78rem;max-width:280px;line-height:1.7}
.ov-side>*+*{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}
.mm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}
/* Recent matches */
.ov-recent{display:flex;flex-direction:column;gap:2px}
.ov-rec-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:.6rem;align-items:center;padding:.5rem .75rem;border-radius:2px;background:var(--bg1);border:1px solid var(--border);text-decoration:none;color:var(--text);transition:background .12s}
.ov-rec-row:hover{background:var(--bg2)}
.ov-rec-badge{width:20px;height:20px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:.52rem;font-weight:700;font-family:'JetBrains Mono',monospace;flex-shrink:0}
.ov-rec-badge.w{background:rgba(34,215,106,.14);border:1px solid rgba(34,215,106,.28);color:var(--green)}
.ov-rec-badge.l{background:rgba(201,64,64,.14);border:1px solid rgba(201,64,64,.28);color:var(--danger)}
.ov-rec-name{font-size:.7rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ov-rec-amt{font-size:.64rem;font-family:'JetBrains Mono',monospace;color:var(--gold);white-space:nowrap;flex-shrink:0}
.ov-rec-date{font-size:.58rem;font-family:'JetBrains Mono',monospace;color:var(--muted);white-space:nowrap;flex-shrink:0;text-align:right}
/* Top opponents */
.ov-opps{display:flex;flex-direction:column;gap:2px}
.ov-opp-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .75rem;border-radius:2px;background:var(--bg1);border:1px solid var(--border);text-decoration:none;color:var(--text);transition:background .12s}
.ov-opp-row:hover{background:var(--bg2)}
.ov-opp-name{font-size:.7rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ov-opp-record{font-size:.64rem;font-family:'JetBrains Mono',monospace;display:flex;align-items:center;gap:.28rem;flex-shrink:0}

/* ── Section header ─────────────────────────────────────────────── */
.sh{display:flex;align-items:center;gap:.65rem;padding-bottom:.55rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}
.sh-title{font-family:'Orbitron',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;flex-shrink:0}
.sh-sub{font-size:.6rem;color:var(--muted);font-family:'JetBrains Mono',monospace}
.sh-link{margin-left:auto;font-size:.62rem;color:var(--muted);font-family:'JetBrains Mono',monospace;text-decoration:none;transition:color .15s;flex-shrink:0}
.sh-link:hover{color:var(--text2)}

/* ── Showcase ───────────────────────────────────────────────────── */
.ov-featured{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg1);border:1px solid var(--border);border-radius:4px}
.ov-featured-icon{line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ov-featured-icon svg{width:1.5rem;height:1.5rem}
.ov-featured-name{font-family:'JetBrains Mono',monospace;font-size:.67rem;font-weight:700;letter-spacing:.04em}
.ov-featured-desc{font-size:.62rem;color:var(--muted);margin-top:.06rem;line-height:1.35}

/* ── Rep ────────────────────────────────────────────────────────── */
.rep-chips{display:flex;gap:.6rem;flex-wrap:wrap}
.rep-chip{display:flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:2px;border:1px solid;text-decoration:none;transition:background .12s}

/* ── Form strip ─────────────────────────────────────────────────── */
.form-strip{display:flex;align-items:center;gap:.2rem;margin-bottom:.9rem;flex-wrap:wrap}
.form-lbl{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:'JetBrains Mono',monospace;margin-right:.2rem}
.form-dot{width:19px;height:19px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:.53rem;font-weight:700;font-family:'JetBrains Mono',monospace;flex-shrink:0}
.form-dot.w{background:rgba(34,215,106,.14);border:1px solid rgba(34,215,106,.28);color:var(--green)}
.form-dot.l{background:rgba(201,64,64,.14);border:1px solid rgba(201,64,64,.28);color:var(--danger)}

/* ── Achievements ───────────────────────────────────────────────── */
.ach-legend{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem;flex-wrap:wrap}
.ach-progress{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--muted)}
.ach-grid{display:flex;flex-direction:column;gap:.5rem}
.ach-row{display:flex;align-items:center;gap:.85rem;padding:.75rem 1.1rem;border-radius:2px;background:var(--bg1);border:1px solid;transition:background .15s}
.ach-row.earned:hover{background:var(--bg2)}
.ach-row.locked{opacity:.62;filter:grayscale(.55);background:transparent;border-color:var(--border)}
.ach-lock{font-size:.55rem;font-family:'JetBrains Mono',monospace;color:var(--border2);letter-spacing:.1em;text-transform:uppercase;margin-left:.4rem;vertical-align:middle}
.ach-icon{line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ach-icon svg{width:1.4rem;height:1.4rem}
.ach-name{font-size:.76rem;font-weight:700;font-family:'JetBrains Mono',monospace}
.ach-desc{font-size:.68rem;color:var(--muted);margin-top:.1rem;line-height:1.35}

/* ── Challenges ─────────────────────────────────────────────────── */
.ch-card{background:var(--bg1);border:1px solid var(--border);border-radius:2px;padding:.85rem 1.1rem}
.ch-bar-wrap{height:4px;background:var(--bg3);border-radius:2px;overflow:hidden;margin-top:.4rem}
.ch-bar-fill{height:100%;border-radius:2px}

/* ── Rank verify banner ─────────────────────────────────────────── */
.rvb{background:rgba(240,192,64,.06);border:1px solid rgba(240,192,64,.30);border-radius:2px;padding:.95rem 1.3rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}

/* ── Bundle themes ───────────────────────────────────────────────── */
.ph-theme-fx{position:absolute;inset:0;pointer-events:none}
.ph-border-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:20;object-fit:fill}

/* — Reaver — blood void bleeding from corners */
.ph.ph-theme-reaver{background:#0f0003;border-color:rgba(180,0,30,.55);box-shadow:0 0 50px rgba(160,0,25,.25),inset 0 0 70px rgba(120,0,20,.18)}
.ph.ph-theme-reaver .ph-theme-fx::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at -8% -8%,rgba(200,0,30,.55) 0%,transparent 50%),radial-gradient(ellipse 60% 80% at 108% 108%,rgba(180,0,25,.5) 0%,transparent 50%),radial-gradient(ellipse 40% 55% at 108% -8%,rgba(110,0,18,.3) 0%,transparent 50%),radial-gradient(ellipse 40% 55% at -8% 108%,rgba(110,0,18,.3) 0%,transparent 50%);animation:rv-breathe 3.5s ease-in-out infinite}
.ph.ph-theme-reaver .ph-theme-fx::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 7px,rgba(200,0,30,.04) 7px,rgba(200,0,30,.04) 8px)}
@keyframes rv-breathe{0%,100%{opacity:.65}50%{opacity:1}}

/* — Glitchpop — neon scanlines + full-card RGB glitch burst */
.ph.ph-theme-glitchpop{background:#050512;border-color:rgba(0,229,255,.5);box-shadow:0 0 35px rgba(0,229,255,.18),0 0 0 1px rgba(0,229,255,.08);animation:gp-glitch 5s steps(1) infinite}
.ph.ph-theme-glitchpop .ph-theme-fx::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.18) 2px,rgba(0,0,0,.18) 4px)}
.ph.ph-theme-glitchpop .ph-theme-fx::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 0% 50%,rgba(0,229,255,.1) 0%,transparent 55%),radial-gradient(ellipse 70% 50% at 100% 50%,rgba(255,0,200,.09) 0%,transparent 55%);animation:gp-neon 2.8s ease-in-out infinite}
@keyframes gp-neon{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes gp-glitch{0%,86%,100%{transform:none;filter:none}87%{transform:translateX(-5px);filter:drop-shadow(5px 0 0 rgba(255,0,200,.8)) drop-shadow(-5px 0 0 rgba(0,229,255,.8))}88%{transform:translateX(5px);filter:drop-shadow(-5px 0 0 rgba(255,0,200,.8)) drop-shadow(5px 0 0 rgba(0,229,255,.8))}89%{transform:translateX(-3px) skewX(-1.5deg);filter:drop-shadow(3px 0 0 rgba(255,0,200,.6))}90%{transform:none;filter:none}91%{transform:translateX(7px);filter:drop-shadow(-7px 0 0 rgba(0,229,255,.95))}92%{transform:translateX(-1px);filter:drop-shadow(1px 0 0 rgba(255,0,200,.4))}93%{transform:none;filter:none}}

/* — Elderflame — WebGL volcanic base + Canvas embers (JS) */
.ph.ph-theme-elderflame{background:#050000;border-color:rgba(200,55,0,.55);box-shadow:0 0 60px rgba(180,40,0,.28),0 12px 50px rgba(200,60,0,.18),inset 0 -10px 30px rgba(160,30,0,.18)}
.ph.ph-theme-elderflame .ph-theme-fx::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 50% at 50% 120%,rgba(200,50,0,.35) 0%,transparent 55%)}

/* — Singularity — Canvas particle spiral (JS) + atmosphere */
.ph.ph-theme-singularity{background:#040010;border-color:rgba(130,0,255,.55);box-shadow:0 0 50px rgba(110,0,230,.22),0 0 100px rgba(80,0,180,.08),inset 0 0 50px rgba(60,0,150,.12)}
.ph.ph-theme-singularity .ph-theme-fx{background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(50,0,100,.12) 0%,transparent 70%)}

/* — Kuronami — Canvas electric rain + floating fragments (JS) + storm base */
.ph.ph-theme-kuronami{background:#03060e;border-color:rgba(0,160,255,.65);box-shadow:0 0 55px rgba(0,140,255,.28),0 0 110px rgba(0,100,220,.1),inset 0 0 35px rgba(0,80,180,.12)}
.ph.ph-theme-kuronami .ph-theme-fx::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 60% at 50% 110%,rgba(0,80,160,.32) 0%,transparent 55%),radial-gradient(ellipse 40% 55% at 0% 50%,rgba(0,55,135,.2) 0%,transparent 55%),radial-gradient(ellipse 40% 55% at 100% 50%,rgba(0,55,135,.2) 0%,transparent 55%)}

/* Shimmer for non-themed glow tiers */
.ph.glow-tier-2::after,.ph.glow-tier-3::after{content:'';position:absolute;top:0;left:0;width:38%;height:100%;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.055) 50%,transparent 100%);transform:translateX(-160%) skewX(-14deg);animation:ph-shimmer 7s ease-in-out infinite;pointer-events:none}
.ph.glow-tier-3::after{animation-duration:4s;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.11) 50%,transparent 100%)}
@keyframes ph-shimmer{0%,50%{transform:translateX(-160%) skewX(-14deg)}85%,100%{transform:translateX(330%) skewX(-14deg)}}
@media(prefers-reduced-motion:reduce){.ph.ph-theme-glitchpop{animation:none}.ph.ph-theme-reaver .ph-theme-fx::before,.ph.ph-theme-elderflame .ph-theme-fx::after{animation:none}.ph.glow-tier-2::after,.ph.glow-tier-3::after{display:none}}

/* ── Customize modal ────────────────────────────────────────────── */
.cz-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:400;display:none;align-items:center;justify-content:center;padding:1rem}
.cz-overlay.open{display:flex}
.cz-modal{background:var(--bg1);border:1px solid var(--border2);border-radius:2px;padding:1.75rem 2rem;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.7)}
.cz-section{margin-bottom:1.5rem}
.cz-lbl{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;display:block}
.cz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.4rem}
.cz-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border-radius:2px;border:1px solid var(--border);cursor:pointer;transition:all .15s;background:var(--bg2);position:relative}
.cz-saved-badge{position:absolute;top:2px;right:4px;font-size:.42rem;font-family:'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--muted);opacity:.6;text-transform:uppercase}
.cz-item:hover{border-color:var(--primary)}
.cz-item.selected{border-color:var(--primary);background:rgba(131,190,229,.07)}
.cz-item-icon{line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.cz-item-icon svg{width:1.1rem;height:1.1rem}
.cz-item-text{font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cz-none{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border-radius:2px;border:1px dashed var(--border);cursor:pointer;transition:all .15s;font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--muted);background:var(--bg2)}
.cz-none:hover,.cz-none.selected{border-color:var(--muted);color:var(--text)}
.cz-save-btn{background:var(--primary);color:#0A0A0B;border:none;border-radius:2px;padding:.5rem 1.5rem;font-family:'Rajdhani',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity .15s}
.cz-save-btn:hover{opacity:.85}
.cz-cancel-btn{background:transparent;border:1px solid var(--border2);color:var(--muted);border-radius:2px;padding:.5rem 1.2rem;font-family:'Rajdhani',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .15s}
.cz-cancel-btn:hover{border-color:var(--muted);color:var(--text)}
.cz-bio-input{width:100%;box-sizing:border-box;background:var(--bg3);border:1px solid var(--border2);color:var(--text);font-family:'Rajdhani',sans-serif;font-size:.88rem;line-height:1.5;padding:.45rem .65rem;border-radius:2px;resize:none;height:56px;outline:none;transition:border-color .15s}
.cz-bio-input:focus{border-color:var(--primary)}
.cz-bio-count{font-family:'JetBrains Mono',monospace;font-size:.55rem;color:var(--muted);text-align:right;margin-top:.18rem}
.cz-swatches{display:flex;flex-wrap:wrap;gap:.35rem}
.cz-swatch{display:flex;flex-direction:column;align-items:center;gap:.22rem;padding:.4rem .55rem;border-radius:2px;border:1px solid var(--border);cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg2);min-width:52px;position:relative}
.cz-swatch:hover:not(.cz-swatch--locked){border-color:var(--primary);background:rgba(56,200,255,.06)}
.cz-swatch.selected{border-color:var(--primary);background:rgba(56,200,255,.08)}
.cz-swatch--locked{cursor:default;opacity:.5}
.cz-swatch-dot{width:20px;height:20px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.1)}
.cz-swatch-name{font-family:'JetBrains Mono',monospace;font-size:.52rem;color:var(--muted);letter-spacing:.04em;text-align:center}
.cz-swatch-lock{font-family:'JetBrains Mono',monospace;font-size:.48rem;color:var(--muted);opacity:.7;text-align:center;line-height:1.2}

/* ── Tooltips ───────────────────────────────────────────────────── */
[data-tip]{position:relative}
[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--border2);border-radius:2px;padding:.3rem .65rem;font-size:.56rem;font-family:'JetBrains Mono',monospace;color:var(--text2);pointer-events:none;opacity:0;transition:opacity .12s;z-index:500;max-width:220px;white-space:normal;text-align:center;line-height:1.35}
[data-tip]:hover::after,[data-tip]:focus-visible::after{opacity:1}

/* ── Mobile ─────────────────────────────────────────────────────── */
@media(max-width:700px){
  .ph-body{gap:1rem;padding:1.1rem 1.1rem 1.4rem}
  .ph-wr{padding:.9rem 1.1rem 1rem;margin-top:0}
  .ph-av{width:76px;height:76px}
  .ph-wm{width:80px;height:80px;right:.75rem}
  .ph-name{font-size:1.4rem}
  .ps-val.big{font-size:1.65rem}
  .ps-val.med{font-size:1.2rem}
  .ps-cell.feat{padding:.9rem 1rem .75rem}
  .ptab{padding:.45rem .9rem;font-size:.62rem}
}
.ps-secondary-only{border-top:1px solid var(--border)!important;border-radius:4px!important}
.ach-section-hdr{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:.5rem 0 .28rem;border-bottom:1px solid var(--border);margin-bottom:.15rem}
.ach-section-hdr-locked{margin-top:.75rem;opacity:.65}
.ach-section-count{font-size:.52rem;opacity:.55;margin-left:.3rem}
/* ── Light mode ─────────────────────────────────────────────── */

