/* NFL Playoff Hub: /nfl-playoffs-{year}/ and /super-bowl-{year}/ only. NFL navy / red, no gold. */
.npp-yh{--yh-ink:#0E2240;--yh-ink2:#163463;--yh-red:#C8102E;--yh-line:#E5E7EB;--yh-bg:#F6F8FB;--yh-card:#fff;--yh-muted:#667085;--yh-win:#067647;--npp-gold:#C8102E;--npp-gold-soft:#FBE9EC}
.npp-yh .npp-box{border-radius:18px;margin-bottom:24px}

/* hero */
.npp-yh__hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 16px;padding:clamp(22px,3.4vw,40px);border-radius:22px;color:#fff;background:radial-gradient(90% 110% at 100% 0%,rgba(200,16,46,.16),transparent 60%),linear-gradient(160deg,#0A1A36 0%,#0E2240 50%,#133058 100%);box-shadow:0 24px 60px -30px rgba(10,26,54,.7)}
.npp-yh__hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 2px,transparent 2px 10%);mask:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.1));pointer-events:none}
.npp-yh__hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--yh-red)}
.npp-yh__heroin{position:relative;max-width:640px}
.npp-yh__eyebrow{margin:0 0 8px;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9FB3D1}
.npp-yh .npp-yh__h1{margin:0 0 10px;font-family:var(--npp-display,inherit);font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.05;color:#fff;letter-spacing:-.01em}
.npp-yh__h1 span{display:block;margin-top:8px;font-size:.5em;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:0}
.npp-yh__lead{margin:0 0 14px;font-size:1.02rem;line-height:1.6;color:rgba(255,255,255,.86)}
.npp-yh__logo{position:relative;flex:none;width:clamp(88px,12vw,140px);height:auto;padding:14px;border-radius:24px;background:rgba(255,255,255,.95);box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.npp-yh .npp-hero__btn,.npp-yh .npp-hero__btn:visited{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;margin:0 8px 8px 0;border-radius:10px;background:var(--yh-red);color:#fff!important;font-weight:700;font-size:.88rem;letter-spacing:.02em;text-transform:uppercase;text-decoration:none}
.npp-yh .npp-hero__btn.is-ghost{background:transparent;border:2px solid rgba(255,255,255,.7)}
.npp-yh .npp-hero__btn:hover{filter:brightness(1.08)}

/* key facts */
.npp-yh .npp-yh__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0 0 20px;padding:0}
.npp-yh__facts div{padding:12px 14px;border:1px solid var(--yh-line);border-radius:12px;background:var(--yh-card)}
.npp-yh__facts dt{margin:0;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--yh-muted)}
.npp-yh__facts dd{margin:4px 0 0;font-family:var(--npp-display,inherit);font-size:1.05rem;font-weight:700;color:var(--yh-ink);line-height:1.25}

/* results by round */
.npp-yh__round+.npp-yh__round{margin-top:18px}
.npp-yh .npp-yh__rh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid var(--yh-line);font-family:var(--npp-display,inherit);font-size:1.12rem;color:var(--yh-ink)}
.npp-yh__rh small{font-family:inherit;font-size:.78rem;color:var(--yh-muted);font-weight:600}
.npp-yh ul.npp-yh__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.npp-yh .npp-yh__card{margin:0}
.npp-yh__card a{display:block;height:100%;padding:12px 14px;border:1px solid var(--yh-line);border-radius:14px;background:var(--yh-card);text-decoration:none;color:var(--yh-ink);transition:transform .15s,border-color .15s,box-shadow .15s}
.npp-yh__card a:hover{transform:translateY(-2px);border-color:var(--yh-red);box-shadow:0 12px 26px -16px rgba(14,34,64,.45)}
.npp-yh__card.is-live a{border-color:var(--yh-red)}
.npp-yh__cmeta{display:flex;justify-content:space-between;margin:0 0 8px;font-size:.74rem;color:var(--yh-muted)}
.npp-yh__cmeta em{font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--yh-ink)}
.is-live .npp-yh__cmeta em{color:var(--yh-red)}
.npp-yh__card ol{list-style:none;margin:0;padding:0}
.npp-yh__card ol li{display:grid;grid-template-columns:18px 26px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:5px 0}
.npp-yh__card ol li+li{border-top:1px dashed var(--yh-line)}
.npp-yh__card i{font-style:normal;font-size:.72rem;font-weight:800;color:var(--yh-muted);text-align:center}
.npp-yh__card img{width:26px;height:26px;object-fit:contain}
.npp-yh__card span{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.npp-yh__card span small{margin-left:6px;font-size:.68rem;font-weight:600;color:var(--yh-muted)}
.npp-yh__card b{font-family:var(--npp-display,inherit);font-size:1.25rem;font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}
.npp-yh__card .is-w span,.npp-yh__card .is-w b{font-weight:800;color:var(--yh-ink)}
.npp-yh__card .is-l{opacity:.55}
.npp-yh__tv{margin:8px 0 0;font-size:.74rem;color:var(--yh-muted)}

/* road to the Super Bowl */
.npp-yh__roads{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.npp-yh__road{border:1px solid var(--yh-line);border-radius:14px;padding:14px 16px;background:var(--yh-card)}
.npp-yh__roadh{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.npp-yh__roadh span{display:flex;flex-direction:column;line-height:1.2}
.npp-yh__roadh b{font-family:var(--npp-display,inherit);font-size:1.1rem;color:var(--yh-ink)}
.npp-yh__roadh small{font-size:.76rem;color:var(--yh-muted)}
.npp-yh__road ol{list-style:none;margin:0;padding:0 0 0 14px;border-left:3px solid var(--yh-line)}
.npp-yh__road li{position:relative;margin:0;padding:6px 0 6px 12px;display:flex;flex-direction:column}
.npp-yh__road li::before{content:"";position:absolute;left:-21px;top:12px;width:11px;height:11px;border-radius:50%;background:var(--yh-line);border:2px solid var(--yh-card)}
.npp-yh__road li.is-w::before{background:var(--yh-win)}.npp-yh__road li.is-l::before{background:var(--yh-red)}.npp-yh__road li.is-bye::before{background:var(--yh-ink)}
.npp-yh__road li span{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--yh-muted)}
.npp-yh__road li a{color:var(--yh-ink);text-decoration:none}
.npp-yh__road li a:hover{color:var(--yh-red)}
.npp-yh__road li.is-w b{color:var(--yh-win)}.npp-yh__road li.is-l b{color:var(--yh-red)}

/* field */
.npp-yh__fld{border:1px solid var(--yh-line);border-radius:14px;overflow:hidden;background:var(--yh-card)}
.npp-yh .npp-yh__fld .npp-race__h{display:flex;align-items:baseline;justify-content:space-between;margin:0;padding:10px 14px;color:#fff;background:var(--yh-ink);font-family:var(--npp-display,inherit);font-size:1.05rem;letter-spacing:.06em}
.npp-yh .npp-yh__fh--nfc{background:var(--yh-red)}
.npp-yh__fld .npp-race__h small{font-size:.7rem;opacity:.8;font-weight:600;letter-spacing:.02em}
.npp-yh__fld table{margin:0;border:0}
.npp-yh__fld th[scope=row]{display:flex;align-items:center;gap:8px;font-weight:700}
.npp-yh__fld th[scope=row] a{color:var(--yh-ink);text-decoration:none}
.npp-yh__fld td i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--yh-ink);color:#fff;font-style:normal;font-size:.75rem;font-weight:800}
.npp-yh__fin9 td:last-child{font-weight:800;color:var(--yh-win)}
.npp-yh__fin1 td:last-child,.npp-yh__fin3 td:last-child,.npp-yh__fin5 td:last-child,.npp-yh__fin7 td:last-child{font-weight:600}
.npp-yh__fin2 td:last-child,.npp-yh__fin4 td:last-child,.npp-yh__fin6 td:last-child,.npp-yh__fin8 td:last-child{color:var(--yh-muted)}

/* numbers */
.npp-yh ul.npp-yh__nums{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.npp-yh__nums li{margin:0;padding:14px 16px;border:1px solid var(--yh-line);border-radius:14px;background:var(--yh-bg);display:flex;flex-direction:column;gap:3px}
.npp-yh__nums b{font-family:var(--npp-display,inherit);font-size:2rem;line-height:1;color:var(--yh-red);font-variant-numeric:tabular-nums}
.npp-yh__nums strong{font-size:.9rem;color:var(--yh-ink)}
.npp-yh__nums small{font-size:.78rem;color:var(--yh-muted);line-height:1.4}

/* year nav */
.npp-yh__yn{display:flex;justify-content:space-between;gap:12px;margin:0 0 24px}
.npp-yh__yn a{flex:1;max-width:48%;padding:14px 16px;border:1px solid var(--yh-line);border-radius:12px;background:var(--yh-card);font-family:var(--npp-display,inherit);font-weight:700;color:var(--yh-ink);text-decoration:none}
.npp-yh__yn a[rel=next]{text-align:right}
.npp-yh__yn a:hover{border-color:var(--yh-red);color:var(--yh-red)}

@media (max-width:640px){.npp-yh__hero{flex-direction:column-reverse;align-items:flex-start}.npp-yh__logo{width:72px;padding:8px;border-radius:16px}.npp-yh__yn{flex-direction:column}.npp-yh__yn a{max-width:none}}

/* dark */
html[data-theme="dark"] .npp-yh{--yh-ink:#F3F6FB;--yh-line:#283449;--yh-bg:#1E2C48;--yh-card:#172238;--yh-muted:#9CA3AF;--yh-win:#47CD89}
html[data-theme="dark"] .npp-yh .npp-yh__fld .npp-race__h,html[data-theme="dark"] .npp-yh__fld td i{background:#0A2A5E}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .npp-yh{--yh-ink:#F3F6FB;--yh-line:#283449;--yh-bg:#1E2C48;--yh-card:#172238;--yh-muted:#9CA3AF;--yh-win:#47CD89}html:not([data-theme="light"]) .npp-yh .npp-yh__fld .npp-race__h,html:not([data-theme="light"]) .npp-yh__fld td i{background:#0A2A5E}}

/* ---------- Super Bowl page ---------- */
.npp-sb__hero{display:block}
.npp-sb__in{max-width:none}
.npp-sb__board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:18px 0 16px;padding:16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.npp-sb__team{display:flex;align-items:center;gap:12px;min-width:0}
.npp-sb__team:last-child{flex-direction:row-reverse;text-align:right}
.npp-sb__team img{width:clamp(48px,7vw,84px);height:auto;flex:none;padding:6px;border-radius:14px;background:rgba(255,255,255,.95)}
.npp-sb__team p{margin:0;display:flex;flex-direction:column;min-width:0}
.npp-sb__team small{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9FB3D1}
.npp-sb__team b{font-family:var(--npp-display,inherit);font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.15}
.npp-sb__team b a{color:#fff;text-decoration:none}
.npp-sb__team em{font-style:normal;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--yh-red);border-radius:6px;padding:2px 7px;align-self:flex-start;margin-top:4px}
.npp-sb__team:last-child em{align-self:flex-end}
.npp-sb__sc{margin-left:auto;font-family:var(--npp-display,inherit);font-size:clamp(2.2rem,6vw,3.6rem);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.npp-sb__team:last-child .npp-sb__sc{margin-left:0;margin-right:auto}
.npp-sb__team.is-l{opacity:.6}
.npp-sb__mid{margin:0}
.npp-sb__mid span{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.npp-sb__ls th[scope=row]{text-align:left;font-weight:700}
.npp-sb__hist{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--yh-line);border-radius:14px;background:var(--yh-card)}
.npp-sb__hist b{font-family:var(--npp-display,inherit);font-size:1.1rem;color:var(--yh-ink)}
.npp-sb__hist ul{list-style:none;display:flex;gap:18px;margin:6px 0;padding:0}
.npp-sb__hist li{margin:0;display:flex;align-items:baseline;gap:6px}
.npp-sb__hist li strong{font-family:var(--npp-display,inherit);font-size:1.6rem;color:var(--yh-red);line-height:1}
.npp-sb__hist li span{font-size:.8rem;color:var(--yh-muted)}
.npp-sb__hist p{margin:0;font-size:.85rem;color:var(--yh-muted);line-height:1.5}
.npp-sb__meet{margin:12px 0 0;padding:10px 14px;border-left:4px solid var(--yh-red);background:var(--yh-bg);border-radius:0 10px 10px 0}
@media (max-width:640px){.npp-sb__board{grid-template-columns:1fr;gap:8px}.npp-sb__team:last-child{flex-direction:row;text-align:left}.npp-sb__team:last-child .npp-sb__sc{margin-left:auto;margin-right:0}.npp-sb__team:last-child em{align-self:flex-start}.npp-sb__mid{text-align:center}}
