.psfhr-root { --psf-burgundy:#9e1b32; --psf-green:#0b3d2e; --psf-gold:#d4af37; --psf-off-white:#faf9f6; --psf-ink:#20231f; --psf-muted:#69716c; --psf-line:#e4e3de; color:var(--psf-ink); container-type:inline-size; font-family:inherit; line-height:1.45; width:100%; }
.psfhr-root *, .psfhr-root *::before, .psfhr-root *::after { box-sizing:border-box; }
.psfhr-root button, .psfhr-root select { font:inherit; }
.psf-controls { align-items:center; background:var(--psf-off-white); border:1px solid rgba(11,61,46,.35); border-left:5px solid var(--psf-green); border-radius:10px; display:flex; gap:.8rem; justify-content:space-between; margin-bottom:1rem; padding:.65rem; }
.psf-view-switch { background:#fff; border:1px solid var(--psf-line); border-radius:8px; display:inline-flex; padding:3px; }
.psf-view-switch button { background:transparent; border:0; border-radius:6px; color:var(--psf-green); cursor:pointer; font-size:.72rem; font-weight:850; letter-spacing:.04em; min-height:38px; padding:.55rem .75rem; text-transform:uppercase; }
.psf-view-switch button.is-active { background:var(--psf-burgundy); color:#fff; }
.psf-view-switch button:focus-visible, .psf-week select:focus-visible, .psfhr-root a:focus-visible { outline:3px solid rgba(212,175,55,.65); outline-offset:2px; }
.psf-week { align-items:center; color:var(--psf-green); display:flex; font-size:.68rem; font-weight:850; gap:.45rem; letter-spacing:.04em; text-transform:uppercase; }
.psf-week select { appearance:none; background:#fff linear-gradient(45deg,transparent 50%,var(--psf-burgundy) 50%) calc(100% - 14px) 50%/5px 5px no-repeat; border:1px solid #c9d0cc; border-radius:7px; color:var(--psf-ink); cursor:pointer; font-weight:750; min-height:38px; padding:.45rem 1.75rem .45rem .65rem; }
.psfhr-card { background:#fff; border:1px solid var(--psf-line); border-top:4px solid var(--psf-burgundy); border-radius:14px; box-shadow:0 7px 20px rgba(11,61,46,.05); overflow:hidden; padding:clamp(.9rem,3cqw,1.2rem); }
.psfhr-card h3 { color:var(--psf-green); font-size:clamp(1rem,4.4cqw,1.25rem); font-weight:900; letter-spacing:.035em; line-height:1.15; margin:0 0 .9rem; text-transform:uppercase; }
.psfhr-podium { display:grid; gap:.65rem; }
.psfhr-place { align-items:center; background:var(--psf-off-white); border:1px solid var(--psf-line); border-left:5px solid var(--psf-place,#a7aaa8); border-radius:10px; display:grid; gap:.45rem .65rem; grid-template-columns:auto minmax(0,1fr) auto; padding:.72rem; }
.psfhr-place.is-1 { --psf-place:var(--psf-gold); background:#fffdf4; } .psfhr-place.is-2 { --psf-place:#9aa1a5; } .psfhr-place.is-3 { --psf-place:#a96f3b; }
.psfhr-rank { align-items:center; background:var(--psf-place); border-radius:999px; color:#fff; display:flex; font-size:.85rem; font-weight:900; height:34px; justify-content:center; width:34px; }
.psfhr-place.is-1 .psfhr-rank { color:#4f3b00; }
.psfhr-main { min-width:0; }
.psfhr-site { font-size:.75rem; font-weight:850; line-height:1.2; overflow-wrap:anywhere; }
.psfhr-site a { color:var(--psf-green); text-decoration:none; } .psfhr-site a:hover { color:var(--psf-burgundy); text-decoration:underline; }
.psfhr-track { background:#e9e8e2; border-radius:999px; height:5px; margin-top:.38rem; overflow:hidden; }
.psfhr-track span { background:linear-gradient(90deg,var(--psf-green),var(--psf-gold)); border-radius:inherit; display:block; height:100%; }
.psfhr-score { color:var(--psf-burgundy); font-size:1rem; font-weight:900; line-height:1; text-align:right; white-space:nowrap; }
.psfhr-score small { color:var(--psf-muted); display:block; font-size:.48rem; font-weight:800; letter-spacing:.03em; margin-top:.25rem; text-transform:uppercase; }
.psfhr-place dl { border-top:1px solid rgba(100,100,90,.14); display:grid; gap:.3rem; grid-column:2/-1; grid-template-columns:repeat(3,1fr); margin:.12rem 0 0; padding-top:.48rem; }
.psfhr-place dt { color:var(--psf-muted); font-size:.48rem; font-weight:800; letter-spacing:.025em; line-height:1.1; text-transform:uppercase; }
.psfhr-place dd { font-size:.67rem; font-weight:850; margin:.08rem 0 0; }
.psf-move { font-weight:850; white-space:nowrap; } .psf-move.is-up { color:#15783a; } .psf-move.is-down { color:var(--psf-burgundy); } .psf-move.is-same, .psf-muted { color:var(--psf-muted); }
.psf-empty { align-items:center; background:var(--psf-off-white); display:flex; flex-direction:column; justify-content:center; min-height:170px; padding:1rem; text-align:center; }
.psf-empty > span { background:linear-gradient(90deg,var(--psf-burgundy) 0 67%,var(--psf-gold) 67%); border-radius:999px; height:5px; width:52px; }
.psf-empty p, .psf-loading { color:var(--psf-muted); font-size:.76rem; font-weight:750; letter-spacing:.02em; margin:.65rem 0 0; text-transform:uppercase; }
.psf-loading { padding:2rem; text-align:center; }
.psf-sr-only { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
@container (max-width:430px) { .psfhr-place { grid-template-columns:auto minmax(0,1fr); } .psfhr-score { grid-column:2; text-align:left; } .psfhr-place dl { grid-column:1/-1; } .psf-controls { align-items:stretch; flex-direction:column; } .psf-view-switch { display:grid; grid-template-columns:1fr 1fr; } .psf-week { justify-content:space-between; } }
@media (prefers-reduced-motion:reduce) { .psfhr-root * { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
