/* =====================================================================
   UHS COMPONENTS: shared look for the NCAA hub, ECAC Hub, team pages and
   homepage cards. Colors come from tokens so the site's dark mode and the
   Customizer brand colors carry through.
   ===================================================================== */
:root{
  --c-accent:var(--uhs-brand-garnet,#5a1222);
  --c-accent-text:var(--uhs-brand-garnet,#5a1222);
  --c-surface:#ffffff; --c-surface-2:#f8fafc; --c-surface-3:#f1f5f9; --c-surface-tint:#eef3f9;
  --c-highlight:#fff8e1; --c-highlight-soft:#fcfcf5;
  --c-border:#e2e8f0; --c-border-soft:#eef2f6; --c-border-strong:#cbd5e1;
  --c-text:#0f172a; --c-text-2:#475569; --c-muted:#64748b; --c-faint:#94a3b8;
  --c-head-bg:#0f172a; --c-win:#2e7d32; --c-loss:#c62828;
  /* accent rules on light surfaces follow the Customizer "hover" color (Union gray on the live site); gold is kept for medals/trophies */
  --c-line:var(--uhs-hover-color,#d4af37); --c-gold:#d4af37;
}
html[data-theme="dark"]{
  --c-accent-text:#f3a6b6;
  --c-surface:#1e293b; --c-surface-2:#172033; --c-surface-3:#243247; --c-surface-tint:#1f2d44;
  --c-highlight:rgba(212,175,55,.16); --c-highlight-soft:rgba(212,175,55,.08);
  --c-border:#334155; --c-border-soft:#2a3a52; --c-border-strong:#475569;
  --c-text:#f1f5f9; --c-text-2:#cbd5e1; --c-muted:#94a3b8; --c-faint:#7b8ba3;
  --c-head-bg:#020617; --c-win:#4ade80; --c-loss:#f87171;
}

/* ---------- NCAA hub & team panels ---------- */

.uhs-ncaa-empty{padding:20px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:8px}
.uhs-ncaa-season{height:36px;border-radius:6px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.3);color:#fff;font-weight:700;padding:0 10px}
.uhs-ncaa-season option{color:#000}
.uhs-ncaa-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.uhs-ncaa-pills button{border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text-2);border-radius:20px;padding:6px 14px;font-weight:800;font-size:.8rem;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}
.uhs-ncaa-pills button.is-on{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.uhs-ncaa-source a{color:inherit;text-decoration:underline}
.uhs-ncaa-views{display:flex;gap:0;margin:0 0 18px;border-bottom:2px solid var(--c-border);flex-wrap:wrap}
.uhs-ncaa-views button{background:none!important;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:10px 18px;font-weight:900;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted)!important;cursor:pointer}
.uhs-ncaa-views button.is-on{color:var(--c-accent-text)!important;border-bottom-color:var(--c-line)}
.uhs-ncaa-lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.uhs-ncaa-lcard{background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;overflow:hidden}
.uhs-ncaa-lcard h4{margin:0!important;padding:9px 12px;background:linear-gradient(135deg,var(--uhs-grad-mid,#420d19),var(--uhs-grad-end,#22050b));color:#fff!important;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--uhs-brand-gold,#d4af37)}
.uhs-ncaa-lcard ol{list-style:none;margin:0;padding:4px 0}
.uhs-ncaa-lcard li{display:flex;align-items:center;gap:8px;padding:5px 12px;font-size:.84rem;border-bottom:1px solid var(--c-border-soft)}
.uhs-ncaa-lcard li:last-child{border-bottom:0}
.uhs-ncaa-lcard li .n{width:18px;color:var(--c-faint);font-weight:800;font-size:.75rem}
.uhs-ncaa-lcard li img{width:18px;height:18px;object-fit:contain}
.uhs-ncaa-lcard li .p{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;color:var(--c-text)}
.uhs-ncaa-lcard li .p small{font-weight:500;color:var(--c-muted)}
.uhs-ncaa-lcard li .v{font-weight:900;color:var(--c-accent-text)}
.uhs-ncaa-lcard li.is-primary{background:var(--c-highlight)}
.uhs-ncaa-lcard .empty{padding:10px 12px;color:var(--c-faint);font-size:.8rem}
.uhs-ncaa-note-box{background:var(--c-surface-2);border:1px solid var(--c-border);border-left:4px solid var(--c-line);border-radius:6px;padding:10px 14px;font-size:.82rem;color:var(--c-text-2);margin-bottom:16px;line-height:1.5}
.uhs-ncaa-callout{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,var(--uhs-grad-mid,#420d19),var(--uhs-grad-end,#22050b));color:#fff;border-radius:12px;padding:16px 20px;margin-bottom:18px;border-left:5px solid var(--uhs-brand-gold,#d4af37)}
.uhs-ncaa-callout img{width:56px;height:56px;object-fit:contain;background:var(--c-surface);border-radius:50%;padding:6px}
.uhs-ncaa-callout .t{flex:1;min-width:200px}
.uhs-ncaa-callout .t b{display:block;font-size:1.2rem}
.uhs-ncaa-callout .t span{font-size:.85rem;color:rgba(255,255,255,.8)}
.uhs-ncaa-callout .k{display:flex;gap:10px;flex-wrap:wrap}
.uhs-ncaa-callout .k div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:6px 12px;text-align:center}
.uhs-ncaa-callout .k em{display:block;font-style:normal;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.7)}
.uhs-ncaa-callout .k strong{font-size:1.1rem;color:var(--uhs-brand-gold,#d4af37)}
.uhs-ncaa-chip{display:inline-block;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:10px;white-space:nowrap}
.uhs-ncaa-chip.s-auto,.uhs-ncaa-chip.s-autoproj{background:#dbeafe;color:#1e40af}.uhs-ncaa-chip.s-in{background:#dcfce7;color:#166534}
.uhs-ncaa-chip.s-last4in{background:#fef9c3;color:#854d0e}.uhs-ncaa-chip.s-first4out{background:#ffedd5;color:#9a3412}
.uhs-ncaa-chip.s-next4out{background:#fee2e2;color:#991b1b}.uhs-ncaa-chip.s-out,.uhs-ncaa-chip.s-ineligible{background:var(--c-surface-3);color:var(--c-muted)}
.uhs-ncaa-bgrid{display:grid;grid-template-columns:3fr 2fr;gap:18px;margin-bottom:18px}
.uhs-ncaa-bubbles{display:grid;gap:12px}
.uhs-ncaa-bubbles .lcard-in h4{background:#166534!important}.uhs-ncaa-bubbles .lcard-out h4{background:#9a3412!important}.uhs-ncaa-bubbles .lcard-next h4{background:#475569!important}
.uhs-ncaa-regions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.uhs-ncaa-region{background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;padding:10px}
.uhs-ncaa-region h5{margin:0 0 8px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--c-accent-text)}
.uhs-ncaa-mu{border:1px solid var(--c-border-soft);border-radius:8px;margin-bottom:8px;overflow:hidden}
.uhs-ncaa-mu div{display:flex;align-items:center;gap:6px;padding:5px 8px;font-size:.8rem;font-weight:700}
.uhs-ncaa-mu div+div{border-top:1px solid var(--c-border-soft)}
.uhs-ncaa-mu i{font-style:normal;width:18px;color:var(--c-faint);font-size:.72rem;font-weight:900}
.uhs-ncaa-mu img{width:18px;height:18px;object-fit:contain}
.uhs-ncaa-mu .is-primary{background:var(--c-highlight)}
@media (max-width:900px){.uhs-ncaa-bgrid{grid-template-columns:1fr}.uhs-ncaa-regions{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.uhs-ncaa-regions{grid-template-columns:1fr}}
.uhs-ncaa-hpills{margin-bottom:8px}
.uhs-ncaa-hobey td.rk{font-weight:900;color:var(--c-faint)!important;width:36px}
.uhs-ncaa .uhs-ncaa-hobey tr.tier-hat td{background:var(--c-highlight)}
.uhs-ncaa .uhs-ncaa-hobey tr.tier-top10 td{background:var(--c-highlight-soft)}
.uhs-ncaa .uhs-ncaa-hobey tr.is-primary td.l{color:var(--c-accent-text)!important}
.uhs-ncaa-hobey .who{display:inline-flex;align-items:center;gap:8px}
.uhs-ncaa-hobey .who img{width:22px;height:22px;object-fit:contain}
.uhs-ncaa-hobey .who small{display:block;font-weight:500;color:var(--c-muted);font-size:.72rem}
.uhs-ncaa-tier{display:inline-block;font-size:.6rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:10px;margin-left:6px;vertical-align:middle}
.uhs-ncaa-tier.hat{background:var(--c-gold);color:#1a202c}
.uhs-ncaa-tier.top10{background:var(--c-surface-3);color:var(--c-text-2)}
.uhs-ncaa-hobey-cut td{padding:0!important;height:3px;background:var(--c-line)!important}
.uhs-ncaa-hint,.uhs-ncaa-source{font-size:.8rem;color:var(--c-muted);margin:0 0 18px}

.uhs-ncaa-conf{margin-bottom:28px}
.uhs-ncaa-conf-title{margin:0 0 8px;padding-left:10px;border-left:4px solid var(--c-line);font-size:1.05rem;font-weight:900;text-transform:uppercase;color:var(--c-accent-text)}
.uhs-ncaa-scroll{overflow-x:auto}
.uhs-ncaa-table{width:100%;border-collapse:collapse;font-size:.9rem}
.uhs-ncaa .uhs-ncaa-table th{background:var(--c-surface-3)!important;color:var(--c-text-2)!important;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:8px 6px;text-align:center;border-bottom:2px solid var(--c-border)}
.uhs-ncaa-table td{padding:8px 6px;text-align:center;border-bottom:1px solid var(--c-border-soft)}
.uhs-ncaa-table .c-team{text-align:left}
.uhs-ncaa-table .c-rk{width:34px;color:var(--c-faint);font-weight:800}
.uhs-ncaa-table .c-arrow{width:28px;color:var(--c-faint)}
.uhs-ncaa-team{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--c-text)}
.uhs-ncaa-team img{width:26px;height:26px;object-fit:contain}
.uhs-ncaa-row{cursor:pointer;transition:background .15s}
.uhs-ncaa-row:hover,.uhs-ncaa-row:focus{background:var(--c-surface-2);outline:none}
.uhs-ncaa-row.is-primary{background:var(--c-highlight)}
.uhs-ncaa-row.is-primary .uhs-ncaa-team{color:var(--c-accent-text)}
.uhs-ncaa-row[aria-expanded="true"]{background:var(--c-surface-3)}
.uhs-ncaa-row[aria-expanded="true"] .c-arrow span{display:inline-block;transform:rotate(180deg)}
.uhs-ncaa-detail>td{padding:0!important;background:var(--c-surface-2);text-align:left!important}
.uhs-ncaa-panel{padding:18px 20px 22px;border-left:4px solid var(--c-line)}
.uhs-ncaa-loading{color:var(--c-muted);font-size:.9rem}
.uhs-ncaa-p-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.uhs-ncaa-p-head img{width:52px;height:52px;object-fit:contain}
.uhs-ncaa-p-name{font-size:1.35rem;font-weight:900;color:var(--c-text);line-height:1.1}
.uhs-ncaa-p-sub{font-size:.8rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.uhs-ncaa-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:18px}
.uhs-ncaa-tiles>div{background:var(--c-surface);border:1px solid var(--c-border);border-top:3px solid var(--c-accent);border-radius:8px;padding:8px 10px;text-align:center}
.uhs-ncaa-tiles span{display:block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted)}
.uhs-ncaa-tiles b{display:block;font-size:1.15rem;font-weight:900;color:var(--c-text);margin-top:2px}
.uhs-ncaa-tiles em{display:block;font-style:normal;font-size:.7rem;color:var(--c-muted)}
.uhs-ncaa-form i{display:inline-block;width:18px;height:18px;line-height:18px;border-radius:4px;font-style:normal;font-size:.7rem;color:#fff;margin:0 1px;background:#94a3b8}
.uhs-ncaa-form i.r-w{background:#2e7d32}.uhs-ncaa-form i.r-l{background:#c62828}
.uhs-ncaa-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:6px}
.uhs-ncaa-p h4{margin:14px 0 8px;font-size:.85rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--c-accent-text)}
.uhs-ncaa-mini{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px}
.uhs-ncaa-mini td{padding:6px 8px;border-bottom:1px solid var(--c-border-soft)}
.uhs-ncaa-mini .d{width:52px;color:var(--c-muted);white-space:nowrap}
.uhs-ncaa-mini .o{text-align:left}
.uhs-ncaa-mini .r,.uhs-ncaa-mini .t{text-align:right;white-space:nowrap;font-weight:800}
.uhs-ncaa-mini .r a{color:inherit;text-decoration:underline dotted}
.uhs-ncaa .uhs-ncaa-mini td.r-w{color:var(--c-win)!important}.uhs-ncaa .uhs-ncaa-mini td.r-l{color:var(--c-loss)!important}.uhs-ncaa .uhs-ncaa-mini td.r-t{color:var(--c-text-2)!important}
.uhs-ncaa .uhs-ncaa-mini td.t{color:var(--c-text)!important}

.uhs-ncaa-opp{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.uhs-ncaa-opp img{width:18px;height:18px;object-fit:contain}
.uhs-ncaa-opp a{color:inherit;text-decoration:none}
.uhs-ncaa-opp a:hover{text-decoration:underline}
.uhs-ncaa-tag{font-size:.6rem;font-weight:900;padding:1px 5px;border-radius:3px;background:var(--c-surface-3);color:var(--c-text-2);vertical-align:middle}
.uhs-ncaa-tag.is-conf{background:#fdf2f2;color:var(--c-accent-text)}
.uhs-ncaa-tag.is-ex{background:#fff7ed;color:#c2410c}
.uhs-ncaa-note{font-size:.7rem;color:var(--c-muted)}
.uhs-ncaa-none{color:var(--c-muted);font-size:.85rem}
.uhs-ncaa-stats{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--c-surface);border:1px solid var(--c-border)}
.uhs-ncaa .uhs-ncaa-stats th{background:var(--c-head-bg)!important;color:#fff!important;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;padding:7px 6px;cursor:pointer;white-space:nowrap}
.uhs-ncaa-stats th.sorted-desc::after{content:" \25BE"}.uhs-ncaa-stats th.sorted-asc::after{content:" \25B4"}
.uhs-ncaa-stats td{padding:6px;text-align:center;border-bottom:1px solid var(--c-border-soft)}
.uhs-ncaa-stats .l{text-align:left;font-weight:700}
.uhs-ncaa-stats .pace{font-weight:900;color:var(--c-accent-text)}
.uhs-ncaa-stats tbody tr:nth-child(even){background:var(--c-surface-2)}
@media (max-width:767px){
  
  .c-hide-sm{display:none}
  .uhs-ncaa-cols{grid-template-columns:1fr}
  .uhs-ncaa-panel{padding:14px 12px}
}

/* ---------- ECAC Hub ---------- */

/* ECAC Hub:same layout language as the NCAA hub, in the ECAC navy & gold */
.uhs-ecachub{--hub-accent:var(--uhs-brand-navy,#002b5c);--hub-accent-text:var(--uhs-brand-navy,#002b5c);--hub-gold:var(--c-line)}
.uhs-ecachub .uhs-rb-body{padding:24px 28px!important}
.uhs-ecachub .uhs-feature-tabs:not(.uhs-feature-tabs--no-border){display:flex;flex-wrap:wrap;gap:0;margin:0 0 20px;border-bottom:2px solid var(--c-border)!important;background:none!important;padding:0!important;box-shadow:none!important}
.uhs-ecachub .uhs-feature-tabs:not(.uhs-feature-tabs--no-border) .uhs-feature-btn{background:none!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;margin:0 0 -2px!important;padding:10px 18px!important;font-weight:900!important;font-size:.85rem!important;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted)!important;box-shadow:none!important}
.uhs-ecachub .uhs-feature-tabs:not(.uhs-feature-tabs--no-border) .uhs-feature-btn.active{color:var(--hub-accent-text)!important;border-bottom-color:var(--hub-gold)!important}
.uhs-ecachub .uhs-feature-tabs--no-border{display:flex;flex-wrap:wrap;gap:8px;background:none!important;border:0!important;padding:0!important}
.uhs-ecachub .uhs-feature-tabs--no-border .uhs-feature-btn{border:1px solid var(--c-border-strong)!important;background:var(--c-surface)!important;color:var(--c-text-2)!important;border-radius:20px!important;padding:6px 14px!important;font-weight:800!important;font-size:.78rem!important;text-transform:uppercase;letter-spacing:.03em;box-shadow:none!important}
.uhs-ecachub .uhs-feature-tabs--no-border .uhs-feature-btn.active{background:var(--hub-accent)!important;border-color:var(--hub-accent)!important;color:#fff!important}
.uhs-ecachub .uhs-title-primary{padding-left:10px!important;border-left:4px solid var(--hub-gold)!important;color:var(--hub-accent-text)!important;font-weight:900!important;text-transform:uppercase;font-size:1.05rem!important}
.uhs-ecachub .uhs-flex-between{border-bottom:0!important;padding-bottom:0!important;margin-bottom:14px!important}
.uhs-ecachub .uhs-alert-box--info{background:var(--c-surface-2)!important;border:1px solid var(--c-border)!important;border-left:4px solid var(--hub-gold)!important;border-radius:6px!important;color:var(--c-text-2)!important;font-size:.82rem!important;padding:10px 14px!important}
.uhs-ecachub table.uhs-ecachub-table{width:100%;border-collapse:collapse;font-size:.9rem}
.uhs-ecachub table.uhs-ecachub-table th,.uhs-ecachub table.uhs-premium-table thead th{background:var(--c-surface-tint)!important;color:var(--c-text-2)!important;font-size:.72rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:9px 8px!important;text-align:center;border-bottom:2px solid var(--hub-accent)!important;box-shadow:none!important}
.uhs-ecachub table.uhs-ecachub-table > tbody > tr > td{padding:9px 8px;text-align:center;border-bottom:1px solid var(--c-border-soft)}
.uhs-ecachub table.uhs-ecachub-table > tbody > tr:not(.uhs-ncaa-detail):hover > td{background:var(--c-surface-2)}
.uhs-ecachub table.uhs-ecachub-table tr.is-primary > td{background:var(--c-highlight)}

.uhs-ecachub table.uhs-ecachub-table td.c-arrow{color:var(--c-faint)!important;font-weight:400!important;width:28px}
.uhs-ecachub table.uhs-ecachub-table tr.uhs-ncaa-row[aria-expanded="true"] > td{background:var(--c-surface-tint)}

.uhs-ecachub{--uhs-table-hover:var(--uhs-brand-navy,#002b5c)}

.uhs-ecachub .uhs-ncaa-tiles>div{border-top-color:var(--hub-accent)}
.uhs-ecachub .uhs-ncaa-p h4{color:var(--hub-accent-text)!important}
.uhs-ecachub .uhs-ac-team{border-radius:10px!important;overflow:hidden;border:1px solid var(--c-border)}
.uhs-ecachub .uhs-ac-header{border-bottom:3px solid var(--hub-gold);font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem!important}
.uhs-ecachub .uhs-card-panel{background:var(--c-surface-2)!important;border:1px solid var(--c-border)!important;border-radius:10px!important}
.uhs-ecachub .uhs-hub-hint{font-size:.8rem;color:var(--c-muted);margin:-4px 0 14px}

/* ---------- ECAC & Union team pages ---------- */

    .uhs-ecacteam .uhs-tp-body{padding:24px 28px!important}
    .uhs-ecacteam .uhs-ncaa-panel,.uhs-ecacteam .uhs-ncaa-p{border:0;padding:0}
    .uhs-ecacteam .uhs-ncaa-tiles>div{border-top-color:var(--team-color)}
    .uhs-ecacteam .uhs-ncaa-tiles>div.is-extra{background:var(--c-surface-2)}
    .uhs-ecacteam .uhs-ecacteam-pace{grid-template-columns:repeat(3,1fr);margin-bottom:10px}
    .uhs-ecacteam .uhs-ecacteam-pace b{font-size:1.35rem!important}
    @media (max-width:640px){.uhs-ecacteam .uhs-ecacteam-pace{grid-template-columns:1fr}}
    .uhs-ecacteam .uhs-ncaa-tiles b{font-size:1.1rem}
    
    .uhs-ecacteam .uhs-ncaa-p h4,.uhs-ecacteam .uhs-ecacteam-h{margin:14px 0 8px;font-size:.85rem!important;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--team-text,var(--team-color))!important;padding-left:10px;border-left:4px solid var(--uhs-brand-gold,#d4af37)}
    
    .uhs-ecacteam table.uhs-tp-table thead th{background:var(--c-head-bg)!important;color:#fff!important;font-size:.68rem!important;padding:8px 6px!important;border-bottom:0!important;letter-spacing:.04em}
    .uhs-ecacteam table.uhs-tp-table td{padding:7px 6px!important;border-bottom:1px solid var(--c-border-soft)!important}
    .uhs-ecacteam table.uhs-tp-table tbody tr:nth-child(even) td{background:var(--c-surface-2)}
    .uhs-ecacteam table.uhs-tp-table tbody tr:hover td{background:var(--c-surface-3)}
    
    .uhs-ecacteam .uhs-badge-iiv{color:var(--c-accent-text)!important;font-size:.95rem!important}
    
/* ---------- Homepage cards ---------- */

.uhs-gap-filler{margin-top:18px}
.uhs-gap-card-link{display:block;text-decoration:none!important;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.uhs-gap-card-link:hover{transform:translateY(-2px)}
/* Archive game card */
.uhs-gc{position:relative;overflow:hidden;border-radius:12px;padding:14px 18px 12px;color:#fff!important;
  background:linear-gradient(135deg,var(--uhs-grad-mid,#420d19) 0%,var(--uhs-grad-end,#22050b) 100%);
  border-left:4px solid var(--c-line);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.uhs-gc::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 14px)}
.uhs-gc:hover{box-shadow:0 10px 24px rgba(0,0,0,.28)}
.uhs-gc-watermark{position:absolute;right:-24px;bottom:-30px;width:150px;height:150px;object-fit:contain;opacity:.09;filter:grayscale(1) brightness(2);pointer-events:none}
.uhs-gc-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.uhs-gc-kicker{font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--uhs-brand-gold,#d4af37)}
.uhs-gc-date{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:2px 9px;border-radius:20px}
.uhs-gc-body{position:relative;z-index:1;display:flex;align-items:center;gap:14px}
.uhs-gc-logo{flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:var(--c-surface);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--uhs-brand-gold,#d4af37)}
.uhs-gc-logo img{width:38px;height:38px;object-fit:contain}
.uhs-gc-text{flex:1;min-width:0}
.uhs-gc-name{font-weight:900;font-size:1.15rem;line-height:1.15;color:#fff}
.uhs-gc-line{font-size:.85rem;color:rgba(255,255,255,.82);margin-top:3px}
.uhs-gc-line span{color:rgba(255,255,255,.6)}
.uhs-gc-result{flex:0 0 auto;text-align:center;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:5px 12px;line-height:1.1}
.uhs-gc-result b{display:block;font-size:.72rem;letter-spacing:.1em;color:#7ee2a0}

.uhs-gc-result span{font-size:1.15rem;font-weight:900;color:#fff;white-space:nowrap}
.uhs-gc-foot{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.uhs-gc-cta{color:var(--uhs-brand-gold,#d4af37);font-weight:900}
.uhs-gc:hover .uhs-gc-cta{text-decoration:underline}
/* Player spotlight card */

.uhs-pc{border-radius:12px;overflow:hidden;background:var(--c-surface);border:1px solid var(--c-border);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.uhs-pc:hover{box-shadow:0 8px 20px rgba(0,0,0,.14)}
.uhs-pc-band{display:flex;flex-direction:column;gap:2px;padding:9px 14px;background:linear-gradient(135deg,var(--uhs-grad-mid,#420d19) 0%,var(--uhs-grad-end,#22050b) 100%);border-bottom:3px solid var(--uhs-brand-gold,#d4af37)}
.uhs-pc-kicker{font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--uhs-brand-gold,#d4af37)}
.uhs-pc-rank{font-size:.7rem;font-weight:700;color:rgba(255,255,255,.85)}
.uhs-pc-id{display:flex;align-items:center;gap:12px;padding:12px 14px 4px}
.uhs-pc-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem;letter-spacing:.02em;color:#fff;
  background:linear-gradient(135deg,var(--uhs-grad-mid,#420d19),var(--uhs-grad-end,#22050b));box-shadow:0 0 0 2px #fff,0 0 0 4px var(--uhs-brand-gold,#d4af37)}
.uhs-pc-name{font-weight:900;font-size:1.05rem;line-height:1.15;color:var(--c-text)}
.uhs-pc-meta{font-size:.78rem;color:var(--c-muted);margin-top:2px}
.uhs-pc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 14px 4px}
.uhs-pc-stats span{display:flex;flex-direction:column;align-items:center;background:var(--c-surface-2);border:1px solid var(--c-border-soft);border-radius:8px;padding:6px 0 5px;font-size:.62rem;font-weight:800;letter-spacing:.06em;color:var(--c-muted)}
.uhs-pc-stats b{font-size:1.05rem;color:var(--c-accent-text);letter-spacing:0;line-height:1.1}
.uhs-pc-stats .uhs-pc-pts{background:linear-gradient(135deg,var(--uhs-grad-mid,#420d19),var(--uhs-grad-end,#22050b));border-color:transparent;color:rgba(255,255,255,.75)}
.uhs-pc-stats .uhs-pc-pts b{color:var(--uhs-brand-gold,#d4af37)}
.uhs-pc-cta{padding:8px 14px 12px;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--c-accent-text)}
.uhs-pc:hover .uhs-pc-cta{text-decoration:underline}
/* Phones never get these:desktop/tablet only */
@media (max-width:767px){.uhs-gap-filler{display:none!important}}

/* ---------- Bubble meter (Union schedule page) ---------- */
.uhs-bmeter{background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;padding:22px 25px;margin-bottom:30px;box-shadow:0 4px 10px rgba(0,0,0,.03)}
.uhs-bmeter-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:2px solid var(--c-border);padding-bottom:12px;margin-bottom:18px}
.uhs-bmeter-head h3{margin:0!important;padding-left:10px;border-left:4px solid var(--c-line);color:var(--c-accent-text)!important;text-transform:uppercase;font-size:1.1rem;font-weight:900}
.uhs-bmeter-sub{color:var(--c-muted);font-size:.82rem;margin-top:4px;font-weight:700}
.uhs-bmeter-status{background:var(--bm-color);color:#fff;padding:6px 15px;border-radius:20px;font-weight:900;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}
.uhs-bmeter-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:18px}
.uhs-bmeter-tiles>div{background:var(--c-surface-2);border:1px solid var(--c-border);border-top:3px solid var(--c-accent);border-radius:8px;padding:10px;text-align:center}
.uhs-bmeter-tiles span{display:block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted)}
.uhs-bmeter-tiles b{display:block;font-size:1.3rem;font-weight:900;color:var(--c-text)}
.uhs-bmeter-scale{display:flex;justify-content:space-between;font-size:.72rem;font-weight:800;color:var(--c-muted);margin-bottom:5px;text-transform:uppercase}
.uhs-bmeter-bar{height:12px;background:var(--c-surface-3);border-radius:10px;overflow:hidden}
.uhs-bmeter-bar div{height:100%;background:var(--bm-color)}
.uhs-bmeter-msg{text-align:center;font-size:.85rem;color:var(--c-muted);margin:12px 0 0;font-weight:600}
.uhs-bmeter-msg a{font-weight:800;color:var(--c-accent-text)}

/* ---------- Dark mode specifics (pastel chips/tags, accent text) ---------- */
html[data-theme="dark"] .uhs-ecachub{--hub-accent-text:#93c5fd}
html[data-theme="dark"] .uhs-ecacteam{--team-text:var(--c-text)}
html[data-theme="dark"] .uhs-ncaa-tag{background:#334155;color:#cbd5e1}
html[data-theme="dark"] .uhs-ncaa-tag.is-conf{background:rgba(243,166,182,.15);color:#f3a6b6}
html[data-theme="dark"] .uhs-ncaa-tag.is-ex{background:rgba(251,146,60,.15);color:#fdba74}
html[data-theme="dark"] .uhs-ncaa-chip.s-auto,html[data-theme="dark"] .uhs-ncaa-chip.s-autoproj{background:rgba(96,165,250,.18);color:#93c5fd}
html[data-theme="dark"] .uhs-ncaa-chip.s-in{background:rgba(74,222,128,.15);color:#86efac}
html[data-theme="dark"] .uhs-ncaa-chip.s-last4in{background:rgba(250,204,21,.15);color:#fde047}
html[data-theme="dark"] .uhs-ncaa-chip.s-first4out{background:rgba(251,146,60,.15);color:#fdba74}
html[data-theme="dark"] .uhs-ncaa-chip.s-next4out{background:rgba(248,113,113,.15);color:#fca5a5}
html[data-theme="dark"] .uhs-ncaa-chip.s-out,html[data-theme="dark"] .uhs-ncaa-chip.s-ineligible{background:#334155;color:#94a3b8}
html[data-theme="dark"] .uhs-ncaa-tier.top10{background:#334155;color:#e2e8f0}
html[data-theme="dark"] .uhs-ncaa-pills button,html[data-theme="dark"] .uhs-ecachub .uhs-feature-tabs--no-border .uhs-feature-btn:not(.active){background:var(--c-surface)!important;color:var(--c-text-2)!important;border-color:var(--c-border-strong)!important}
html[data-theme="dark"] .uhs-ncaa-pills button.is-on{background:var(--c-accent);color:#fff}
/* Text the old site-wide table rule forces dark */
html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-table td,html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-stats td,html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-mini td,
html[data-theme="dark"] .uhs-ecachub table.uhs-ecachub-table td{color:var(--c-text)!important}

/* Result colors stay green/red in dark mode */
html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-mini td.r-w{color:var(--c-win)!important}
html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-mini td.r-l{color:var(--c-loss)!important}
html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-mini td.r-t{color:var(--c-text-2)!important}
.uhs-ncaa .uhs-ncaa-mini td.r-w a,.uhs-ncaa .uhs-ncaa-mini td.r-l a,.uhs-ncaa .uhs-ncaa-mini td.r-t a,
html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-mini td.r-w a,html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-mini td.r-l a,html[data-theme="dark"] .uhs-ncaa .uhs-ncaa-mini td.r-t a{color:inherit!important}
/* ECAC Hub keeps its navy/gold tabs in dark mode (beats the site-wide garnet active-tab rule) */
html[data-theme="dark"] body .uhs-master-wrapper .uhs-ecachub .uhs-feature-tabs:not(.uhs-feature-tabs--no-border) .uhs-feature-btn{background:none!important;color:var(--c-muted)!important}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-ecachub .uhs-feature-tabs:not(.uhs-feature-tabs--no-border) .uhs-feature-btn.active{background:none!important;color:var(--hub-accent-text)!important}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-ecachub .uhs-feature-tabs--no-border .uhs-feature-btn.active{background:#1e3a8a!important;border-color:#3b5bab!important;color:#fff!important}

/* ---------- Union pages (Phase 2): same tiles and tables as the team panels ---------- */
.uhs-unionstats-snap{padding:22px 25px 0}
.uhs-unionstats .uhs-leaders-grid{padding-top:4px}

.uhs-unionsched .uhs-union-tiles{margin-bottom:20px}

.uhs-ncaa .uhs-unionstats-table td.l a{color:var(--c-text)!important;font-weight:800;text-decoration:none}
.uhs-ncaa .uhs-unionstats-table td.l a:hover{color:var(--c-accent-text)!important;text-decoration:underline}
.uhs-ncaa .uhs-unionstats-table td.uhs-stat-highlight{font-weight:900!important;font-size:inherit!important;color:var(--c-text)!important}
.uhs-ncaa .uhs-unionstats-table td.pace{font-weight:900;color:var(--c-accent-text)!important}
.uhs-ncaa .uhs-unionstats-table td.uhs-pm-pos{color:var(--c-win)!important}.uhs-ncaa .uhs-unionstats-table td.uhs-pm-neg{color:var(--c-loss)!important}
.uhs-ncaa .uhs-unionstats-table tbody tr:hover>td{background:var(--c-highlight-soft)}
.uhs-ncaa .uhs-unionstats-table tfoot td{background:var(--c-surface-3)!important;color:var(--c-text)!important;font-weight:900;text-align:center;padding:9px 6px;border-top:2px solid var(--c-border-strong);text-transform:uppercase;font-size:.82rem}
.uhs-ncaa .uhs-unionstats-table tfoot td.l{text-align:left!important;letter-spacing:.04em}

.uhs-unionsched .uhs-ncaa-tag{margin-left:6px}
.uhs-opp-season{margin:6px 0 26px}
.uhs-opp-season-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.uhs-opp-season-head h3{flex:1}
.uhs-opp-season-more{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--c-accent-text)!important;text-decoration:none;margin-bottom:14px;white-space:nowrap}
.uhs-opp-season-more:hover{text-decoration:underline}
.uhs-opp-season .uhs-ncaa-p{background:var(--c-surface-2);border:1px solid var(--c-border);border-left:4px solid var(--c-line);border-radius:8px;padding:16px 18px}

html[data-theme="dark"] .uhs-ncaa .uhs-unionstats-table td.pace{color:var(--c-accent-text)!important}
html[data-theme="dark"] .uhs-ncaa .uhs-unionstats-table td.uhs-pm-pos{color:var(--c-win)!important}
html[data-theme="dark"] .uhs-ncaa .uhs-unionstats-table td.uhs-pm-neg{color:var(--c-loss)!important}
html[data-theme="dark"] .uhs-ncaa .uhs-unionstats-table tbody tr:nth-child(even) td{background:var(--c-surface-2)}
/* ---------- Page header (uhs_render_premium_header) ----------
   These used to be inline styles. The selectors are deliberately strong so they win
   exactly where the inline styles used to, while the site's !important mobile rules
   still apply as before. Only the team color gradient stays inline. */
html body .uhs-season-header-bar.uhs-pheader{display:flex;justify-content:space-between;align-items:center;color:#fff;padding:25px 35px;flex-wrap:wrap;gap:15px}
html body .uhs-season-header-bar.uhs-pheader > .uhs-pheader__main{display:flex;align-items:center;gap:20px}
html body .uhs-season-header-bar.uhs-pheader .uhs-pheader__logo{width:75px;height:auto;max-height:75px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3));flex-shrink:0}
html body .uhs-season-header-bar.uhs-pheader .uhs-pheader__text{display:flex;flex-direction:column;justify-content:center}

html body .uhs-season-header-bar.uhs-pheader > .uhs-pheader__right{display:flex;align-items:center;gap:15px;width:auto}

/* ---------- Dark mode: older components that stayed white ---------- */
html[data-theme="dark"] .uhs-record-card{background:var(--c-surface);border-color:var(--c-border)}
html[data-theme="dark"] .uhs-record-card:hover{border-color:var(--c-border-strong)}
html[data-theme="dark"] .uhs-record-card-title{color:var(--c-muted)}
html[data-theme="dark"] .uhs-record-card-val{color:var(--c-text)}
html[data-theme="dark"] .uhs-coach-card{background:var(--c-surface);border-color:var(--c-border)}
html[data-theme="dark"] .uhs-coach-meta{background:var(--c-surface-2);color:var(--c-muted);border-bottom-color:var(--c-border)}
html[data-theme="dark"] .uhs-accomplishments-body{background:var(--c-surface)}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-coaches-container .uhs-desc-text,html[data-theme="dark"] body .uhs-master-wrapper .uhs-coaches-container .uhs-no-milestones-text{color:var(--c-text-2)!important}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-coaches-container .uhs-accomplishments-title{color:var(--c-accent-text)!important;border-left-color:var(--c-line)}
html[data-theme="dark"] .uhs-accomplishment-row{border-bottom-color:var(--c-border-soft)}
html[data-theme="dark"] .uhs-accomplishment-row:nth-child(even){background-color:var(--c-surface-2)}
html[data-theme="dark"] .matrix-col-label{background:var(--c-surface-3);color:var(--c-accent-text)}
html[data-theme="dark"] .matrix-cell{background:var(--c-surface-2);border-color:var(--c-border-strong)}
html[data-theme="dark"] .uhs-progress-bg{background:var(--c-surface-3)}
html[data-theme="dark"] .uhs-geo-vector{background:var(--c-surface);border-color:var(--c-border)}
html[data-theme="dark"] .uhs-region-card{background:var(--c-surface-2);border-color:var(--c-border)}
html[data-theme="dark"] .uhs-mode-btn:not(.active){background:var(--c-surface);color:var(--c-accent-text);border-color:var(--c-border-strong)}
html[data-theme="dark"] .uhs-pro-glossary-btn{background:var(--c-surface);border-color:var(--c-border-strong);color:var(--c-text-2)}
html[data-theme="dark"] .dataTables_wrapper .dataTables_processing{background:var(--c-surface-2)!important;color:var(--c-text)!important}

/* ---------- Player profiles (Union + ECAC): same tiles and tables as the team panels ---------- */
.uhs-profile-std{--tile-accent:var(--c-accent)}
.uhs-ncaa.uhs-profile-std .uhs-ep-quick-stats{gap:12px}
.uhs-ncaa.uhs-profile-std .uhs-ep-qs-box{background:var(--c-surface);border:1px solid var(--c-border);border-top:3px solid var(--tile-accent);border-radius:8px;box-shadow:none;padding:14px 12px}
.uhs-ncaa.uhs-profile-std .uhs-ep-qs-title{font-size:.68rem;font-weight:800;letter-spacing:.06em;color:var(--c-muted)}
.uhs-ncaa.uhs-profile-std .uhs-ep-qs-val{font-size:2rem;color:var(--c-text)}
.uhs-ncaa.uhs-profile-std .uhs-ep-qs-val.uhs-text-brand{color:var(--c-accent-text)}
.uhs-ncaa.uhs-profile-std .uhs-ep-qs-box.is-pace{background:var(--c-highlight);border-top-color:var(--c-line)}
.uhs-ncaa.uhs-profile-std .uhs-ep-qs-box.is-pace .uhs-ep-qs-title,.uhs-ncaa.uhs-profile-std .uhs-ep-qs-box.is-pace .uhs-ep-qs-val{color:var(--c-accent-text)}
.uhs-ncaa.uhs-profile-std--ecac .uhs-ep-qs-box.is-pace .uhs-ep-qs-title,.uhs-ncaa.uhs-profile-std--ecac .uhs-ep-qs-box.is-pace .uhs-ep-qs-val{color:var(--uhs-brand-navy,#002b5c)}
html[data-theme="dark"] .uhs-ncaa.uhs-profile-std--ecac .uhs-ep-qs-box.is-pace .uhs-ep-qs-title,html[data-theme="dark"] .uhs-ncaa.uhs-profile-std--ecac .uhs-ep-qs-box.is-pace .uhs-ep-qs-val{color:#93c5fd}
.uhs-ncaa .uhs-unionstats-table > thead > tr > th:first-child,.uhs-ncaa .uhs-unionstats-table > tbody > tr > td:first-child{text-align:left;padding-left:12px}
.uhs-ncaa .uhs-unionstats-table tfoot td:first-child{text-align:left!important;padding-left:12px}

.uhs-ncaa .uhs-unionstats-table td.uhs-text-brand{color:var(--c-accent-text)!important;font-weight:900}
/* the reference-table rule in uhs-master.css (table.dataTable th/td) adds black cell borders */
.uhs-ncaa table.dataTable.uhs-unionstats-table th,.uhs-ncaa table.dataTable.uhs-unionstats-table td{border-left:0!important;border-right:0!important;border-top:0!important}
.uhs-ncaa table.dataTable.uhs-unionstats-table th{font-size:.68rem!important;padding:7px 6px!important}
.uhs-ncaa table.dataTable.uhs-unionstats-table td{border-bottom:1px solid var(--c-border-soft)!important;padding:7px 6px!important;font-size:.88rem!important}
.uhs-ncaa table.dataTable.uhs-unionstats-table thead th:first-child,.uhs-ncaa table.dataTable.uhs-unionstats-table tbody td:first-child,.uhs-ncaa table.dataTable.uhs-unionstats-table tfoot td:first-child{padding-left:12px!important}
.uhs-ncaa table.dataTable.uhs-unionstats-table{border:0!important}
/* ECAC profiles: edge-to-edge header like the Union profiles (the theme insets this wrapper by 40-50px) */

.uhs-profile-wrap.uhs-profile-std .uhs-ep-body{background:var(--c-surface)}
.uhs-ncaa .uhs-unionstats-table td.uhs-col-player a,.uhs-ncaa .uhs-unionstats-table td.uhs-col-player .uhs-player-name-link{color:var(--c-text)!important;font-weight:800;text-decoration:none}
.uhs-ncaa .uhs-unionstats-table td.uhs-col-player a:hover{color:var(--c-accent-text)!important;text-decoration:underline}

.uhs-ncaa.uhs-roster-std table.dataTable.uhs-unionstats-table td{padding:10px 16px!important;font-size:.92rem!important}
.uhs-ncaa.uhs-roster-std table.dataTable.uhs-unionstats-table th{padding:9px 16px!important}

.uhs-ncaa .uhs-unionstats-table tbody tr:hover > td.uhs-col-no,.uhs-ncaa .uhs-unionstats-table tbody tr:hover > td.uhs-col-player{background-color:var(--c-highlight-soft)!important;color:var(--c-text)!important}
.uhs-ncaa .uhs-unionstats-table tbody tr:hover td .uhs-player-name-link{color:var(--c-accent-text)!important}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-ncaa.uhs-profile-std .uhs-ep-qs-box{border-top-color:var(--tile-accent)!important}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-ncaa.uhs-profile-std .uhs-ep-qs-box.is-pace{background:var(--c-highlight)!important;border-top-color:var(--c-line)!important}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-ncaa.uhs-profile-std .uhs-ep-qs-box.is-pace .uhs-ep-qs-title,html[data-theme="dark"] body .uhs-master-wrapper .uhs-ncaa.uhs-profile-std .uhs-ep-qs-box.is-pace .uhs-ep-qs-val{color:var(--uhs-brand-gold,#d4af37)!important}
/* DataTables shades the sorted column; the shared tables don't */
.uhs-ncaa table.dataTable.uhs-unionstats-table tbody tr > .sorting_1,.uhs-ncaa table.dataTable.uhs-unionstats-table tbody tr > .sorting_2{background-color:transparent!important;box-shadow:none!important}
.uhs-ncaa .uhs-unionstats-table td.uhs-res-w{color:var(--c-win)!important;font-weight:900}
.uhs-ncaa .uhs-unionstats-table td.uhs-res-l{color:var(--c-loss)!important;font-weight:900}
.uhs-ncaa .uhs-unionstats-table td.uhs-res-t{color:var(--c-text-2)!important;font-weight:900}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-ncaa table.dataTable.uhs-unionstats-table tbody tr{background-color:transparent!important}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-ncaa table.dataTable.uhs-unionstats-table tbody tr > .sorting_1,html[data-theme="dark"] body .uhs-master-wrapper .uhs-ncaa table.dataTable.uhs-unionstats-table tbody tr > .sorting_2{background-color:var(--uhs-bg-light)!important}
html[data-theme="dark"] .uhs-ncaa .uhs-unionstats-table td.uhs-res-w{color:var(--c-win)!important}
html[data-theme="dark"] .uhs-ncaa .uhs-unionstats-table td.uhs-res-l{color:var(--c-loss)!important}
html[data-theme="dark"] .uhs-ncaa .uhs-unionstats-table td.uhs-res-t{color:var(--c-text-2)!important}

/* =====================================================================
   Locked table headers + name column (phones & small tablets)
   uhs-tables.js puts every stat table in a .uhs-tscroll box and tags the
   rank/name cells .uhs-lock with their left offset.
   ===================================================================== */
@media (max-width:900px){
  
  .uhs-tscroll{overflow:auto!important;max-height:78vh;max-height:78dvh;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;position:relative}
  .uhs-tscroll .dataTables_wrapper{overflow:visible!important}
  .uhs-tscroll table.uhs-locktable{border-collapse:separate!important;border-spacing:0!important}
  .uhs-tscroll table.uhs-locktable thead th{position:sticky!important;top:0!important;z-index:3!important}
  .uhs-tscroll table.uhs-locktable th,.uhs-tscroll table.uhs-locktable td{white-space:nowrap!important}
  .uhs-tscroll table.uhs-locktable .uhs-lock{position:sticky!important;left:var(--uhs-lock-left,0)!important;z-index:2!important}
  .uhs-tscroll table.uhs-locktable thead th.uhs-lock{z-index:5!important}
  .uhs-tscroll table.uhs-locktable tbody td.uhs-lock{background-color:var(--c-surface)}
  .uhs-tscroll table.uhs-locktable tbody tr:nth-child(even) td.uhs-lock{background-color:var(--c-surface-2)}
  .uhs-tscroll table.uhs-locktable tfoot td{position:sticky!important;bottom:0!important;z-index:3!important;background-color:var(--c-surface-3)!important}
  .uhs-tscroll table.uhs-locktable tfoot td.uhs-lock{z-index:5!important}
  .uhs-tscroll table.uhs-locktable .uhs-lock-edge{box-shadow:6px 0 8px -6px rgba(15,23,42,.35)!important;border-right:1px solid var(--c-border)!important}
  /* compact cells so more columns fit before scrolling */
  .uhs-tscroll table.uhs-locktable th{padding:8px 8px!important;font-size:.66rem!important}
  .uhs-tscroll table.uhs-locktable td{padding:8px 8px!important;font-size:.84rem!important}
  .uhs-tscroll table.uhs-locktable td.uhs-lock-edge{max-width:42vw;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:900px){

html[data-theme="dark"] .uhs-tscroll table.uhs-locktable tbody tr:nth-child(even) td.uhs-lock{background-color:var(--c-surface-2)}
}

/* =====================================================================
   Phone layout layer (one set of gutters and header sizes for every page)
   ===================================================================== */
@media (max-width:768px){
  /* one 12px gutter instead of 3-4 nested paddings */
  html body .uhs-season-wrapper .uhs-rb-body,html body .uhs-season-wrapper .uhs-profile__body,
  html body .uhs-ep-body,html body .uhs-season-wrapper .uhr-body-container,html body .uhs-season-wrapper .uhs-tracker-body,
  html body .uhs-ncaa-body{padding:16px 12px!important}
  html body .uhs-season-wrapper .uhs-stat-heading-wrap{padding:16px 12px 0!important}
  html body .uhs-season-wrapper .uhs-stat-body-wrap{padding:10px 12px 16px!important}
  html body .uhs-season-wrapper .uhs-leaders-grid{padding:12px!important;gap:10px!important}
  html body .uhs-unionstats-snap{padding:14px 12px 0!important}
  /* page header: compact, logo left, title on one or two lines */
  html body .uhs-season-header-bar.uhs-pheader{padding:16px 14px!important;gap:12px!important}
  html body .uhs-season-header-bar.uhs-pheader > .uhs-pheader__main{gap:12px!important;flex-wrap:nowrap!important;flex-direction:row!important;justify-content:flex-start!important;width:100%!important}
  html body .uhs-season-header-bar.uhs-pheader .uhs-pheader__logo{width:44px!important;min-width:44px!important;max-width:44px!important;flex-basis:44px!important;order:-1}
  html body .uhs-season-header-bar.uhs-pheader h1.uhs-pheader__title{font-size:clamp(1.2rem,5.6vw,1.55rem)!important;letter-spacing:0!important;padding-bottom:4px!important;margin-bottom:4px!important}
  html body .uhs-season-header-bar.uhs-pheader .uhs-pheader__sub{font-size:.68rem!important;letter-spacing:.06em!important}
  html body .uhs-season-header-bar.uhs-pheader > .uhs-pheader__right{width:100%!important;justify-content:flex-start!important}
  /* player-page stat boxes: 2 x 2 instead of four squeezed into one line */
  html body .uhs-season-wrapper .uhs-ep-quick-stats,html body .uhs-profile-wrap .uhs-ep-quick-stats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  html body .uhs-season-wrapper .uhs-ep-qs-box,html body .uhs-profile-wrap .uhs-ep-qs-box{padding:12px 8px!important}
  html body .uhs-season-wrapper .uhs-ep-qs-title,html body .uhs-profile-wrap .uhs-ep-qs-title{font-size:.64rem!important;white-space:normal!important;letter-spacing:.04em!important}
  html body .uhs-season-wrapper .uhs-ep-qs-val,html body .uhs-profile-wrap .uhs-ep-qs-val{font-size:1.6rem!important}
  /* tab rows scroll sideways instead of wrapping into stacks */
  .uhs-ncaa-views,.uhs-ecachub .uhs-feature-tabs:not(.uhs-feature-tabs--no-border){flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}
  .uhs-ncaa-views::-webkit-scrollbar{display:none}
  .uhs-ncaa-views button{flex:0 0 auto;padding:10px 12px}
  .uhs-ncaa-views .v-long{display:none}
  /* section headings sized for phones */
  html body .uhs-season-wrapper .uhs-section-heading,html body .uhs-season-wrapper .uhs-title-primary{font-size:1.15rem!important}
}

/* =====================================================================
   Round 3: one table style for every standard stat table on the site
   (record book, archives, directories, season cards, boxscores ...).
   Row hover keeps the Customizer "table row hover" color.
   ===================================================================== */
html body .uhs-master-wrapper table.uhs-premium-table{border:0!important;border-collapse:separate!important;border-spacing:0!important;background:var(--c-surface)!important;font-variant-numeric:tabular-nums}
html body .uhs-master-wrapper table.uhs-premium-table thead th,
html[data-theme="dark"] body .uhs-master-wrapper table.uhs-premium-table thead th{background:var(--c-head-bg)!important;background-color:var(--c-head-bg)!important;color:#fff!important;border:0!important;box-shadow:none!important;font-size:.68rem!important;font-weight:700!important;letter-spacing:.05em!important;text-transform:uppercase;padding:9px 10px!important;line-height:1.2!important}
html body .uhs-master-wrapper table.uhs-premium-table thead th::after{color:#fff!important}
html body .uhs-master-wrapper table.uhs-premium-table thead th.sorting_asc::after,html body .uhs-master-wrapper table.uhs-premium-table thead th.sorting_desc::after{color:#fde68a!important}
html body .uhs-master-wrapper table.uhs-premium-table tbody td{border:0!important;box-shadow:inset 0 -1px 0 var(--c-border-soft)!important;padding:9px 10px!important;font-size:.88rem;font-weight:500;color:var(--c-text)}
html body .uhs-master-wrapper table.uhs-premium-table tbody tr:nth-child(odd) td{background-color:var(--c-surface)!important}
html body .uhs-master-wrapper table.uhs-premium-table tbody tr:nth-child(even) td{background-color:var(--c-surface-2)!important}
html body .uhs-master-wrapper table.uhs-premium-table tbody tr:hover > td{background-color:var(--uhs-table-hover,#5a1222)!important;color:#fff!important}
html body .uhs-master-wrapper table.uhs-premium-table tfoot td,html body .uhs-master-wrapper table.uhs-premium-table .uhs-totals-row td{border:0!important;border-top:2px solid var(--c-border-strong)!important;background-color:var(--c-surface-3)!important;color:var(--c-text)!important;font-weight:800!important;padding:9px 10px!important}
html body .uhs-master-wrapper table.uhs-premium-table th:first-child,html body .uhs-master-wrapper table.uhs-premium-table td:first-child{padding-left:14px!important}
html body .uhs-master-wrapper .uhs-table-scroll:has(> table.uhs-premium-table),
html body .uhs-master-wrapper .uhs-table-scroll:has(> .dataTables_wrapper > table.uhs-premium-table){border:1px solid var(--c-border)!important;border-radius:8px!important;box-shadow:none!important;background:var(--c-surface)!important}
html body .uhs-master-wrapper .dataTables_wrapper .dataTables_length,html body .uhs-master-wrapper .dataTables_wrapper .dataTables_filter,html body .uhs-master-wrapper .dataTables_wrapper .dataTables_info,html body .uhs-master-wrapper .dataTables_wrapper .dataTables_paginate{color:var(--c-muted)!important;font-size:.82rem!important}
html body .uhs-master-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:6px!important;border:1px solid var(--c-border)!important;background:var(--c-surface)!important;color:var(--c-text-2)!important;margin:0 2px!important;padding:4px 10px!important}
html body .uhs-master-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button.current{background:var(--c-accent)!important;border-color:var(--c-accent)!important;color:#fff!important}

/* Pills and tab rows: one shape everywhere */
html body .uhs-master-wrapper .uhs-s-tab-btn,html body .uhs-master-wrapper .tab-btn{border-radius:999px!important;font-weight:700!important;letter-spacing:.03em!important;box-shadow:none!important}
html body .uhs-master-wrapper .uhs-s-tab-btn:not(.active),html body .uhs-master-wrapper .tab-btn:not(.active){background:var(--c-surface)!important;border:1px solid var(--c-border-strong)!important;color:var(--c-text-2)!important}
html body .uhs-master-wrapper .uhs-s-tab-btn.active,html body .uhs-master-wrapper .tab-btn.active{background:var(--c-accent)!important;border:1px solid var(--c-accent)!important;color:#fff!important}

/* Season archive: compact season rows instead of tall banners */
html body .uhs-master-wrapper .uhs-seasoncard-std{margin:0 0 10px!important;border-radius:10px!important;overflow:hidden!important}
html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header{padding:14px 20px!important;cursor:pointer;border-bottom:0!important;align-items:center!important;flex-wrap:nowrap!important;gap:14px!important}
html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header:hover{padding-left:20px!important;filter:brightness(1.12)}
html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-title{font-family:'Barlow Condensed','Arial Narrow',sans-serif!important;font-size:1.9rem!important;font-weight:700!important;letter-spacing:0!important;border:0!important;padding:0!important;margin:0!important;line-height:1!important}
html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-list__meta{font-size:.78rem!important;letter-spacing:.02em!important;text-transform:none!important;font-weight:500!important;color:rgba(255,255,255,.8)!important}

html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-record{font-family:'Barlow Condensed','Arial Narrow',sans-serif!important;font-size:1.7rem!important;font-weight:700!important;letter-spacing:0!important}
html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-list__record-label{font-size:.62rem!important;letter-spacing:.06em!important;color:rgba(255,255,255,.7)!important}
html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-toggle-icon{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:1.2rem!important;line-height:1}
html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-flex-column{gap:4px!important;min-width:0}
@media (max-width:768px){
  html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header{padding:12px 14px!important;flex-direction:row!important;align-items:center!important}
  html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header > div:last-child{width:auto!important;flex-direction:row!important;gap:10px!important;justify-content:flex-end!important}
  html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-title{font-size:1.55rem!important}
  html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-list__meta{font-size:.72rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
  html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-list__record-label{display:none}
  html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-record{font-size:1.35rem!important}
  html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-toggle-icon{width:28px;height:28px}
}

/* Page gutters on phones: one 10px edge, no double card padding */
@media (max-width:768px){
  html body .uhs-page-main > .uhs-theme-container{padding:14px 10px 0!important}
  html body .uhs-master-wrapper .uhs-season-wrapper{padding:0!important;border-radius:10px!important;margin:0 0 14px!important;border:0!important}
  html body .uhs-master-wrapper .uhs-season-wrapper.uhs-roster-std{max-width:none!important}
  html body .uhs-master-wrapper .uhs-season-wrapper.uhs-roster-std .uhs-rb-body{padding:10px!important}
}
@media (max-width:768px){
  /* roster reads as a list on phones; the header row adds nothing */
  html body .uhs-master-wrapper .uhs-roster-table thead{display:none!important}
  html body .uhs-master-wrapper .uhs-roster-std .uhs-tscroll{max-height:none!important;overflow:visible!important}
  html body .uhs-master-wrapper .uhs-seasoncard-std .uhs-s-tabs{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;gap:8px!important;scrollbar-width:none;padding-bottom:6px!important}
  html body .uhs-master-wrapper .uhs-seasoncard-std .uhs-s-tabs .uhs-s-tab-btn{flex:0 0 auto!important;width:auto!important;padding:8px 14px!important;font-size:.74rem!important}
}
html body .uhs-master-wrapper .uhs-seasoncard-std .season-header .uhs-season-record{white-space:nowrap}
@media (max-width:768px){
  /* any horizontally scrolling tab row starts at its first tab */
  
}
/* links inside stat tables read as names, not default-blue web links */
html body .uhs-master-wrapper table.uhs-premium-table tbody td a:not(.uhs-boxscore-btn):not(.uhs-btn-primary){color:var(--c-text)!important;font-weight:700;text-decoration:none!important}
html body .uhs-master-wrapper table.uhs-premium-table tbody td a:not(.uhs-boxscore-btn):not(.uhs-btn-primary):hover{color:var(--c-accent-text)!important;text-decoration:underline!important}
html[data-theme="dark"] body .uhs-master-wrapper table.uhs-premium-table tbody td a:not(.uhs-boxscore-btn):not(.uhs-btn-primary){color:#93c5fd!important}
html body .uhs-master-wrapper table.uhs-premium-table tbody tr:hover > td a:not(.uhs-boxscore-btn):not(.uhs-btn-primary){color:#fff!important}
html body .uhs-master-wrapper .uhs-player-dir-wrapper table.uhs-premium-table td,html body .uhs-master-wrapper .uhs-player-dir-wrapper table.uhs-premium-table th{border-right:0!important;border-left:0!important}
/* dark mode: team-colored numbers and region chips stay readable */
html[data-theme="dark"] body .uhs-master-wrapper .rc-class-pace{color:#f1f5f9!important}
html[data-theme="dark"] body .uhs-master-wrapper .uhs-region-name{color:var(--c-text)!important}

@media (max-width:768px){
  .uhs-ecachub .uhs-feature-tabs:not(.uhs-feature-tabs--no-border) .uhs-feature-btn{white-space:nowrap!important;flex:0 0 auto!important;padding:10px 12px!important;font-size:.76rem!important;width:auto!important}
  
  .uhs-ecachub .uhs-feature-tabs--no-border .uhs-feature-btn{flex:0 0 auto!important;width:auto!important;padding:6px 12px!important;font-size:.72rem!important;white-space:nowrap!important}
  html body .uhs-master-wrapper .uhs-alert-box{font-size:.8rem!important;padding:10px 12px!important;line-height:1.45!important}
}
@media (max-width:768px){
  html body .uhs-master-wrapper .uhs-ecachub .uhs-feature-tabs{display:flex!important;justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none;grid-template-columns:none!important}
  html body .uhs-master-wrapper .uhs-ecachub .uhs-feature-tabs::-webkit-scrollbar{display:none}
  
}

/* =====================================================================
   Interactive tools (React): line generator, query arena
   ===================================================================== */
.uhs-tool{color:var(--c-text)}
.uhs-tool .tool-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px;padding:14px 16px;margin-bottom:18px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:10px}
.uhs-tool .tool-field{display:flex;flex-direction:column;gap:5px}
.uhs-tool .tool-field > span{font-size:.72rem;font-weight:700;color:var(--c-muted)}
.uhs-tool .tool-select,.uhs-tool .tool-input{min-height:40px;padding:0 12px;border-radius:8px;border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);font:600 .92rem/1 system-ui,sans-serif;min-width:0}
.uhs-tool .tool-select:focus,.uhs-tool .tool-input:focus{outline:2px solid var(--c-accent);outline-offset:1px}
.uhs-tool .tool-seg{display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:var(--c-surface-3)}
.uhs-tool .tool-seg button{border:0;background:transparent;min-height:34px;padding:0 14px;border-radius:7px;font:700 .85rem/1 system-ui,sans-serif;color:var(--c-text-2);cursor:pointer}
.uhs-tool .tool-seg button.is-on{background:var(--c-surface);color:var(--c-accent-text);box-shadow:0 1px 3px rgba(15,23,42,.15)}
.uhs-tool .tool-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:8px;border:1px solid var(--c-accent);background:var(--c-accent);color:#fff!important;font:700 .9rem/1 system-ui,sans-serif;cursor:pointer;text-decoration:none}
.uhs-tool .tool-btn:hover{filter:brightness(1.15)}
.uhs-tool .tool-btn:disabled{opacity:.6;cursor:wait}
.uhs-tool .tool-btn.is-ghost{background:var(--c-surface);color:var(--c-text-2)!important;border-color:var(--c-border-strong)}
.uhs-tool .tool-btn.is-ghost:hover{border-color:var(--c-accent);color:var(--c-accent-text)!important;filter:none}
.uhs-tool .tool-actions{display:flex;justify-content:space-between;gap:10px;margin:14px 0 22px}
.uhs-tool .tool-count{font-size:.85rem;color:var(--c-muted);font-weight:600;align-self:center}
.uhs-tool .tool-status{font-weight:700;color:var(--c-accent-text);align-self:center}
.uhs-tool .tool-empty{color:var(--c-muted);margin:0}
.uhs-tool .tool-error{color:var(--c-loss);font-weight:700}

/* query arena */
.qb .qb-rules{display:flex;flex-direction:column;gap:8px}
.qb .qb-rule{display:grid;grid-template-columns:56px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) 40px;gap:8px;align-items:center}
.qb .qb-rule-n{font-size:.8rem;font-weight:700;color:var(--c-muted);text-align:right}
.qb .qb-remove{width:40px;height:40px;border-radius:8px;border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-muted);font-size:1.3rem;line-height:1;cursor:pointer}
.qb .qb-remove:hover{color:var(--c-loss);border-color:var(--c-loss)}
.qb .qb-results:empty{display:none}

/* line generator */
.lg .lg-board{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}
.lg .lg-main{display:flex;flex-direction:column;gap:14px}
.lg .lg-group{background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;padding:14px 16px}
.lg .lg-h{margin:0 0 10px;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:700;font-size:1.25rem;color:var(--c-text);display:flex;align-items:baseline;gap:8px}
.lg .lg-h small{font-family:system-ui,sans-serif;font-size:.78rem;color:var(--c-muted);font-weight:600}
.lg .lg-line{display:grid;grid-template-columns:22px repeat(3,minmax(0,1fr));gap:8px;align-items:end;padding:6px 0;border-top:1px solid var(--c-border-soft)}
.lg .lg-line:first-of-type{border-top:0}
.lg .lg-line.is-pair{grid-template-columns:22px repeat(2,minmax(0,1fr))}
.lg .lg-line.is-goalies{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg .lg-line-n{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:700;font-size:1.2rem;color:var(--c-faint);align-self:center;text-align:center}
.lg .lg-slot{display:flex;flex-direction:column;gap:3px;min-width:0}
.lg .lg-slot-pos{font-size:.68rem;font-weight:700;color:var(--c-muted)}
.lg .lg-slot-select{width:100%;min-width:0;min-height:38px;padding:0 8px;border-radius:8px;border:1px dashed var(--c-border-strong);background:var(--c-surface-2);color:var(--c-muted);font:600 .86rem/1 system-ui,sans-serif;text-overflow:ellipsis}
.lg .lg-slot.is-filled .lg-slot-select{border-style:solid;border-color:var(--c-accent);background:var(--c-surface);color:var(--c-text);font-weight:700}
.lg .lg-side{background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:10px;padding:14px 16px;position:sticky;top:80px}
.lg .lg-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;max-height:520px;overflow:auto}
.lg .lg-chips li{padding:5px 10px;border-radius:999px;background:var(--c-surface);border:1px solid var(--c-border);font-size:.8rem;font-weight:600;color:var(--c-text-2)}
@media (max-width:900px){
  .lg .lg-board{grid-template-columns:1fr}
  .lg .lg-side{position:static}
  .lg .lg-chips{max-height:220px}
}
@media (max-width:600px){
  .uhs-tool .tool-bar{padding:12px}
  .lg .lg-group{padding:12px 10px}
  .lg .lg-line{grid-template-columns:16px repeat(3,minmax(0,1fr));gap:5px}
  .lg .lg-line.is-pair{grid-template-columns:16px repeat(2,minmax(0,1fr))}
  .lg .lg-line.is-goalies{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg .lg-slot-select{font-size:.78rem;padding:0 4px;min-height:36px}
  .qb .qb-rule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;grid-template-areas:"f f x" "o v x"}
  .qb .qb-rule-n{display:none}
  .qb .qb-rule > select:nth-of-type(1){grid-area:f}
  .qb .qb-rule > select:nth-of-type(2){grid-area:o}
  .qb .qb-rule > input{grid-area:v;font-size:16px}
  .qb .qb-remove{grid-area:x;height:100%}
  .uhs-tool .tool-actions > .tool-btn{flex:1}
}

/* =====================================================================
   Former inline styles (glossary, similarity, jersey widget, notices,
   breakout flags, milestone predictor). Token colors so dark mode works.
   ===================================================================== */
.uhs-empty-note { text-align: center; padding: 15px; margin: 12px 0 0; color: var(--c-muted, #64748b); font-size: .85rem; }
.uhs-notice { padding: 18px 20px; text-align: center; border-radius: 8px; font-weight: 600; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); color: var(--c-text, #0f172a); }
.uhs-notice.is-warn { background: #fff7e0; border-color: #f5d68a; color: #7a5300; }
.uhs-notice.is-error { background: #fdecee; border-color: #f2b8bf; color: #8a1c2b; }
html[data-theme="dark"] .uhs-notice.is-warn { background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.35); color: #fcd34d; }
html[data-theme="dark"] .uhs-notice.is-error { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.35); color: #fca5a5; }

/* PACE glossary */
.uhs-gloss { color: var(--c-text, #0f172a); }
.uhs-gloss .gl-kicker { display: block; color: var(--c-accent-text, #5a1222); font-size: .8rem; font-weight: 800; letter-spacing: .02em; }
.uhs-gloss p, .uhs-gloss ul { margin: 6px 0 0; font-size: .85rem; line-height: 1.55; color: var(--c-text-2, #475569); }
.uhs-gloss p + p { margin-top: 8px; }
.uhs-gloss ul { padding-left: 18px; }
.uhs-gloss .gl-box { background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); border-radius: 10px; padding: 14px 16px; margin-bottom: 20px; }
.uhs-gloss .gl-box.is-accent { background: var(--c-surface, #fff); border-left: 4px solid #5a1222; }
.uhs-gloss .gl-box.is-info { border-left: 4px solid #1d4e89; }
.uhs-gloss .gl-box.is-info .gl-kicker { color: #1d4e89; }
html[data-theme="dark"] .uhs-gloss .gl-box.is-info .gl-kicker { color: #93c5fd; }
.uhs-gloss .gl-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 24px; }
.uhs-gloss h4 { margin: 0 0 8px; color: var(--c-accent-text, #5a1222); }
.uhs-gloss .gl-defs { list-style: none; padding: 0; color: var(--c-text, #0f172a); }
.uhs-gloss .gl-defs li { padding: 3px 0; }
.uhs-gloss .gl-title { border-bottom: 2px solid #5a1222; padding-bottom: 6px; margin: 0 0 16px; }
.uhs-gloss .gl-rule { border-left: 3px solid #5a1222; padding-left: 12px; margin-bottom: 24px; }
.uhs-gloss .gl-rule .gl-lead { color: var(--c-text, #0f172a); }
.uhs-gloss .gl-scale li { margin-bottom: 6px; }

/* Player similarity */
.uhs-sim { margin-top: 24px; }
.uhs-sim .sim-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); border-radius: 10px; padding: 14px 18px; margin-bottom: 22px; }
.uhs-sim .sim-name { margin: 0; font-size: clamp(1.1rem, 3vw, 1.4rem); font-weight: 800; color: var(--c-text, #0f172a); text-transform: uppercase; }
.uhs-sim .sim-context { margin-top: 4px; font-size: .78rem; font-weight: 700; color: var(--c-muted, #64748b); }
.uhs-sim .sim-context span { color: var(--c-accent-text, #5a1222); }
.uhs-sim .sim-pace { background: #5a1222; color: #fff; padding: 8px 12px; border-radius: 8px; text-align: center; min-width: 100px; }
.uhs-sim .sim-pace-label { display: block; font-size: .62rem; font-weight: 700; letter-spacing: .06em; opacity: .85; }
.uhs-sim .sim-pace-val { display: block; margin-top: 2px; font-size: 1.4rem; font-weight: 900; line-height: 1; }
.uhs-sim .sim-title { margin: 0 0 12px; padding-bottom: 6px; border-bottom: 2px solid #5a1222; color: var(--c-accent-text, #5a1222); font-size: .85rem; font-weight: 800; }
.uhs-sim .sim-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); font-size: .9rem; }
.uhs-sim .sim-who { width: 240px; min-width: 200px; }
.uhs-sim .sim-who h5 { margin: 0; font-size: .95rem; line-height: 1.2; }
.uhs-sim .sim-who a { color: var(--c-accent-text, #5a1222); font-weight: 700; text-decoration: none; }
.uhs-sim .sim-who a:hover { text-decoration: underline; }
.uhs-sim .sim-meta { font-size: .74rem; font-weight: 600; color: var(--c-muted, #64748b); }
.uhs-sim .sim-bar { flex: 1 1 150px; min-width: 150px; margin: 0 15px; height: 6px; border-radius: 10px; overflow: hidden; background: var(--c-surface-3, #eef2f6); }
.uhs-sim .sim-bar > div { height: 100%; background: #5a1222; }
html[data-theme="dark"] .uhs-sim .sim-bar > div { background: #c2566a; }
.uhs-sim .sim-pct { width: 60px; text-align: right; font-weight: 900; font-size: 1.05rem; color: var(--c-text, #0f172a); }
@media (max-width: 600px) { .uhs-sim .sim-who { width: 100%; } .uhs-sim .sim-bar { margin: 0; } }

/* Jersey spotlight widget */
.uhs-jw { margin-bottom: 10px; }
.uhs-jw .jw-num { font-size: 4rem; font-weight: 900; line-height: 1; color: var(--c-accent-text, #5a1222); }
.uhs-jw .jw-label { margin: 10px 0; font-size: .7rem; font-weight: 800; color: var(--c-muted, #64748b); }
.uhs-jw .jw-name { margin: 5px 0; font-size: 1.3rem; }
.uhs-jw .jw-name a { color: var(--c-accent-text, #5a1222); text-decoration: none; }
.uhs-jw .jw-val { margin-top: 5px; font-size: 1.8rem; font-weight: 900; color: var(--c-text, #0f172a); }
a.jw-btn { display: block; margin-top: 15px; padding: 10px; border-radius: 6px; background: #5a1222; color: #fff !important; text-decoration: none; text-align: center; font-size: .78rem; font-weight: 800; }

/* Preseason breakout callout and flags */
.uhs-callout { padding: 22px 24px; border-radius: 10px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.uhs-callout.is-amber { background: #fffaeb; border-color: #f5d68a; border-left: 5px solid #f59e0b; }
html[data-theme="dark"] .uhs-callout.is-amber { background: rgba(245,158,11,.08); border-color: rgba(245,158,11,.3); border-left-color: #f59e0b; }
.uhs-callout-title { margin: 0 0 15px; color: #8a5a00; font-size: 1.25rem; font-weight: 900; }
.uhs-callout-kicker { color: #8a5a00; font-size: .9rem; }
html[data-theme="dark"] .uhs-callout-title, html[data-theme="dark"] .uhs-callout-kicker { color: #fcd34d; }
.uhs-flag { display: inline-block; padding: 3px 7px; margin-right: 5px; border-radius: 5px; border: 1px solid; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.uhs-flag.is-volume { background: #fff3e0; color: #b45309; border-color: #fcd9a8; }
.uhs-flag.is-elite { background: #e8eefc; color: #1d4ed8; border-color: #bfd3fb; }
.uhs-flag.is-recruit { background: #e8f5e9; color: #2e7d32; border-color: #a5d6a7; }
html[data-theme="dark"] .uhs-flag.is-volume { background: rgba(245,158,11,.14); color: #fcd34d; border-color: rgba(245,158,11,.35); }
html[data-theme="dark"] .uhs-flag.is-elite { background: rgba(59,130,246,.15); color: #93c5fd; border-color: rgba(59,130,246,.35); }
html[data-theme="dark"] .uhs-flag.is-recruit { background: rgba(34,197,94,.14); color: #86efac; border-color: rgba(34,197,94,.35); }

/* Milestone predictor (Union player page) */
.uhs-pred-tile { background: var(--c-surface, #fff); border: 1px solid var(--c-border, #e2e8f0); border-radius: 8px; padding: 12px; }
.uhs-pred-tile.is-key { border-bottom: 3px solid #5a1222; }
.uhs-pred-tile .pt-label { font-size: .7rem; font-weight: 700; color: var(--c-muted, #64748b); text-transform: uppercase; letter-spacing: .04em; }
.uhs-pred-tile .pt-val { font-size: 1.4rem; font-weight: 900; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.uhs-pred-tile.is-key .pt-val { color: var(--c-accent-text, #5a1222); }
.uhs-pred-note { background: var(--c-surface, #fff); border: 1px dashed #d4af37; border-radius: 8px; padding: 15px 18px; font-size: .85rem; color: var(--c-text, #0f172a); }
.uhs-chart-box { flex: 1; min-width: 280px; height: 280px; max-height: 280px; box-sizing: border-box; padding: 5px 10px; background: var(--c-surface, #fff); border: 1px solid var(--c-border, #e2e8f0); border-radius: 10px; }

/* =====================================================================
   Sweater history (jersey numbers)
   ===================================================================== */
.uhs-sweaters .sw-body { padding: 24px 28px 32px; }
.sw-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.sw-seg { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: 10px; background: var(--c-surface-3, #f1f5f9); }
.sw-seg a { padding: 8px 14px; border-radius: 8px; font-size: .86rem; font-weight: 700; color: var(--c-text-2, #475569); text-decoration: none !important; }
.sw-seg a:hover { color: var(--c-text, #0f172a); }
.sw-seg a.is-on { background: #5a1222; color: #fff; }
.sw-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.sw-find, .sw-sort { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 10px; border-radius: 9px; border: 1px solid var(--c-border-strong, #cbd5e1); background: var(--c-surface, #fff); color: var(--c-muted, #64748b); font-size: .85rem; font-weight: 700; }
.sw-find input { width: 128px; border: 0 !important; background: transparent !important; color: var(--c-text, #0f172a); font: 600 .92rem system-ui, sans-serif; outline: none; padding: 0 !important; box-shadow: none !important; }
.sw-find:focus-within, .sw-sort:focus-within { border-color: #5a1222; box-shadow: 0 0 0 3px rgba(90,18,34,.15); }
.sw-sort select { border: 0 !important; background: transparent !important; color: var(--c-text, #0f172a); font: 700 .88rem system-ui, sans-serif; padding: 0 !important; cursor: pointer; }
.sw-summary { margin: 0 0 6px; font-size: .9rem; color: var(--c-text-2, #475569); }
.sw-method { margin: 0 0 20px; }

.sw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; align-items: start; }
.sw-card { background: var(--c-surface, #fff); border: 1px solid var(--c-border, #e2e8f0); border-radius: 12px; overflow: hidden; }
.sw-card[open] { grid-column: 1 / -1; border-color: #5a1222; box-shadow: 0 6px 24px rgba(15,23,42,.08); }
.sw-card > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 66px 1fr auto; grid-template-areas: "j best score" "j best count"; column-gap: 14px; align-items: center; padding: 12px 14px; }
.sw-card > summary::-webkit-details-marker { display: none; }
.sw-card > summary:hover { background: var(--c-surface-2, #f8fafc); }
.sw-card > summary:focus-visible { outline: 3px solid rgba(90,18,34,.35); outline-offset: -3px; }
.sw-jersey { grid-area: j; position: relative; width: 66px; height: 60px; }
.sw-jersey svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.sw-jersey svg path { fill: #5a1222; }
.sw-jersey svg .sw-hem { fill: rgba(255,255,255,.85); }
.sw-jersey b { position: absolute; left: 0; right: 0; top: 17px; text-align: center; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.55rem; line-height: 1; color: #fff; letter-spacing: -.01em; }
.sw-best { grid-area: best; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.sw-label { font-size: .7rem; font-weight: 700; color: var(--c-muted, #64748b); }
.sw-name { font-weight: 800; font-size: 1rem; color: var(--c-text, #0f172a); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-meta { font-size: .78rem; color: var(--c-text-2, #475569); font-variant-numeric: tabular-nums; }
.sw-score { grid-area: score; text-align: right; line-height: 1; }
.sw-score b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: 1.6rem; font-weight: 800; color: var(--c-accent-text, #5a1222); font-variant-numeric: tabular-nums; }
.sw-score span { font-size: .66rem; font-weight: 700; color: var(--c-muted, #64748b); letter-spacing: .04em; }
.sw-count { grid-area: count; justify-self: end; margin-top: 4px; font-size: .72rem; font-weight: 700; color: var(--c-muted, #64748b); }

.sw-list { list-style: none; margin: 0; padding: 4px 14px 14px; border-top: 1px solid var(--c-border, #e2e8f0); counter-reset: none; }
.sw-list li { display: grid; grid-template-columns: 28px minmax(0, 1.4fr) minmax(80px, 1fr) 64px; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.sw-list li:last-child { border-bottom: 0; }
.sw-rank { font-weight: 800; font-size: .85rem; color: var(--c-muted, #64748b); text-align: right; font-variant-numeric: tabular-nums; }
.sw-list li:first-child .sw-rank { color: var(--c-accent-text, #5a1222); }
.sw-who { min-width: 0; display: flex; flex-direction: column; }
.sw-who a { font-weight: 700; color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
.sw-who a:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.sw-who small { font-size: .76rem; color: var(--c-text-2, #475569); font-variant-numeric: tabular-nums; }
.sw-bar { height: 6px; border-radius: 6px; background: var(--c-surface-3, #f1f5f9); overflow: hidden; }
.sw-bar i { display: block; height: 100%; border-radius: 6px; background: #5a1222; }
.sw-val { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--c-text, #0f172a); }
.sw-list li.is-neg .sw-val { color: var(--c-loss, #c62828); }
.sw-none { margin: 16px 0 0; color: var(--c-muted, #64748b); font-weight: 600; }

html[data-theme="dark"] .sw-seg a.is-on, html[data-theme="dark"] .sw-jersey svg path:not(.sw-hem), html[data-theme="dark"] .sw-bar i { background: #8a2236; fill: #8a2236; }
html[data-theme="dark"] .sw-card[open] { border-color: #8a2236; box-shadow: none; }

@media (max-width: 600px) {
    .uhs-sweaters .sw-body { padding: 16px 12px 24px; }
    .sw-toolbar { flex-direction: column; align-items: stretch; }
    .sw-seg { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .sw-seg a { flex: 1 0 auto; text-align: center; padding: 8px 10px; }
    .sw-controls { display: grid; grid-template-columns: 1fr 1fr; }
    .sw-find input { width: 100%; }
    .sw-grid { grid-template-columns: 1fr; gap: 8px; }
    .sw-card > summary { grid-template-columns: 54px 1fr auto; column-gap: 10px; padding: 10px 12px; }
    .sw-jersey { width: 54px; height: 50px; }
    .sw-jersey b { top: 14px; font-size: 1.3rem; }
    .sw-list { padding: 2px 12px 10px; }
    .sw-list li { grid-template-columns: 22px minmax(0, 1fr) 56px; gap: 8px; }
    .sw-bar { display: none; }
}

/* =====================================================================
   Round 5 phone layer: readable sizes, thumb-sized controls, no iOS
   zoom on inputs, data notes as toggles, press feedback, tab fades
   ===================================================================== */
details.uhs-note { padding: 0 !important; }
details.uhs-note > summary { list-style: none; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 14px; cursor: pointer; font-weight: 700; font-size: .88rem; color: var(--c-text, #0f172a); }
details.uhs-note > summary::-webkit-details-marker { display: none; }
details.uhs-note > summary::before { content: "i"; flex: none; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #1d4e89; color: #fff; font: italic 800 .78rem/1 Georgia, serif; }
details.uhs-note > summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .6; transition: transform .2s ease; }
details.uhs-note[open] > summary::after { transform: rotate(-135deg); }
details.uhs-note .uhs-note-body { padding: 0 14px 14px 44px; font-size: .88rem; line-height: 1.55; color: var(--c-text-2, #475569); }
html[data-theme="dark"] details.uhs-note > summary::before { background: #3b82f6; }

@keyframes uhs-pane-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.uhs-pane-in { animation: uhs-pane-in .22s ease-out both; }
@media (prefers-reduced-motion: reduce) { .uhs-pane-in { animation: none; } }

@media (max-width: 991px) {
    /* iOS zooms into any field under 16px; keep them at 16 */
    html body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]),
    html body select, html body textarea { font-size: 16px !important; }
}

@media (max-width: 767px) {
    /* thumb-sized tabs and filters */
    html body .uhs-master-wrapper .uhs-s-tab-btn, html body .uhs-master-wrapper .uhs-feature-btn, html body .uhs-master-wrapper .uhs-ncaa-pills button,
    html body .uhs-master-wrapper .uhr-filter-btn, html body .uhs-master-wrapper .tool-seg button, html body .hp-seg button { min-height: 40px !important; display: inline-flex; align-items: center; justify-content: center; font-size: .78rem !important; }
    html body .uhs-master-wrapper .uhs-s-tab-btn .mobile-text { font-size: .74rem !important; }
    html body .uhs-master-wrapper .dataTables_paginate .paginate_button { min-width: 40px !important; min-height: 40px !important; display: inline-flex !important; align-items: center; justify-content: center; }
    html body .uhs-master-wrapper .hp-more, html body a.hp-more { min-height: 40px; display: inline-flex; align-items: center; }
    .sw-who a, .uhs-sim .sim-who a, .uhs-leader-name { display: inline-block; padding: 4px 0; }

    /* nothing smaller than 11px */
    html body .uhs-master-wrapper table thead th { font-size: .72rem !important; }
    html body .uhs-master-wrapper .uhs-ncaa-tag { font-size: .68rem !important; }
    html body .uhs-season-header-bar.uhs-pheader .uhs-pheader__sub { font-size: .74rem !important; }
    html body .uhs-master-wrapper .uhs-ep-qs-title, html body .uhs-master-wrapper .uhs-leader-label, html body .uhs-master-wrapper .uhs-record-card-title,
    html body .uhs-master-wrapper .cat-stat-base, html body .uhs-master-wrapper .cat-stat-pop, html body .uhs-master-wrapper .card-tab,
    html body .uhs-master-wrapper .mobile-filter-label, html body .uhs-master-wrapper .uhs-banner-years, html body .uhs-master-wrapper .uhs-boxscore-btn { font-size: .72rem !important; }
    .sw-score span, .sw-label, .sw-count { font-size: .7rem; }

    /* press feedback */
    .uhs-master-wrapper a:active, .uhs-master-wrapper button:active, .uhs-master-wrapper summary:active { opacity: .72; }
    .uhs-master-wrapper tr.uhs-ncaa-row:active td, .uhs-master-wrapper tbody tr:active td { background-color: var(--c-surface-tint, #eef3f9) !important; }
}

/* =====================================================================
   Archive pages: directory, game archive, honors, coaches, captains
   ===================================================================== */
.uhs-arch .arch-body { padding: 22px 26px 30px; }
.uhs-arch .arch-h { margin: 0 0 12px; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 700; font-size: 1.4rem; line-height: 1.1; color: var(--c-text, #0f172a); }
.arch-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; }
.arch-toolbar.is-chips { gap: 8px 14px; }
.arch-search { flex: 1 1 260px; display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--c-border-strong, #cbd5e1); background: var(--c-surface, #fff); }
.arch-search svg { width: 18px; height: 18px; flex: none; fill: none; stroke: var(--c-muted, #64748b); stroke-width: 2.2; stroke-linecap: round; }
.arch-search input { flex: 1; min-width: 0; height: 100%; border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none; padding: 0 !important; color: var(--c-text, #0f172a); font: 500 .95rem system-ui, -apple-system, sans-serif; }
.arch-search:focus-within, .arch-select:focus-within { border-color: #5a1222; box-shadow: 0 0 0 3px rgba(90,18,34,.14); }
.arch-select { display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--c-border-strong, #cbd5e1); background: var(--c-surface, #fff); font-size: .8rem; font-weight: 700; color: var(--c-muted, #64748b); }
.arch-select select { border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; color: var(--c-text, #0f172a); font: 700 .9rem system-ui, -apple-system, sans-serif; cursor: pointer; max-width: 150px; }
.arch-chips { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: 10px; background: var(--c-surface-3, #f1f5f9); }
.arch-chips button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 8px; background: none; color: var(--c-text-2, #475569); font: 700 .82rem system-ui, -apple-system, sans-serif; cursor: pointer; }
.arch-chips button:hover { color: var(--c-text, #0f172a); }
.arch-chips button[aria-pressed="true"] { background: #5a1222; color: #fff; }
html[data-theme="dark"] .arch-chips button[aria-pressed="true"] { background: #8a2236; }
.arch-count { margin: 4px 0 10px; font-size: .86rem; font-weight: 600; color: var(--c-muted, #64748b); }
.arch-empty { padding: 26px 0; text-align: center; color: var(--c-muted, #64748b); font-weight: 600; }
.arch-az { display: flex; flex-wrap: wrap; gap: 2px; margin: 4px 0 6px; }
.arch-az a, .arch-az span { display: inline-grid; place-items: center; min-width: 28px; height: 30px; border-radius: 6px; font-weight: 800; font-size: .82rem; text-decoration: none !important; }
.arch-az a { color: var(--c-accent-text, #5a1222) !important; }
.arch-az a:hover { background: var(--c-surface-3, #f1f5f9); }
.arch-az span { color: var(--c-border-strong, #cbd5e1); }

/* Player directory */
.dir-head, .dir-row { display: grid; grid-template-columns: minmax(0, 1fr) 70px 130px 80px; align-items: center; gap: 12px; }
.dir-head { padding: 8px 14px; font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--c-muted, #64748b); border-bottom: 2px solid var(--c-border, #e2e8f0); }
.dir-head span:not(:first-child) { text-align: right; }
.dir-list { list-style: none; margin: 0; padding: 0; counter-reset: dir; }
.dir-row { padding: 10px 14px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); scroll-margin-top: 90px; }
.dir-row:hover { background: var(--c-surface-2, #f8fafc); }
.dir-who { min-width: 0; }
a.dir-name { font-weight: 800; font-size: 1rem; color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
a.dir-name:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.dir-badge { display: inline-flex; align-items: center; margin-left: 6px; padding: 0 5px; height: 18px; border-radius: 4px; font-size: .68rem; font-weight: 900; vertical-align: 2px; background: #5a1222; color: #fff; }
.dir-badge sub { font-size: .6rem; bottom: 0; margin-left: 1px; }
.dir-badge.is-a { background: transparent; color: var(--c-accent-text, #5a1222); box-shadow: inset 0 0 0 1.5px currentColor; }
.dir-meta { display: flex; flex-wrap: wrap; gap: 2px 10px; margin-top: 2px; font-size: .8rem; color: var(--c-text-2, #475569); font-variant-numeric: tabular-nums; }
.dir-pos { font-weight: 800; color: var(--c-text, #0f172a); }
.dir-home { color: var(--c-muted, #64748b); }
.dir-gp, .dir-line, .dir-pace { text-align: right; line-height: 1.1; font-variant-numeric: tabular-nums; }
.dir-gp b, .dir-line b, .dir-pace b { display: block; font-weight: 800; font-size: .98rem; color: var(--c-text, #0f172a); }
.dir-gp small, .dir-line small, .dir-pace small { font-size: .7rem; font-weight: 600; color: var(--c-muted, #64748b); }
.dir-pace b { color: var(--c-accent-text, #5a1222); }
.dir-pace.is-neg b { color: var(--c-loss, #c62828); }
.dir-list.is-ranked .dir-row { counter-increment: dir; }
.dir-list.is-ranked .dir-who::before { content: counter(dir); display: inline-block; min-width: 26px; margin-right: 6px; font-weight: 800; color: var(--c-muted, #64748b); font-variant-numeric: tabular-nums; }

/* Game archive */
.ga-summary { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 6px 0 14px; padding: 10px 14px; border-radius: 10px; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); font-size: .88rem; font-weight: 600; color: var(--c-text-2, #475569); }
.ga-summary b { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: 1.35rem; font-weight: 800; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.ga-season { margin-bottom: 10px; border: 1px solid var(--c-border, #e2e8f0); border-radius: 12px; overflow: hidden; background: var(--c-surface, #fff); }
.ga-season > summary { list-style: none; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 16px; padding: 12px 16px; cursor: pointer; background: var(--c-surface-2, #f8fafc); }
.ga-season > summary::-webkit-details-marker { display: none; }
.ga-season > summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid var(--c-muted, #64748b); border-bottom: 2px solid var(--c-muted, #64748b); transform: rotate(45deg); transition: transform .2s ease; }
.ga-season[open] > summary::after { transform: rotate(-135deg); }
.ga-season[open] > summary { border-bottom: 1px solid var(--c-border, #e2e8f0); }
.ga-sn { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.35rem; color: var(--c-text, #0f172a); }
.ga-rec { font-size: .84rem; color: var(--c-text-2, #475569); }
.ga-rec b { color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.ga-n { font-size: .78rem; color: var(--c-muted, #64748b); }
.ga-list { list-style: none; margin: 0; padding: 0; }
.ga-list li + li { border-top: 1px solid var(--c-border-soft, #eef2f6); }
a.ga-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 120px 86px; align-items: center; gap: 12px; padding: 9px 16px; color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
a.ga-row:hover { background: var(--c-surface-2, #f8fafc); }
a.ga-row:hover .ga-go { color: var(--c-accent-text, #5a1222); }
.ga-date { display: flex; flex-direction: column; line-height: 1.15; }
.ga-date b { font-size: .9rem; font-variant-numeric: tabular-nums; }
.ga-date small { font-size: .72rem; color: var(--c-muted, #64748b); font-weight: 600; }
.ga-opp { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ga-opp img { width: 28px; height: 28px; object-fit: contain; flex: none; }
.ga-opp > span { min-width: 0; font-weight: 700; line-height: 1.2; }
.ga-opp i { font-style: normal; font-weight: 600; color: var(--c-muted, #64748b); }
.ga-opp small { display: block; font-size: .72rem; font-weight: 600; color: var(--c-muted, #64748b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ga-res { display: flex; align-items: center; justify-content: flex-end; gap: 8px; font-variant-numeric: tabular-nums; }
.ga-res em { font-style: normal; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 5px; font-size: .72rem; font-weight: 900; color: #fff; background: #64748b; }
.ga-res em.is-w { background: #2e7d32; } .ga-res em.is-l { background: #c62828; } .ga-res em.is-t { background: #64748b; }
.ga-res b { font-weight: 800; font-size: .98rem; min-width: 36px; text-align: right; }
.ga-res small { font-size: .7rem; font-weight: 700; color: var(--c-muted, #64748b); }
.ga-go { justify-self: end; font-size: .78rem; font-weight: 700; color: var(--c-muted, #64748b); }
.ga-go::after { content: " \203A"; }

/* Honors */
.hn-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 22px; }
.hn-tile { padding: 14px 16px; border-radius: 12px; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); }
.hn-tile b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.2rem; line-height: 1; color: var(--c-text, #0f172a); }
.hn-tile span { display: block; margin-top: 4px; font-size: .82rem; font-weight: 600; color: var(--c-text-2, #475569); }
.hn-tile.is-gold { background: linear-gradient(135deg, #3b0a14, #5a1222); border-color: transparent; }
.hn-tile.is-gold b { color: #f3d27a; } .hn-tile.is-gold span { color: rgba(255,255,255,.85); }
.hn-top { margin-bottom: 26px; }
.hn-top-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 8px; }
.hn-top-list li { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.hn-top-n { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #5a1222; color: #fff; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.3rem; }
.hn-top-who { min-width: 0; font-weight: 800; }
.hn-top-who a { color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
.hn-top-who a:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.hn-top-who small { display: block; margin-top: 2px; font-size: .74rem; font-weight: 500; color: var(--c-muted, #64748b); line-height: 1.35; }
.hn-section { margin-bottom: 26px; }
.hn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; align-items: start; }
.hn-card { border: 1px solid var(--c-border, #e2e8f0); border-radius: 12px; overflow: hidden; background: var(--c-surface, #fff); }
.hn-card header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface-2, #f8fafc); }
.hn-section.is-national .hn-card header { background: linear-gradient(135deg, #3b0a14, #5a1222); border-bottom-color: transparent; }
.hn-section.is-national .hn-card header h4 { color: #fff; }
.hn-section.is-national .hn-card header span { background: rgba(243,210,122,.2); color: #f3d27a; }
.hn-card h4 { margin: 0; font-size: .92rem; font-weight: 800; color: var(--c-text, #0f172a); line-height: 1.25; }
.hn-card header span { flex: none; min-width: 26px; height: 22px; padding: 0 7px; display: inline-grid; place-items: center; border-radius: 11px; font-size: .74rem; font-weight: 800; background: var(--c-surface-3, #f1f5f9); color: var(--c-text-2, #475569); }
.hn-card ul { list-style: none; margin: 0; padding: 4px 0; }
.hn-card li { display: grid; grid-template-columns: 70px 1fr; gap: 10px; padding: 6px 14px; font-size: .9rem; }
.hn-season { white-space: nowrap; color: var(--c-muted, #64748b); font-weight: 700; font-variant-numeric: tabular-nums; }
.hn-player { font-weight: 700; }
.hn-player a { color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
.hn-player a:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }

/* Coaches */
.ch-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.ch-timeline::before { content: ""; position: absolute; left: 63px; top: 8px; bottom: 8px; width: 2px; background: var(--c-border, #e2e8f0); }
.ch-item { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 22px; padding-bottom: 16px; }
.ch-item::before { content: ""; position: absolute; left: 58px; top: 14px; width: 12px; height: 12px; border-radius: 50%; background: var(--c-surface, #fff); border: 3px solid #5a1222; }
.ch-item.is-current::before { background: #5a1222; box-shadow: 0 0 0 4px rgba(90,18,34,.18); }
.ch-years { text-align: right; padding-right: 14px; padding-top: 6px; line-height: 1.1; }
.ch-years b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.25rem; color: var(--c-text, #0f172a); }
.ch-years span { font-size: .76rem; font-weight: 700; color: var(--c-muted, #64748b); }
.ch-card { border: 1px solid var(--c-border, #e2e8f0); border-radius: 12px; background: var(--c-surface, #fff); overflow: hidden; }
.ch-item.is-current .ch-card { border-color: #5a1222; }
.ch-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 16px; }
.ch-card h3 { margin: 0; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.55rem; line-height: 1.05; color: var(--c-text, #0f172a); }
.ch-sub { display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 4px 0 0; font-size: .84rem; color: var(--c-text-2, #475569); }
.ch-now { font-weight: 800; color: var(--c-accent-text, #5a1222); }
.ch-tenure { flex: none; padding: 4px 10px; border-radius: 6px; background: var(--c-surface-3, #f1f5f9); font-weight: 800; font-size: .84rem; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.ch-accs { list-style: none; margin: 0; padding: 4px 16px 12px; border-top: 1px solid var(--c-border-soft, #eef2f6); }
.ch-accs li { display: grid; grid-template-columns: 72px 1fr; gap: 12px; padding: 7px 0; font-size: .9rem; line-height: 1.45; color: var(--c-text, #0f172a); }
.ch-accs li + li { border-top: 1px dashed var(--c-border-soft, #eef2f6); }
.ch-yr { font-weight: 800; color: var(--c-accent-text, #5a1222); font-variant-numeric: tabular-nums; }

/* Captains */
.cp-badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 5px; background: #5a1222; color: #fff; font-size: .7rem; font-weight: 900; }
.cp-badge sub { font-size: .6rem; bottom: 0; }
.cp-badge.is-a { background: transparent; color: var(--c-accent-text, #5a1222); box-shadow: inset 0 0 0 1.5px currentColor; }
.cp-key { display: inline-flex; align-items: center; gap: 6px; margin-left: 6px; }
.cp-repeat { margin-bottom: 20px; }
.cp-repeat ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.cp-repeat li { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 10px; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); }
.cp-repeat .cp-badge { min-width: 34px; height: 26px; font-size: .82rem; }
.cp-who { font-weight: 800; min-width: 0; }
.cp-who small { display: block; font-weight: 500; font-size: .76rem; color: var(--c-muted, #64748b); }
.cp-decade { margin-bottom: 22px; }
.cp-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.cp-card { display: flex; flex-direction: column; gap: 6px; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.cp-season { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.15rem; color: var(--c-text, #0f172a); }
.cp-names { display: flex; flex-direction: column; gap: 4px; }
.cp-line { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: .92rem; }
.cp-line.is-alt { font-weight: 600; color: var(--c-text-2, #475569); }
.cp-line.is-none { color: var(--c-muted, #64748b); font-weight: 500; }
.uhs-caps .cp-line a, .uhs-caps .cp-who a { color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
.uhs-caps .cp-line a:hover, .uhs-caps .cp-who a:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }

@media (max-width: 767px) {
    .uhs-arch .arch-body { padding: 14px 12px 22px; }
    .arch-toolbar { gap: 8px; }
    .arch-search { flex-basis: 100%; }
    .arch-select { flex: 1 1 0; }
    .arch-select select { max-width: none; flex: 1; }
    .arch-chips { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; max-width: 100%; }
    .arch-chips::-webkit-scrollbar { display: none; }
    .arch-chips button { flex: 0 0 auto; min-height: 38px; }
    .arch-az { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .arch-az a, .arch-az span { min-width: 32px; height: 36px; }
    .dir-head { display: none; }
    .dir-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who pace" "who line"; gap: 2px 10px; padding: 10px 4px; }
    .dir-who { grid-area: who; } .dir-gp { display: none; } .dir-line { grid-area: line; } .dir-pace { grid-area: pace; }
    .dir-line b { font-size: .86rem; } .dir-line small { display: none; }
    .dir-meta .dir-home { flex-basis: 100%; }
    a.ga-row { grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; padding: 10px 12px; }
    .ga-go { display: none; }
    .ga-season > summary { padding: 10px 12px; gap: 2px 12px; }
    .hn-tiles { grid-template-columns: 1fr 1fr; }
    .hn-tile b { font-size: 1.9rem; }
    .ch-timeline::before { left: 7px; }
    .ch-item { grid-template-columns: 1fr; gap: 6px; padding-left: 26px; }
    .ch-item::before { left: 2px; top: 6px; }
    .ch-years { text-align: left; padding: 0; display: flex; align-items: baseline; gap: 6px; }
    .ch-years b { font-size: 1.1rem; display: inline; }
    .ch-tenure { display: none; }
    .ch-accs li { grid-template-columns: 60px 1fr; }
}

/* filtered-out rows and cards: [hidden] must win over the grid/flex display these elements use */
.uhs-arch [hidden], .uhs-sweaters [hidden], .uhs-ga [hidden] { display: none !important; }
.arch-status { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.arch-reset { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--c-border-strong, #cbd5e1); background: var(--c-surface, #fff); color: var(--c-accent-text, #5a1222); font: 700 .82rem system-ui, -apple-system, sans-serif; cursor: pointer; }
.arch-reset::before { content: "\00D7"; font-size: 1.05rem; line-height: 1; }
.arch-reset:hover { border-color: #5a1222; }
.ga-summary .arch-reset { margin-left: auto; }
@media (max-width: 767px) { .arch-reset { min-height: 40px; } }

/* =====================================================================
   Season archive
   ===================================================================== */
.sl-overview { margin: 18px 0 8px; }
.sl-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
.sl-tile { padding: 14px 16px; border-radius: 12px; background: var(--c-surface, #fff); border: 1px solid var(--c-border, #e2e8f0); }
.sl-tile b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2rem; line-height: 1; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.sl-tile span { display: block; margin-top: 5px; font-size: .82rem; font-weight: 600; color: var(--c-text-2, #475569); line-height: 1.35; }
.sl-tile.is-gold { background: linear-gradient(135deg, #3b0a14, #5a1222); border-color: transparent; }
.sl-tile.is-gold b { color: #f3d27a; } .sl-tile.is-gold span { color: rgba(255,255,255,.85); }
.sl-arc { margin: 0; padding: 14px 16px 10px; border-radius: 12px; background: var(--c-surface, #fff); border: 1px solid var(--c-border, #e2e8f0); }
.sl-arc figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 8px; font-size: .84rem; font-weight: 700; color: var(--c-text, #0f172a); }
.sl-key { display: inline-flex; align-items: center; gap: 6px; font-size: .76rem; font-weight: 600; color: var(--c-muted, #64748b); }
.sl-key i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-left: 6px; }
.sl-arc svg { display: block; width: 100%; height: auto; }
.sl-arc rect.is-up, .sl-key i.is-up { fill: #5a1222; background: #5a1222; }
.sl-arc rect.is-down, .sl-key i.is-down { fill: #cbd5e1; background: #cbd5e1; }
.sl-arc rect.is-title, .sl-key i.is-title { fill: #c9a227; background: #c9a227; }
.sl-arc .sl-bar:hover rect, .sl-arc .sl-bar:focus rect { opacity: .75; }
.sl-arc .sl-mid { stroke: var(--c-border-strong, #cbd5e1); stroke-dasharray: 4 4; stroke-width: 1; }
.sl-arc text { font: 600 13px system-ui, -apple-system, sans-serif; fill: var(--c-muted, #64748b); }
html[data-theme="dark"] .sl-arc rect.is-up, html[data-theme="dark"] .sl-key i.is-up { fill: #b0384f; background: #b0384f; }
html[data-theme="dark"] .sl-arc rect.is-down, html[data-theme="dark"] .sl-key i.is-down { fill: #475569; background: #475569; }
.sl-decade { display: inline-block; margin: 22px 0 8px; padding: 3px 12px; border-radius: 8px; background: rgba(15,23,42,.72); font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 700; font-size: 1.25rem; color: #fff; }

html body .uhs-master-wrapper .uhs-seasoncard-std { border: 1px solid var(--c-border, #e2e8f0) !important; background: var(--c-surface, #fff) !important; }
html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header.sl-head { position: relative; background: var(--c-surface, #fff) !important; color: var(--c-text, #0f172a) !important; padding: 12px 18px 14px !important; gap: 16px; border-left: 4px solid transparent !important; filter: none !important; }
html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header.sl-head:hover { background: var(--c-surface-2, #f8fafc) !important; padding-left: 18px !important; filter: none !important; }
html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header.sl-head.is-title { border-left-color: #c9a227 !important; }
html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header.sl-head:focus-visible { outline: 3px solid rgba(90,18,34,.35); outline-offset: -3px; }
html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-title { color: var(--c-text, #0f172a) !important; font-size: 1.6rem !important; text-shadow: none !important; margin: 0 !important; }
.sl-head-main { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-list__meta { display: flex; flex-wrap: wrap; gap: 2px 14px; color: var(--c-text-2, #475569) !important; font-size: .82rem !important; font-weight: 500 !important; }
html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-list__meta strong { display: inline-grid; place-items: center; min-width: 17px; height: 17px; margin-right: 3px; border-radius: 4px; background: #5a1222; color: #fff; font-size: .62rem; vertical-align: 1px; }
html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-list__alts strong { background: transparent; color: var(--c-accent-text, #5a1222); box-shadow: inset 0 0 0 1.5px currentColor; }
.sl-head .uhs-season-list__meta a { color: var(--c-text, #0f172a) !important; font-weight: 600; text-decoration: none !important; }
.sl-head .uhs-season-list__meta a:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.sl-coach { font-weight: 700; color: var(--c-text, #0f172a); }
.sl-head .uhs-header-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.sl-head .uhs-s-badge { font-size: .66rem !important; padding: 3px 8px !important; border-radius: 5px !important; }
.sl-badge-ncaa { background: var(--c-surface-3, #f1f5f9) !important; color: var(--c-text-2, #475569) !important; border: 1px solid var(--c-border, #e2e8f0) !important; }
.sl-head-rec { display: flex; align-items: center; gap: 14px; flex: none; }
.sl-rec { text-align: right; }
html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-record { color: var(--c-text, #0f172a) !important; font-size: 1.7rem !important; line-height: 1 !important; }
html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-list__record-label { display: block !important; margin-top: 3px; color: var(--c-muted, #64748b) !important; font-size: .74rem !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-toggle-icon { background: var(--c-surface-3, #f1f5f9) !important; color: var(--c-text, #0f172a) !important; font-size: 1.3rem !important; opacity: 1 !important; }
.sl-pctbar { position: absolute; left: 0; bottom: 0; height: 3px; background: var(--c-border-strong, #cbd5e1); border-radius: 0 3px 3px 0; }
.sl-pctbar.is-up { background: #5a1222; }
html[data-theme="dark"] .sl-pctbar.is-up { background: #b0384f; }
@media (max-width: 767px) {
    .sl-tiles { grid-template-columns: 1fr 1fr; }
    .sl-tile b { font-size: 1.4rem; white-space: nowrap; }
    .sl-arc text { display: none; }
    html body .uhs-master-wrapper .uhs-seasoncard-std > .season-header.sl-head { padding: 10px 12px 12px !important; align-items: flex-start !important; }
    html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-title { font-size: 1.35rem !important; }
    html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-list__meta { white-space: normal !important; overflow: visible !important; font-size: .78rem !important; }
    html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-record { font-size: 1.35rem !important; }
    html body .uhs-master-wrapper .uhs-seasoncard-std .sl-head .uhs-season-list__record-label { font-size: .7rem !important; }
    .sl-head-rec { gap: 8px; }
}

/* =====================================================================
   Record book
   ===================================================================== */
.uhs-rbook .arch-h small { display: inline-block; margin-left: 8px; font-family: system-ui, -apple-system, sans-serif; font-size: .78rem; font-weight: 600; color: var(--c-muted, #64748b); }
.rb-top { display: grid; grid-template-columns: 280px 1fr; gap: 12px; margin-bottom: 18px; }
.rb-recs { display: grid; gap: 10px; }
html body .uhs-rbook .uhs-record-card.rb-rec { display: flex; flex-direction: column; justify-content: center; margin: 0 !important; padding: 12px 16px !important; border-radius: 12px !important; background: var(--c-surface-2, #f8fafc) !important; border: 1px solid var(--c-border, #e2e8f0) !important; box-shadow: none !important; text-align: left !important; }
html body .uhs-rbook .rb-rec .uhs-record-card-title { font-size: .78rem !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-text-2, #475569) !important; }
html body .uhs-rbook .rb-rec .uhs-record-card-val { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: 2rem !important; font-weight: 800; line-height: 1.05; color: var(--c-text, #0f172a) !important; font-variant-numeric: tabular-nums; }
.rb-banners { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.rb-banner { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 14px 14px 18px; border-radius: 10px 10px 4px 4px; background: linear-gradient(180deg, #5a1222, #3b0a14); color: #fff; overflow: hidden; }
.rb-banner::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255,255,255,.25); }
.rb-banner b { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.2rem; line-height: 1; }
.rb-banner span { font-size: .8rem; font-weight: 700; line-height: 1.25; color: rgba(255,255,255,.9); }
.rb-banner em { margin-top: 6px; font-style: normal; font-size: .74rem; line-height: 1.45; color: rgba(255,255,255,.7); font-variant-numeric: tabular-nums; }
.rb-banner.is-gold { background: linear-gradient(180deg, #d4af37, #a8841d); color: #2b0911; }
.rb-banner.is-gold span { color: #2b0911; } .rb-banner.is-gold em { color: rgba(43,9,17,.75); }
.rb-banner.is-gold::after { background: rgba(43,9,17,.25); }
.rb-controls { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 14px; }
.uhs-rbook .arch-chips button.active { background: #5a1222; color: #fff; }
html[data-theme="dark"] .uhs-rbook .arch-chips button.active { background: #8a2236; }
.rb-cats { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 18px; padding: 0 !important; background: none !important; border: 0 !important; }
html body .uhs-master-wrapper .uhs-rbook .rb-cats .uhs-s-tab-btn.rb-cat { flex: 0 0 auto !important; width: auto !important; min-height: 36px; padding: 0 14px !important; border-radius: 18px !important; border: 1px solid var(--c-border-strong, #cbd5e1) !important; background: var(--c-surface, #fff) !important; color: var(--c-text-2, #475569) !important; font-size: .82rem !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important; }
html body .uhs-master-wrapper .uhs-rbook .rb-cats .uhs-s-tab-btn.rb-cat.active { background: #5a1222 !important; border-color: #5a1222 !important; color: #fff !important; }
html[data-theme="dark"] body .uhs-master-wrapper .uhs-rbook .rb-cats .uhs-s-tab-btn.rb-cat.active { background: #8a2236 !important; border-color: #8a2236 !important; }

.rb-podium { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.rb-pod { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "rank val" "who who"; align-items: center; gap: 6px 12px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.rb-pod.is-1 { background: linear-gradient(135deg, #3b0a14, #5a1222); border-color: transparent; color: #fff; }
.rb-pod-rank { grid-area: rank; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.2rem; background: var(--c-surface-3, #f1f5f9); color: var(--c-text, #0f172a); }
.rb-pod.is-1 .rb-pod-rank { background: #d4af37; color: #2b0911; }
.rb-pod-val { grid-area: val; justify-self: end; text-align: right; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.1rem; line-height: 1; color: var(--c-accent-text, #5a1222); font-variant-numeric: tabular-nums; }
.rb-pod-val small { display: block; font-family: system-ui, -apple-system, sans-serif; font-size: .66rem; font-weight: 700; color: var(--c-muted, #64748b); }
.rb-pod.is-1 .rb-pod-val { color: #f3d27a; } .rb-pod.is-1 .rb-pod-val small { color: rgba(255,255,255,.7); }
.rb-pod-who { grid-area: who; min-width: 0; font-weight: 800; font-size: 1.02rem; }
.rb-pod-who a { color: inherit !important; text-decoration: none !important; }
.rb-pod-who a:hover { text-decoration: underline !important; }
.rb-pod-who small { display: block; font-size: .78rem; font-weight: 500; color: var(--c-muted, #64748b); }
.rb-pod.is-1 .rb-pod-who small { color: rgba(255,255,255,.75); }
.rb-pod-who small a { font-weight: 700; }
.rb-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--c-border, #e2e8f0); border-radius: 12px; background: var(--c-surface, #fff); overflow: hidden; }
.rb-list li { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 16px; }
.rb-list li + li { border-top: 1px solid var(--c-border-soft, #eef2f6); }
.rb-list li:hover { background: var(--c-surface-2, #f8fafc); }
.rb-rank { font-weight: 800; color: var(--c-muted, #64748b); font-variant-numeric: tabular-nums; }
.rb-who { min-width: 0; font-weight: 700; }
.rb-who > a { color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
.rb-who > a:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.rb-who small { display: block; font-size: .76rem; font-weight: 500; color: var(--c-muted, #64748b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rb-val { font-weight: 800; font-size: 1.02rem; color: var(--c-accent-text, #5a1222); font-variant-numeric: tabular-nums; }
.rb-foot { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--c-border, #e2e8f0); text-align: center; }

@media (max-width: 900px) {
    .rb-top { grid-template-columns: 1fr; }
    .rb-recs { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
    .rb-banners { grid-template-columns: 1fr 1fr; }
    .rb-banner b { font-size: 1.8rem; }
    .rb-podium { grid-template-columns: 1fr; gap: 8px; }
    .rb-pod { grid-template-columns: auto 1fr auto; grid-template-areas: "rank who val"; padding: 10px 12px; }
    .rb-pod-val { font-size: 1.7rem; }
    .rb-cats { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .rb-list li { padding: 9px 12px; grid-template-columns: 32px minmax(0, 1fr) auto; }
    html body .uhs-rbook .rb-rec .uhs-record-card-val { font-size: 1.6rem !important; }
}
.rb-top { grid-template-columns: 280px minmax(0, 1fr); }
.rb-who small a, .rb-pod-who small a { color: var(--c-accent-text, #5a1222) !important; }
.rb-pod.is-1 .rb-pod-who small a { color: #f3d27a !important; }
@media (max-width: 900px) { .rb-top { grid-template-columns: minmax(0, 1fr); } .rb-recs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .rb-banners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html body .uhs-rbook .rb-rec .uhs-record-card-val { font-size: 1.4rem !important; }
    .rb-controls .arch-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
}

/* =====================================================================
   Union player profile header (8.14)
   ===================================================================== */
html body .uhs-master-wrapper .uhs-profile-std > .pf-hero { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; flex-wrap: wrap; gap: 16px 24px !important; padding: 26px 30px 22px !important; background: radial-gradient(120% 160% at 0% 0%, rgba(255,255,255,.1), transparent 55%), linear-gradient(135deg, #5a1222, #2b0911 75%, #14050a) !important; color: #fff !important; }
.pf-id { display: flex; align-items: center; gap: 20px; min-width: 0; }
.pf-num { flex: none; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 4.2rem; line-height: .9; color: rgba(255,255,255,.18); letter-spacing: -.02em; }
.pf-id-text { min-width: 0; }
html body .uhs-master-wrapper .pf-hero h1.uhs-profile__title { margin: 0 0 8px !important; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif !important; font-weight: 800 !important; font-size: clamp(2rem, 4.4vw, 3rem) !important; line-height: 1 !important; letter-spacing: 0 !important; text-transform: none !important; color: #fff !important; }
html body .uhs-master-wrapper .pf-hero .pf-chips { display: flex !important; flex-wrap: wrap; gap: 6px; margin: 0 !important; font-size: .84rem !important; letter-spacing: 0 !important; text-transform: none !important; color: #fff !important; }
.pf-chips span { padding: 3px 10px; border-radius: 999px; background: rgba(255,255,255,.12); font-weight: 600; }
.pf-honors { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pf-honors:empty { display: none; }
.pf-tag { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 6px; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.18); font-size: .76rem; font-weight: 700; color: #fff; }
.pf-tag b { display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 3px; background: #d4af37; color: #2b0911; font-size: .66rem; }
.pf-tag.is-alt b { background: #fff; }
.pf-tag.is-gold { background: #d4af37; border-color: #d4af37; color: #2b0911; }
.pf-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pf-btn { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 8px; border: 1px solid rgba(255,255,255,.4); background: transparent; color: #fff !important; font: 700 .84rem system-ui, -apple-system, sans-serif; text-decoration: none !important; cursor: pointer; }
.pf-btn:hover { background: rgba(255,255,255,.1); }
.pf-btn.is-solid { background: #fff; color: #2b0911 !important; border-color: #fff; }
html body .uhs-master-wrapper .uhs-profile-std .pf-tiles { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 10px !important; }
html body .uhs-master-wrapper .uhs-profile-std .pf-tiles:has(> :nth-child(6)) { grid-template-columns: repeat(6, 1fr) !important; }
.pf-ranks { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 14px 0 6px; }
.pf-ranks-h { font-size: .78rem; font-weight: 800; color: var(--c-muted, #64748b); margin-right: 2px; }
.pf-rank { padding: 4px 10px; border-radius: 999px; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); font-size: .82rem; font-weight: 600; color: var(--c-text-2, #475569); }
.pf-rank b { color: var(--c-text, #0f172a); }
.pf-rank.is-top { background: #fdf6e3; border-color: #ead9a0; color: #6b4e00; }
.pf-rank.is-top b { color: #5a3e00; }
html[data-theme="dark"] .pf-rank.is-top { background: rgba(212,175,55,.14); border-color: rgba(212,175,55,.4); color: #f3d27a; }
html[data-theme="dark"] .pf-rank.is-top b { color: #fde68a; }
.pf-ranks-more { margin-left: auto; font-size: .8rem; font-weight: 700; color: var(--c-accent-text, #5a1222) !important; }
.pf-jump { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--c-border, #e2e8f0); }
.pf-jump a { padding: 6px 12px; border-radius: 8px; font-size: .82rem; font-weight: 700; color: var(--c-text-2, #475569) !important; text-decoration: none !important; background: var(--c-surface-3, #f1f5f9); }
.pf-jump a:hover { color: var(--c-text, #0f172a) !important; }
#pf-stats, #pf-honors, #pf-analytics, #pf-similar { scroll-margin-top: 90px; }
@media (max-width: 767px) {
    html body .uhs-master-wrapper .uhs-profile-std > .pf-hero { padding: 18px 16px !important; align-items: flex-start !important; }
    .pf-id { gap: 12px; align-items: flex-start; }
    .pf-num { font-size: 3rem; }
    .pf-actions { width: 100%; }
    .pf-btn { flex: 1; justify-content: center; min-height: 40px; }
    html body .uhs-master-wrapper .uhs-profile-std .pf-tiles, html body .uhs-master-wrapper .uhs-profile-std .pf-tiles:has(> :nth-child(6)) { grid-template-columns: repeat(3, 1fr) !important; }
    .pf-ranks-more { margin-left: 0; }
    .pf-jump { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .pf-jump a { flex: none; }
}

/* =====================================================================
   Box score (8.14)
   ===================================================================== */
.bx-board { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 26px 30px; color: #fff; background: radial-gradient(120% 160% at 50% 0%, rgba(255,255,255,.09), transparent 60%), linear-gradient(135deg, #5a1222, #2b0911 70%, #14050a); }
.bx-team { display: flex; align-items: center; gap: 14px; min-width: 0; color: rgba(255,255,255,.65) !important; text-decoration: none !important; }
.bx-team.is-opp { justify-content: flex-end; text-align: right; }
.bx-team.is-win { color: #fff !important; }
.bx-team img { flex: none; width: 64px; height: 64px; object-fit: contain; padding: 6px; border-radius: 50%; background: rgba(255,255,255,.95); }
.bx-name { min-width: 0; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 700; font-size: 1.7rem; line-height: 1.05; }
.bx-name small { display: block; font-family: system-ui, -apple-system, sans-serif; font-size: .74rem; font-weight: 600; opacity: .8; }
a.bx-team:hover .bx-name small { text-decoration: underline; }
.bx-score { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 4rem; line-height: .9; font-variant-numeric: tabular-nums; }
.bx-team:not(.is-opp) .bx-score { margin-left: auto; }
.bx-team.is-opp .bx-score { margin-right: auto; }
.bx-mid { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; padding: 0 10px; }
html body .uhs-master-wrapper .bx h1.bx-status { margin: 0 !important; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif !important; font-weight: 800 !important; font-size: 1.5rem !important; line-height: 1 !important; color: #fff !important; text-transform: none !important; letter-spacing: 0 !important; text-shadow: none !important; }
.bx-res { padding: 2px 9px; border-radius: 5px; font-size: .72rem; font-weight: 800; background: rgba(255,255,255,.15); }
.bx-board.is-w .bx-res { background: #2e7d32; } .bx-board.is-l .bx-res { background: #b91c1c; }
.bx-date { font-size: .82rem; font-weight: 600; color: rgba(255,255,255,.85); }
.bx-event { font-size: .76rem; color: rgba(255,255,255,.65); }
.bx-nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 10px 20px; border-bottom: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface-2, #f8fafc); }
.bx-nav a { color: var(--c-text, #0f172a) !important; text-decoration: none !important; font-size: .84rem; font-weight: 700; }
.bx-nav a:hover { color: var(--c-accent-text, #5a1222) !important; }
.bx-nav small { display: block; font-size: .7rem; font-weight: 600; color: var(--c-muted, #64748b); }
.bx-next { text-align: right; } .bx-prev small::before { content: "\2039  "; } .bx-next small::after { content: "  \203A"; }
.bx-prev, .bx-next { display: block; }
.bx-prev small, .bx-next small { display: block; }
.bx-links { display: flex; gap: 14px; justify-content: center; }
.bx-links a { color: var(--c-accent-text, #5a1222) !important; }
.bx-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; }
.bx-card { padding: 16px 18px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.bx-card h3 { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 12px; font-size: .86rem; font-weight: 800; color: var(--c-text, #0f172a); }
.bx-compare h3 span:nth-child(2) { color: var(--c-muted, #64748b); font-weight: 700; }
.bx-cmp { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; gap: 10px; padding: 6px 0; }
.bx-cmp b { font-size: 1.05rem; font-weight: 800; color: var(--c-text-2, #475569); font-variant-numeric: tabular-nums; }
.bx-cmp b:last-child { text-align: right; }
.bx-cmp b.is-lead { color: var(--c-text, #0f172a); }
.bx-cmp-mid span { display: block; margin-bottom: 4px; text-align: center; font-size: .76rem; font-weight: 700; color: var(--c-muted, #64748b); }
.bx-cmp-bar { display: flex; gap: 3px; height: 6px; }
.bx-cmp-bar i { display: block; border-radius: 3px; background: var(--c-border-strong, #cbd5e1); }
.bx-cmp-bar i:first-child { background: #5a1222; }
html[data-theme="dark"] .bx-cmp-bar i:first-child { background: #b0384f; }
.bx-sc-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bx-scoring h4 { margin: 0 0 6px; font-size: .76rem; font-weight: 800; color: var(--c-muted, #64748b); }
.bx-scoring ul { list-style: none; margin: 0; padding: 0; }
.bx-scoring li { display: flex; justify-content: space-between; gap: 8px; padding: 4px 0; font-size: .88rem; font-weight: 700; color: var(--c-text, #0f172a); }
.bx-scoring li a { color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
.bx-scoring li a:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.bx-scoring li span { font-weight: 600; color: var(--c-text-2, #475569); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bx-sub { margin-top: 14px !important; padding-top: 12px; border-top: 1px solid var(--c-border-soft, #eef2f6); }
.bx-goalies li { display: grid !important; grid-template-columns: 90px 1fr auto; }
.bx-gteam { font-size: .76rem; font-weight: 700; color: var(--c-muted, #64748b) !important; }
.bx-none { margin: 0; font-size: .84rem; color: var(--c-muted, #64748b); }
@media (max-width: 767px) {
    .bx-board { grid-template-columns: 1fr; gap: 10px; padding: 16px; }
    .bx-team, .bx-team.is-opp { flex-direction: row; justify-content: flex-start; text-align: left; }
    .bx-team.is-opp { order: 2; } .bx-mid { order: 3; align-items: flex-start; text-align: left; padding: 6px 0 0; flex-direction: row; flex-wrap: wrap; gap: 6px 10px; }
    .bx-team.is-opp img { order: -2; } .bx-team.is-opp .bx-name { order: -1; } .bx-team.is-opp .bx-score { margin: 0 0 0 auto; }
    .bx-team img { width: 44px; height: 44px; padding: 4px; }
    .bx-name { font-size: 1.35rem; }
    .bx-score { font-size: 2.8rem; }
    html body .uhs-master-wrapper .bx h1.bx-status { font-size: 1.15rem !important; }
    .bx-nav { grid-template-columns: 1fr 1fr; padding: 10px 12px; }
    .bx-links { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
    .bx-summary { grid-template-columns: 1fr; }
    .bx-sc-cols { grid-template-columns: 1fr; }
    .bx-goalies li { grid-template-columns: 1fr auto; } .bx-gteam { grid-column: 1 / -1; }
}

/* =====================================================================
   Opponent (series) page header (8.14)
   ===================================================================== */
.op-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px 28px; padding: 26px 30px; color: #fff; background: radial-gradient(120% 160% at 100% 0%, rgba(255,255,255,.1), transparent 55%), linear-gradient(135deg, #5a1222 0%, #2b0911 45%, var(--op, #0f172a) 100%); }
.op-teams { display: flex; align-items: center; gap: 10px; }
.op-teams img { width: 64px; height: 64px; object-fit: contain; padding: 6px; border-radius: 50%; background: rgba(255,255,255,.95); }
.op-vs { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 700; font-size: 1.1rem; color: rgba(255,255,255,.7); }
.op-kicker { display: block; font-size: .78rem; font-weight: 700; color: rgba(255,255,255,.75); }
html body .uhs-master-wrapper .op-head h1 { margin: 2px 0 6px !important; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif !important; font-weight: 800 !important; font-size: clamp(2rem, 4.5vw, 3rem) !important; line-height: 1 !important; color: #fff !important; text-transform: none !important; letter-spacing: 0 !important; text-shadow: none !important; }
.op-note { display: inline-block; padding: 3px 10px; border-radius: 999px; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.18); font-size: .74rem; font-weight: 700; }
.op-glance { text-align: right; }
.op-big b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.6rem; line-height: 1; font-variant-numeric: tabular-nums; }
.op-big span { font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.8); }
.op-facts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 16px; margin-top: 10px; }
.op-facts span { font-size: .84rem; font-weight: 700; }
.op-facts small { display: block; font-size: .68rem; font-weight: 600; color: rgba(255,255,255,.65); }
.op-facts a { color: #fff !important; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 3px; }
@media (max-width: 900px) {
    .op-hero { grid-template-columns: 1fr; padding: 18px 16px; gap: 12px; }
    .op-teams img { width: 48px; height: 48px; }
    .op-glance { text-align: left; }
    .op-facts { justify-content: flex-start; }
    .op-big b { font-size: 2.1rem; }
}

/* =====================================================================
   8.15: hot & cold, goalie fatigue, milestones, injury report, roster matrix
   ===================================================================== */
:root { --heat-1: rgba(90,18,34,.14); --heat-1-t: #5a1222; --heat-2: rgba(90,18,34,.52); --heat-3: #5a1222; --cool-1: rgba(37,99,235,.13); --cool-t: #1d4ed8; --cool: #2563eb; --ok: #15803d; --ok-1: rgba(21,128,61,.12); --warn: #b45309; --warn-1: rgba(180,83,9,.12); }
html[data-theme="dark"] { --heat-1: rgba(244,114,148,.16); --heat-1-t: #fda4af; --heat-2: rgba(190,40,70,.4); --heat-3: #c0304f; --cool-1: rgba(96,165,250,.18); --cool-t: #93c5fd; --cool: #60a5fa; --ok: #4ade80; --ok-1: rgba(74,222,128,.14); --warn: #fbbf24; --warn-1: rgba(251,191,36,.14); }
.uhs-arch .arch-h small { margin-left: 6px; font-family: system-ui, -apple-system, sans-serif; font-size: .8rem; font-weight: 600; color: var(--c-muted, #64748b); }

/* ---- Hot & cold ---- */
.tc-top { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px 28px; align-items: end; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid var(--c-border, #e2e8f0); }
.tc-results { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; list-style: none; margin: 0; padding: 0; }
.tc-results a { display: grid; gap: 2px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); text-decoration: none !important; color: var(--c-text, #0f172a) !important; height: 100%; box-sizing: border-box; }
.tc-results a:hover { border-color: var(--c-border-strong, #cbd5e1); background: var(--c-surface-2, #f8fafc); }
.tc-results li.is-latest a { border: 2px solid var(--c-text, #0f172a); padding: 9px 11px; }
.tc-results em { font-style: normal; font-weight: 900; font-size: .78rem; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; color: #fff; background: var(--c-muted, #64748b); }
.tc-results .is-w em { background: var(--c-win, #2e7d32); } .tc-results .is-l em { background: var(--c-loss, #c62828); }
html[data-theme="dark"] .tc-results .is-w em, html[data-theme="dark"] .tc-results .is-l em { color: #0f172a; }
.tc-results b { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.5rem; line-height: 1; font-variant-numeric: tabular-nums; }
.tc-results span { font-size: .8rem; font-weight: 700; color: var(--c-text-2, #475569); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tc-results small { font-size: .72rem; font-weight: 600; color: var(--c-muted, #64748b); }
.tc-count { display: flex; gap: 6px; margin: 0; }
.tc-count div { min-width: 82px; padding: 10px 14px; border-radius: 10px; background: var(--c-surface-3, #f1f5f9); text-align: center; }
.tc-count dt { font-size: .75rem; font-weight: 700; color: var(--c-text-2, #475569); }
.tc-count dd { margin: 2px 0 0; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2rem; line-height: 1; color: var(--c-text, #0f172a); }
.tc-count .is-hot dd { color: var(--heat-1-t); } .tc-count .is-cold dd { color: var(--cool-t); }

.tc-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin-bottom: 30px; }
.tc-col-h { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 700; font-size: 1.4rem; color: var(--c-text, #0f172a); }
.tc-col-h i { width: 10px; height: 10px; border-radius: 50%; background: var(--heat-3); }
.tc-col.is-cold .tc-col-h i { background: var(--cool); }
.tc-col.is-streak .tc-col-h i { background: var(--c-gold, #d4af37); }
.tc-col-h small { font-family: system-ui, -apple-system, sans-serif; font-size: .8rem; font-weight: 700; color: var(--c-muted, #64748b); }
.tc-hot { margin-bottom: 26px; }
.tc-hot .tc-cards { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.tc-streaks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tc-streaks li { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.tc-streaks li > b { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: linear-gradient(135deg, #3b0a14, #5a1222); color: #f3d27a; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.5rem; }
.tc-streaks li > span { min-width: 0; }
.tc-streaks small { display: block; font-size: .8rem; font-weight: 600; color: var(--c-text-2, #475569); }
.tc-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tc-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who num" "strip strip"; gap: 10px 14px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); border-left: 4px solid var(--heat-3); background: var(--c-surface, #fff); }
.tc-card.is-cold { border-left-color: var(--cool); }
.tc-card-who { grid-area: who; min-width: 0; }
.tc-card-who small { display: block; margin-top: 3px; font-size: .8rem; font-weight: 600; color: var(--c-text-2, #475569); font-variant-numeric: tabular-nums; }
a.tc-name { font-weight: 800; font-size: 1rem; color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
a.tc-name:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.tc-pos { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 6px; padding: 0 3px; border-radius: 4px; font-size: .66rem; font-weight: 900; vertical-align: 2px; color: var(--c-text-2, #475569); background: var(--c-surface-3, #f1f5f9); }
.tc-card-num { grid-area: num; text-align: right; }
.tc-card-num b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2rem; line-height: .95; color: var(--heat-1-t); font-variant-numeric: tabular-nums; }
.tc-card.is-cold .tc-card-num b { color: var(--cool-t); }
.tc-card-num small { font-size: .72rem; font-weight: 700; color: var(--c-muted, #64748b); }
.tc-card .tc-strip { grid-area: strip; }
.tc-none { margin: 0; padding: 16px; border-radius: 12px; border: 1px dashed var(--c-border-strong, #cbd5e1); color: var(--c-muted, #64748b); font-weight: 600; font-size: .9rem; }

.tc-strip { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.tc-strip li { flex: 0 0 auto; }
.tc-strip a, .tc-strip span, .tc-strip li.is-none { display: grid; place-items: center; width: 40px; height: 30px; border-radius: 6px; box-sizing: border-box; font-weight: 800; font-size: .82rem; font-variant-numeric: tabular-nums; text-decoration: none !important; background: var(--c-surface-3, #f1f5f9); color: var(--c-muted, #64748b) !important; }
.tc-strip li.is-none { background: none; border: 1.5px dashed var(--c-border, #e2e8f0); }
.tc-strip li.is-g a, .tc-strip li.is-g span { font-size: .72rem; letter-spacing: -.01em; }
.tc-strip .is-l1 a, .tc-strip .is-l1 span, .tc-key .is-l1 { background: var(--heat-1); color: var(--heat-1-t) !important; }
.tc-strip .is-l2 a, .tc-strip .is-l2 span, .tc-key .is-l2 { background: var(--heat-2); color: #fff !important; }
.tc-strip .is-l3 a, .tc-strip .is-l3 span, .tc-strip .is-l4 a, .tc-strip .is-l4 span, .tc-key .is-l3, .tc-key .is-l4 { background: var(--heat-3); color: #fff !important; }
.tc-strip .is-low a, .tc-strip .is-low span, .tc-key .is-low { background: var(--cool-1); color: var(--cool-t) !important; }
.tc-strip .is-pos a, .tc-strip .is-pos span, .tc-key .is-pos { box-shadow: inset 0 -3px 0 var(--ok); }
.tc-strip .is-neg a, .tc-strip .is-neg span, .tc-key .is-neg { box-shadow: inset 0 -3px 0 var(--cool); }
.tc-strip a:hover { outline: 2px solid var(--c-text, #0f172a); outline-offset: 1px; }

.tc-guide-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.tc-guide-top .arch-h { margin: 0; }
.tc-key { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-bottom: 10px; font-size: .76rem; font-weight: 600; color: var(--c-muted, #64748b); }
.tc-key i { display: inline-grid; place-items: center; min-width: 24px; height: 20px; padding: 0 4px; border-radius: 4px; font-style: normal; font-weight: 800; font-size: .7rem; background: var(--c-surface-3, #f1f5f9); }
.tc-key .tc-key-sep { margin-left: 10px; }
.tc-rows { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--c-border, #e2e8f0); }
.tc-row { display: grid; grid-template-columns: minmax(0, 1fr) auto 76px 50px; align-items: center; gap: 14px; padding: 9px 4px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.tc-row-who { min-width: 0; }
.tc-flag { margin-left: 8px; padding: 1px 6px; border-radius: 4px; font-style: normal; font-size: .68rem; font-weight: 800; background: var(--heat-1); color: var(--heat-1-t); vertical-align: 2px; }
.tc-row.is-cold .tc-flag { background: var(--cool-1); color: var(--cool-t); }
.tc-row-num { text-align: right; line-height: 1.05; font-variant-numeric: tabular-nums; }
.tc-row-num b { display: block; font-weight: 800; font-size: .95rem; color: var(--c-text, #0f172a); }
.tc-row-num small { font-size: .66rem; font-weight: 700; color: var(--c-muted, #64748b); }
.tc-criteria { margin-top: 26px; padding: 14px 16px; border-radius: 12px; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); font-size: .9rem; color: var(--c-text-2, #475569); }
.tc-criteria summary { cursor: pointer; font-weight: 800; color: var(--c-text, #0f172a); }
.tc-criteria p { margin: 10px 0 6px; } .tc-criteria ul { margin: 0; padding-left: 18px; } .tc-criteria li { margin: 4px 0; }
.tc-criteria b { color: var(--c-text, #0f172a); }

@media (max-width: 760px) {
    .tc-top { grid-template-columns: minmax(0, 1fr); }
    .tc-cols { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .tc-results { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -2px; padding: 2px; }
    .tc-results li { flex: 0 0 31%; scroll-snap-align: start; }
}
@media (max-width: 560px) {
    .tc-row { grid-template-columns: minmax(0, 1fr) 64px 42px; grid-template-areas: "who num pm" "strip strip strip"; gap: 6px 10px; padding: 10px 2px; }
    .tc-row .tc-row-who { grid-area: who; } .tc-row .tc-strip { grid-area: strip; }
    .tc-row .tc-row-num.is-a { grid-area: num; } .tc-row .tc-row-num.is-b { grid-area: pm; }
    .tc-key .tc-key-sep { margin-left: 4px; }
}

/* ---- Goalie fatigue ---- */
.gf-intro { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 30px; margin-bottom: 20px; }
.gf-intro p { flex: 1 1 380px; max-width: 64ch; margin: 0; font-size: .95rem; line-height: 1.55; color: var(--c-text-2, #475569); }
.gf-sum { display: flex; gap: 6px; margin: 0; }
.gf-sum div { min-width: 110px; padding: 10px 14px; border-radius: 10px; background: var(--c-surface-3, #f1f5f9); }
.gf-sum dt { font-size: .75rem; font-weight: 700; color: var(--c-text-2, #475569); }
.gf-sum dd { margin: 2px 0 0; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2rem; line-height: 1; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.gf-sum dd.is-up, .gf-delta.is-up b, .gf-chg.is-up { color: var(--ok); }
.gf-sum dd.is-down, .gf-delta.is-down b, .gf-chg.is-down { color: var(--cool-t); }
.gf-card { margin-bottom: 18px; border-radius: 14px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); overflow: hidden; }
.gf-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 20px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.gf-name { margin: 0; font-size: 1.15rem; }
.gf-name a.tc-name { font-size: 1.15rem; }
.gf-head p { margin: 2px 0 0; font-size: .82rem; font-weight: 600; color: var(--c-muted, #64748b); }
.gf-delta { text-align: right; }
.gf-delta b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.2rem; line-height: .95; font-variant-numeric: tabular-nums; color: var(--c-text, #0f172a); }
.gf-delta span { font-size: .78rem; font-weight: 700; color: var(--c-text-2, #475569); }
.gf-body { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 10px 28px; align-items: center; padding: 14px 20px 16px; }
.gf-slope { width: 100%; height: auto; display: block; }
.gf-grid { stroke: var(--c-border-soft, #eef2f6); stroke-width: 1; }
.gf-axis { stroke: var(--c-border-strong, #cbd5e1); stroke-width: 1.5; }
.gf-tick { font: 600 10px system-ui, sans-serif; fill: var(--c-muted, #64748b); }
.gf-lab { font: 800 11px system-ui, sans-serif; fill: var(--c-text-2, #475569); }
.gf-wk { stroke-width: 1.5; stroke: var(--c-faint, #94a3b8); opacity: .45; }
.gf-wk.is-up { stroke: var(--ok); } .gf-wk.is-down { stroke: var(--cool); }
.gf-wk:hover { opacity: 1; stroke-width: 3; }
.gf-avg { stroke: var(--heat-3); stroke-width: 4; stroke-linecap: round; }
.gf-dot { fill: var(--heat-3); stroke: var(--c-surface, #fff); stroke-width: 2; }
.gf-val { font: 800 12px system-ui, sans-serif; fill: var(--c-text, #0f172a); paint-order: stroke; stroke: var(--c-surface, #fff); stroke-width: 4px; }
.gf-travel { display: grid; gap: 2px; font-variant-numeric: tabular-nums; }
.gf-trow { display: grid; grid-template-columns: minmax(0, 1fr) 52px 60px 60px 150px; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--c-border-soft, #eef2f6); font-size: .9rem; font-weight: 700; color: var(--c-text, #0f172a); }
.gf-trow > span:not(:first-child) { text-align: right; }
.gf-trow.is-head { padding: 0 0 6px; border-bottom: 2px solid var(--c-border, #e2e8f0); font-size: .7rem; font-weight: 800; color: var(--c-muted, #64748b); }
.gf-bucket b { display: block; font-size: .9rem; }
.gf-bucket small { font-size: .74rem; font-weight: 600; color: var(--c-muted, #64748b); }
.gf-bucket { padding-left: 10px; border-left: 4px solid var(--c-border-strong, #cbd5e1); }
.gf-bucket.is-short { border-left-color: #93c5fd; } .gf-bucket.is-medium { border-left-color: #f59e0b; } .gf-bucket.is-heavy { border-left-color: #b91c1c; }
.gf-bucket.is-home { border-left-color: var(--ok); }
.gf-chgcell { display: grid; grid-template-columns: minmax(0, 1fr) 52px; align-items: center; gap: 8px; }
.gf-chgcell em { font-style: normal; font-weight: 800; text-align: right; }
.gf-chgcell.is-up em { color: var(--ok); } .gf-chgcell.is-down em { color: var(--cool-t); }
.gf-bar { position: relative; display: block; height: 18px; border-radius: 5px; background: var(--c-surface-3, #f1f5f9); overflow: hidden; }
.gf-bar::before { content: ""; position: absolute; left: 50%; top: 2px; bottom: 2px; width: 1px; background: var(--c-border-strong, #cbd5e1); }
.gf-bar i { position: absolute; top: 4px; bottom: 4px; border-radius: 3px; background: var(--ok); }
.is-down .gf-bar i { background: var(--cool); }
.gf-list { border-top: 1px solid var(--c-border-soft, #eef2f6); }
.gf-list summary { padding: 12px 20px; cursor: pointer; font-weight: 800; font-size: .88rem; color: var(--c-accent-text, #5a1222); }
.gf-list ol { list-style: none; margin: 0; padding: 0 20px 12px; }
.gf-list li { display: grid; grid-template-columns: 74px minmax(0, 1fr) 70px 62px; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid var(--c-border-soft, #eef2f6); font-size: .86rem; font-variant-numeric: tabular-nums; }
.gf-when b { display: block; font-weight: 800; color: var(--c-text, #0f172a); } .gf-when small { color: var(--c-muted, #64748b); font-weight: 600; }
.gf-games { display: grid; grid-template-columns: minmax(0, 1fr) 46px; gap: 2px 8px; }
.gf-games a { color: var(--c-text-2, #475569) !important; font-weight: 600; text-decoration: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gf-games a:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.gf-games b { text-align: right; color: var(--c-text, #0f172a); }
.gf-mi { text-align: right; font-weight: 600; color: var(--c-muted, #64748b); }
.gf-chg { text-align: right; font-weight: 800; }
@media (max-width: 860px) {
    .gf-body { grid-template-columns: minmax(0, 1fr); }
    .gf-slope { max-width: 360px; margin: 0 auto; }
}
@media (max-width: 560px) {
    .gf-head, .gf-body { padding-left: 14px; padding-right: 14px; }
    .gf-trow { grid-template-columns: minmax(0, 1fr) 24px 38px 38px 46px; gap: 6px; font-size: .82rem; }
    .gf-trow.is-head { font-size: .62rem; }
    .gf-bucket small { display: none; } .gf-bucket b { font-size: .84rem; }
    .gf-delta b { font-size: 1.8rem; } .gf-delta span { white-space: nowrap; }
    .gf-head { align-items: flex-start; }
    .gf-bar { display: none; } .gf-chgcell { grid-template-columns: minmax(0, 1fr); }
    .gf-list ol { padding: 0 14px 10px; } .gf-list summary { padding: 12px 14px; }
    .gf-list li { grid-template-columns: 56px minmax(0, 1fr) 50px; } .gf-mi { display: none; }
    .gf-sum { width: 100%; } .gf-sum div { flex: 1; min-width: 0; }
}

/* ---- Milestone watch ---- */
.ms-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 24px; }
.ms-tiles div { padding: 12px 16px; border-radius: 12px; background: var(--c-surface-3, #f1f5f9); }
.ms-tiles dt { font-size: .78rem; font-weight: 700; color: var(--c-text-2, #475569); }
.ms-tiles dd { margin: 2px 0 0; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.1rem; line-height: 1; color: var(--c-text, #0f172a); }
.ms-tiles div:first-child { background: linear-gradient(135deg, #3b0a14, #5a1222); }
.ms-tiles div:first-child dt { color: rgba(255,255,255,.85); } .ms-tiles div:first-child dd { color: #f3d27a; }
.ms-reach { margin-bottom: 30px; }
.ms-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.ms-card { padding: 14px 16px 12px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); --bar: var(--heat-3); }
.ms-card.is-top25 { --bar: var(--c-gold, #d4af37); } .ms-card.is-team { --bar: #1e3a5f; }
html[data-theme="dark"] .ms-card.is-team { --bar: #7aa2d6; }
.ms-card-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.ms-card-who { min-width: 0; }
.ms-card-who span { display: block; margin-top: 2px; font-size: .86rem; font-weight: 700; color: var(--c-text-2, #475569); }
.ms-togo { text-align: right; flex: none; }
.ms-togo b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.2rem; line-height: .9; color: var(--c-text, #0f172a); }
.ms-togo small { font-size: .72rem; font-weight: 700; color: var(--c-muted, #64748b); }
.ms-bar { height: 10px; margin-top: 12px; border-radius: 6px; background: var(--c-surface-3, #f1f5f9); overflow: hidden; }
.ms-bar i { display: block; height: 100%; border-radius: 6px; background: var(--bar); }
.ms-scale { display: flex; justify-content: space-between; margin-top: 5px; font-size: .74rem; font-weight: 700; color: var(--c-muted, #64748b); font-variant-numeric: tabular-nums; }
.ms-key { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: -4px 0 12px; font-size: .78rem; font-weight: 600; color: var(--c-muted, #64748b); }
.ms-key { gap: 4px 14px; } .ms-key span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.ms-key i { width: 10px; height: 10px; border-radius: 3px; background: var(--ms); }
.ms-key .is-first, .ms-what.is-first { --ms: #e8a1b0; } .ms-key .is-count, .ms-what.is-count { --ms: var(--heat-3); }
.ms-key .is-game, .ms-what.is-game { --ms: #ea580c; } .ms-key .is-top25, .ms-what.is-top25 { --ms: var(--c-gold, #d4af37); }
.ms-key .is-team, .ms-what.is-team { --ms: #1e3a5f; }
html[data-theme="dark"] .ms-key .is-team, html[data-theme="dark"] .ms-what.is-team { --ms: #7aa2d6; }
.ms-games { list-style: none; margin: 0; padding: 0; position: relative; }
.ms-game { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1px solid var(--c-border, #e2e8f0); }
.ms-game-when b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.35rem; line-height: 1; color: var(--c-text, #0f172a); }
.ms-game-when a, .ms-game-when span { font-size: .84rem; font-weight: 700; color: var(--c-accent-text, #5a1222) !important; }
.ms-game-when span { color: var(--c-text-2, #475569) !important; }
.ms-items { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 6px; }
.ms-items li { display: grid; align-content: start; gap: 3px; padding: 9px 12px; border-radius: 10px; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border-soft, #eef2f6); }
.ms-who { margin-bottom: 1px; }
.ms-what { display: flex; align-items: center; gap: 7px; font-size: .84rem; font-weight: 600; color: var(--c-text-2, #475569); }
.ms-what::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 2px; background: var(--ms, #cbd5e1); }
@media (max-width: 760px) {
    .ms-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ms-game { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .ms-game-when { display: flex; align-items: baseline; gap: 10px; }
    .ms-cards { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Injury report ---- */
.ir-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 26px; }
.ir-pos { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "h h" "n s" "p p"; align-items: end; gap: 4px 10px; padding: 14px 16px; border-radius: 12px; background: var(--c-surface-3, #f1f5f9); }
.ir-pos-h { grid-area: h; font-size: .8rem; font-weight: 800; color: var(--c-text-2, #475569); }
.ir-pos b { grid-area: n; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.3rem; line-height: .9; color: var(--c-text, #0f172a); }
.ir-pos b small { font-size: 1.2rem; color: var(--c-muted, #64748b); }
.ir-pos-s { grid-area: s; justify-self: end; font-size: .8rem; font-weight: 800; color: var(--ok); }
.ir-pos.has-out .ir-pos-s { color: var(--c-loss, #c62828); }
.ir-pips { grid-area: p; display: flex; flex-wrap: wrap; gap: 3px; margin-top: 6px; }
.ir-pips i { width: 12px; height: 12px; border-radius: 3px; background: var(--ok); opacity: .75; }
.ir-pips i.is-out { background: var(--c-loss, #c62828); opacity: 1; }
.ir-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
.ir-upd { font-size: .8rem; font-weight: 600; color: var(--c-muted, #64748b); }
.ir-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ir-card { display: grid; grid-template-columns: 64px minmax(0, 1fr) 200px; gap: 18px; align-items: center; padding: 16px 18px; border-radius: 14px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); --sev: var(--c-muted, #64748b); --sev-1: var(--c-surface-3, #f1f5f9); }
.ir-card.is-day { --sev: var(--warn); --sev-1: var(--warn-1); }
.ir-card.is-week { --sev: #c2410c; --sev-1: rgba(194,65,12,.1); }
.ir-card.is-out { --sev: var(--c-loss, #c62828); --sev-1: rgba(198,40,40,.1); }
html[data-theme="dark"] .ir-card.is-week { --sev: #fb923c; --sev-1: rgba(251,146,60,.14); }
html[data-theme="dark"] .ir-card.is-out { --sev-1: rgba(248,113,113,.14); }
.ir-num { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 14px; background: linear-gradient(135deg, #3b0a14, #5a1222); color: #fff; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2rem; }
.ir-name { margin: 0; } .ir-name a.tc-name { font-size: 1.15rem; }
.ir-meta { margin: 2px 0 10px; font-size: .84rem; font-weight: 600; color: var(--c-muted, #64748b); }
.ir-facts { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 0; }
.ir-facts dt { font-size: .72rem; font-weight: 700; color: var(--c-muted, #64748b); }
.ir-facts dd { margin: 1px 0 0; font-weight: 800; font-size: .92rem; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.ir-facts dd small { font-weight: 600; color: var(--c-muted, #64748b); }
.ir-facts dd a { color: var(--c-accent-text, #5a1222) !important; }
.ir-ret { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 12px 14px; border-radius: 10px; background: var(--sev-1); border-left: 4px solid var(--sev); }
.ir-ret span { font-size: .72rem; font-weight: 700; color: var(--c-text-2, #475569); }
.ir-ret b { font-size: 1.05rem; font-weight: 900; color: var(--sev); }
.ir-ret small { font-size: .74rem; font-weight: 600; color: var(--c-muted, #64748b); }
.uhs-ir .ir-note { margin: 18px 0 0 !important; font-size: .82rem; color: var(--c-muted, #64748b); }
@media (max-width: 760px) {
    .ir-card { grid-template-columns: 52px minmax(0, 1fr); gap: 12px 14px; padding: 14px; }
    .ir-num { width: 52px; height: 52px; font-size: 1.6rem; border-radius: 12px; }
    .ir-ret { grid-column: 1 / -1; }
    .ir-main { min-width: 0; }
}
@media (max-width: 560px) {
    .ir-board { gap: 6px; } .ir-pos { padding: 10px 12px; grid-template-areas: "h h" "n n" "s s" "p p"; } .ir-pos-s { justify-self: start; }
    .ir-pos b { font-size: 1.9rem; }
    .ir-facts { gap: 8px 18px; }
}

/* ---- Roster matrix ---- */
.uhs-rm { --c1: #e8a1b0; --c2: #c25a72; --c3: #8a2236; --c4: #3b0a14; }
html[data-theme="dark"] .uhs-rm { --c1: #fbcfd8; --c2: #f08aa0; --c3: #c0304f; --c4: #7a1428; }
.rm-share { margin-bottom: 24px; }
.rm-stack { display: flex; height: 34px; border-radius: 8px; overflow: hidden; background: var(--c-surface-3, #f1f5f9); }
.rm-seg { display: grid; place-items: center; min-width: 0; font-weight: 800; font-size: .82rem; color: #fff; box-shadow: inset -2px 0 0 var(--c-surface, #fff); }
.rm-seg.is-c1 { background: var(--c1); color: #3b0a14; } .rm-seg.is-c2 { background: var(--c2); } .rm-seg.is-c3 { background: var(--c3); } .rm-seg.is-c4 { background: var(--c4); }
html[data-theme="dark"] .rm-seg.is-c2 { color: #2b0911; }
.rm-legend { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; list-style: none; margin: 10px 0 0; padding: 0; }
.rm-legend li { display: grid; grid-template-columns: 12px minmax(0, 1fr); gap: 0 8px; align-items: center; }
.rm-legend i { width: 12px; height: 12px; border-radius: 3px; grid-row: span 2; align-self: start; margin-top: 3px; }
.rm-legend i.is-c1 { background: var(--c1); } .rm-legend i.is-c2 { background: var(--c2); } .rm-legend i.is-c3 { background: var(--c3); } .rm-legend i.is-c4 { background: var(--c4); }
.rm-legend b { font-size: .9rem; color: var(--c-text, #0f172a); } .rm-legend span { font-size: .78rem; font-weight: 600; color: var(--c-muted, #64748b); }
.rm-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding-top: 18px; margin-bottom: 14px; border-top: 1px solid var(--c-border, #e2e8f0); }
.uhs-rm .rm-hint { margin: 0 !important; font-size: .82rem; font-weight: 600; color: var(--c-muted, #64748b); }
.rm-grid { display: grid; grid-template-columns: 34px repeat(4, minmax(0, 1fr)); gap: 8px; }
.rm-colh { padding: 8px 12px; border-radius: 8px; font-weight: 800; font-size: .88rem; color: #fff; }
.rm-colh.is-c1 { background: var(--c1); color: #3b0a14; } .rm-colh.is-c2 { background: var(--c2); } .rm-colh.is-c3 { background: var(--c3); } .rm-colh.is-c4 { background: var(--c4); }
html[data-theme="dark"] .rm-colh.is-c2 { color: #2b0911; }
.rm-rowh { display: grid; place-items: center; border-radius: 8px; background: var(--c-surface-3, #f1f5f9); }
.rm-rowh span { writing-mode: vertical-rl; transform: rotate(180deg); font-weight: 800; font-size: .8rem; color: var(--c-text-2, #475569); }
.rm-cell { min-width: 0; padding: 8px; border-radius: 10px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.rm-cell-h { display: flex; justify-content: flex-end; padding: 0 4px 6px; font-size: .72rem; font-weight: 700; color: var(--c-muted, #64748b); }
.rm-cell-h b { display: none; }
.rm-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.rm-p { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who v" "bar bar"; gap: 3px 8px; padding: 6px 8px 7px; border-radius: 8px; background: var(--c-surface-2, #f8fafc); }
.rm-p-who { grid-area: who; min-width: 0; }
.rm-p-who em { margin-right: 5px; font-style: normal; font-weight: 800; font-size: .72rem; color: var(--c-muted, #64748b); font-variant-numeric: tabular-nums; }
a.rm-name { font-weight: 800; font-size: .88rem; color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
a.rm-name:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.rm-p-who small { display: block; font-size: .7rem; font-weight: 600; color: var(--c-muted, #64748b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rm-v { grid-area: v; align-self: start; font-weight: 900; font-size: .95rem; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.rm-bar { grid-area: bar; height: 5px; border-radius: 3px; background: var(--c-surface-3, #f1f5f9); overflow: hidden; }
.rm-bar i { display: block; height: 100%; width: var(--w-pts); border-radius: 3px; background: var(--heat-3); transition: width .25s ease; }
.uhs-rm[data-mode="spgp"] .rm-bar i { width: var(--w-spgp); }
.uhs-rm[data-mode="cpgp"] .rm-bar i { width: var(--w-cpgp); }
@media (prefers-reduced-motion: reduce) { .rm-bar i { transition: none; } }
@media (max-width: 900px) {
    .rm-grid { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .rm-corner, .rm-colh { display: none; }
    .rm-rowh { place-items: start; padding: 10px 2px 2px; background: none; }
    .rm-rowh span { writing-mode: horizontal-tb; transform: none; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: 1.35rem; font-weight: 700; color: var(--c-text, #0f172a); }
    .rm-cell-h { justify-content: space-between; } .rm-cell-h b { display: block; font-size: .82rem; color: var(--c-text, #0f172a); }
    .rm-list { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
    .rm-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- 8.15.1: locked name column stays opaque ----
   A sorted column gets DataTables' .sorting_1 class, and the stats-table rule that clears its
   tint (background: transparent !important) also hit the locked name column, so the other
   columns showed through it while scrolling. The :not(#_) adds weight so this always wins. */
@media (max-width: 900px) {
  .uhs-tscroll table.uhs-locktable tbody tr:not(:hover) > td.uhs-lock:not(#_) { background-color: var(--c-surface) !important; }
  .uhs-tscroll table.uhs-locktable tbody tr:nth-child(even):not(:hover) > td.uhs-lock:not(#_) { background-color: var(--c-surface-2) !important; }
  .uhs-tscroll table.uhs-locktable tbody tr:hover > td.uhs-lock:not(#_) { background-color: var(--c-surface-tint) !important; }
}
/* DataTables 1.10's sort-arrow images: the site draws its own arrows, so the images stay off.
   (Where a header used the background shorthand they tiled across the cell.) */
table.dataTable thead th.sorting:not(#_), table.dataTable thead th.sorting_asc:not(#_), table.dataTable thead th.sorting_desc:not(#_),
table.dataTable thead th.sorting_asc_disabled:not(#_), table.dataTable thead th.sorting_desc_disabled:not(#_) { background-image: none !important; }

/* =====================================================================
   8.16: transfers & recruits, recruit pipeline, geography, pros
   ===================================================================== */
/* ---- Transfers & recruits ---- */
.pt-outlook { margin-bottom: 28px; }
.pt-eq { display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; list-style: none; margin: 0; padding: 0; }
.pt-eq li { position: relative; flex: 1 1 120px; display: grid; align-content: start; gap: 3px; padding: 12px 14px 12px 34px; border-radius: 12px; background: var(--c-surface-3, #f1f5f9); }
.pt-eq li:first-child { padding-left: 14px; }
.pt-eq i { position: absolute; left: 12px; top: 13px; font-style: normal; font-weight: 900; font-size: 1.2rem; line-height: 1.5; color: var(--c-muted, #64748b); }
.pt-eq b { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.1rem; line-height: 1; color: var(--c-text, #0f172a); }
.pt-eq span { font-size: .78rem; font-weight: 700; color: var(--c-text-2, #475569); line-height: 1.3; }
.pt-eq .is-minus b, .pt-eq .is-minus i { color: var(--cool-t); }
.pt-eq .is-plus b, .pt-eq .is-plus i { color: var(--ok); }
.pt-eq .is-total { background: linear-gradient(135deg, #3b0a14, #5a1222); }
.pt-eq .is-total b { color: #f3d27a; } .pt-eq .is-total span, .pt-eq .is-total i { color: rgba(255,255,255,.85); }
.pt-sec { margin-bottom: 30px; }
.pt-class { margin-bottom: 18px; }
.pt-class-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding-bottom: 8px; margin-bottom: 10px; border-bottom: 2px solid var(--c-border, #e2e8f0); }
.pt-class-h b { font-size: 1rem; font-weight: 800; color: var(--c-text, #0f172a); }
.pt-class-h > span { font-size: .84rem; font-weight: 700; color: var(--c-muted, #64748b); }
.pt-mix { display: inline-flex; gap: 4px; margin-left: auto; }
.pt-mix em { padding: 1px 7px; border-radius: 5px; font-style: normal; font-size: .74rem; font-weight: 800; color: var(--c-text-2, #475569); background: var(--c-surface-3, #f1f5f9); }
.pt-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 8px; }
.pt-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.pt-card.is-in { border-left: 4px solid var(--ok); } .pt-card.is-out { border-left: 4px solid var(--cool); }
.pt-card > img, .pt-noimg { width: 44px; height: 44px; object-fit: contain; border-radius: 8px; }
.pt-noimg { background: var(--c-surface-3, #f1f5f9); }
.pt-card-top { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px; }
b.tc-name { font-weight: 800; font-size: 1rem; color: var(--c-text, #0f172a); }
.uhs-pt .pt-team, .uhs-pt .pt-meta { margin: 2px 0 0 !important; }
.pt-team { font-size: .88rem; font-weight: 700; color: var(--c-text, #0f172a); }
.pt-team em, .pt-hwhere em { margin-left: 4px; padding: 0 5px; border-radius: 4px; font-style: normal; font-size: .7rem; font-weight: 800; color: var(--c-text-2, #475569); background: var(--c-surface-3, #f1f5f9); }
.pt-meta { font-size: .8rem; font-weight: 600; color: var(--c-muted, #64748b); }
.pt-meta a { color: var(--c-accent-text, #5a1222) !important; font-weight: 700; }
.pt-hist-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.pt-hist-top .arch-h { margin: 0; }
.pt-hist .arch-chips button span { margin-left: 3px; opacity: .7; }
.pt-hrows { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--c-border, #e2e8f0); }
.pt-hrow { display: grid; grid-template-columns: 120px minmax(0, 1.2fr) 130px minmax(0, 1fr); align-items: center; gap: 12px; padding: 9px 4px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); font-size: .88rem; }
.pt-hwhen { font-weight: 700; color: var(--c-muted, #64748b); font-variant-numeric: tabular-nums; }
.pt-hwho small { display: block; font-size: .76rem; font-weight: 600; color: var(--c-muted, #64748b); }
.pt-htype { justify-self: start; padding: 2px 8px; border-radius: 5px; font-size: .74rem; font-weight: 800; background: var(--c-surface-3, #f1f5f9); color: var(--c-text-2, #475569); }
.pt-hrow.is-went_pro .pt-htype { background: rgba(212,175,55,.18); color: #8a6d12; }
.pt-hrow.is-transfer_out .pt-htype { background: var(--cool-1); color: var(--cool-t); }
.pt-hrow.is-transfer_in .pt-htype { background: var(--ok-1); color: var(--ok); }
html[data-theme="dark"] .pt-hrow.is-went_pro .pt-htype { color: #f3d27a; }
.pt-hwhere { font-weight: 600; color: var(--c-text-2, #475569); }
.pt-more { margin-top: 12px; }
@media (max-width: 760px) {
    .pt-eq li { flex: 1 1 calc(50% - 6px); }
    .pt-eq .is-total { flex-basis: 100%; }
    .pt-cards { grid-template-columns: minmax(0, 1fr); }
    .pt-hrow { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who type" "when where"; gap: 3px 10px; }
    .pt-hwho { grid-area: who; } .pt-htype { grid-area: type; justify-self: end; } .pt-hwhen { grid-area: when; font-size: .78rem; } .pt-hwhere { grid-area: where; text-align: right; font-size: .8rem; }
    .pt-mix { margin-left: 0; }
}

/* ---- Recruiting pipeline ---- */
.uhs-rp { --k1: #5a1222; --k2: #c25a72; --k3: #1e3a5f; --k4: #d4af37; --k5: #94a3b8; }
html[data-theme="dark"] .uhs-rp { --k1: #c0304f; --k2: #f08aa0; --k3: #7aa2d6; }
.rp-tiles .rp-sub { margin: 4px 0 0; font-family: system-ui, -apple-system, sans-serif; font-size: .78rem; font-weight: 600; color: var(--c-muted, #64748b); }
.ms-tiles div:first-child .rp-sub { color: rgba(255,255,255,.75); }
.rp-share { margin-bottom: 26px; }
.rp-stack { display: flex; height: 34px; border-radius: 8px; overflow: hidden; background: var(--c-surface-3, #f1f5f9); }
.rp-seg { display: grid; place-items: center; min-width: 0; font-weight: 800; font-size: .82rem; color: #fff; box-shadow: inset -2px 0 0 var(--c-surface, #fff); }
.rp-seg.is-k1, .rp-legend .is-k1 { background: var(--k1); } .rp-seg.is-k2, .rp-legend .is-k2 { background: var(--k2); } .rp-seg.is-k3, .rp-legend .is-k3 { background: var(--k3); }
.rp-seg.is-k4, .rp-legend .is-k4 { background: var(--k4); color: #3b2a00; } .rp-seg.is-k5, .rp-legend .is-k5 { background: var(--k5); }
.rp-legend { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; margin: 10px 0 0; padding: 0; }
.rp-legend li { display: grid; grid-template-columns: 12px auto; gap: 0 8px; align-items: center; }
.rp-legend i { width: 12px; height: 12px; border-radius: 3px; grid-row: span 2; align-self: start; margin-top: 3px; }
.rp-legend b { font-size: .9rem; color: var(--c-text, #0f172a); } .rp-legend span { font-size: .78rem; font-weight: 600; color: var(--c-muted, #64748b); }
.rp-lg-top .arch-h { margin-bottom: 8px; }
.rp-head, .rp-lg summary { display: grid; grid-template-columns: minmax(0, 1fr) 70px 80px minmax(140px, 220px); align-items: center; gap: 14px; }
.rp-head { padding: 6px 14px; font-size: .7rem; font-weight: 800; color: var(--c-muted, #64748b); border-bottom: 2px solid var(--c-border, #e2e8f0); }
.rp-head span:nth-child(2), .rp-head span:nth-child(3) { text-align: right; }
.rp-lg { border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.rp-lg summary { padding: 11px 14px; cursor: pointer; list-style: none; }
.rp-lg summary::-webkit-details-marker { display: none; }
.rp-lg summary:hover { background: var(--c-surface-2, #f8fafc); }
.rp-lg[open] summary { background: var(--c-surface-2, #f8fafc); }
.rp-lg-name { min-width: 0; display: flex; align-items: center; gap: 8px; }
.rp-lg-name::before { content: ""; flex: none; width: 7px; height: 7px; border-right: 2px solid var(--c-muted, #64748b); border-bottom: 2px solid var(--c-muted, #64748b); transform: rotate(-45deg); transition: transform .15s; }
.rp-lg[open] .rp-lg-name::before { transform: rotate(45deg); }
.rp-lg-name b { font-size: .95rem; font-weight: 800; color: var(--c-text, #0f172a); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-lg-name em { flex: none; padding: 1px 6px; border-radius: 4px; font-style: normal; font-size: .7rem; font-weight: 800; color: var(--c-text-2, #475569); background: var(--c-surface-3, #f1f5f9); }
.rp-n, .rp-pace { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--c-text, #0f172a); }
.rp-pace { color: var(--c-accent-text, #5a1222); }
.rp-bar { display: grid; grid-template-columns: minmax(0, 1fr) 46px; align-items: center; gap: 8px; }
.rp-bar i { display: block; height: 8px; border-radius: 4px; background: var(--heat-3); min-width: 2px; }
.rp-bar { background: none; }
.rp-bar small { text-align: right; font-size: .8rem; font-weight: 700; color: var(--c-text-2, #475569); }
.rp-teams { list-style: none; margin: 0; padding: 8px 14px 14px 30px; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
.rp-team { padding: 10px 12px; border-radius: 10px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.rp-team-h { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.rp-team-h img { width: 26px; height: 26px; object-fit: contain; }
.rp-team-h b { font-size: .88rem; color: var(--c-text, #0f172a); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-team-h span { font-size: .74rem; font-weight: 700; color: var(--c-muted, #64748b); white-space: nowrap; }
.rp-players { list-style: none; margin: 0; padding: 0; }
.rp-players li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; align-items: baseline; padding: 3px 0; font-size: .84rem; }
a.rp-pname { font-weight: 700; color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
a.rp-pname:hover { color: var(--c-accent-text, #5a1222) !important; text-decoration: underline !important; }
.rp-players small { font-size: .72rem; font-weight: 600; color: var(--c-muted, #64748b); white-space: nowrap; }
.rp-players em { font-style: normal; font-weight: 800; font-size: .78rem; font-variant-numeric: tabular-nums; }
.rp-players em.is-pos { color: var(--ok); } .rp-players em.is-neg { color: var(--cool-t); }
.rp-mapsec { margin-top: 30px; }
.rp-map { height: 460px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); overflow: hidden; background: var(--c-surface-3, #f1f5f9); z-index: 0; }
.rp-audit ul { max-height: 320px; overflow: auto; font-size: .84rem; }
.rp-audit code { font-size: .78rem; }
@media (max-width: 760px) {
    .rp-head { display: none; }
    .rp-lg summary { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name name" "bar pace"; gap: 6px 10px; padding: 11px 6px; }
    .rp-lg-name { grid-area: name; } .rp-n { display: none; } .rp-pace { grid-area: pace; } .rp-bar { grid-area: bar; }
    .rp-pace::after { content: " PACE"; font-size: .7rem; color: var(--c-muted, #64748b); }
    .rp-teams { padding: 6px 0 12px; grid-template-columns: minmax(0, 1fr); }
    .rp-map { height: 340px; }
    .rp-lg-name b { white-space: normal; }
}
/* the global summary style (uppercase, garnet, padded) doesn't suit the redesigned pages */
.uhs-arch summary { text-transform: none; letter-spacing: normal; font-size: inherit; }
.uhs-arch .rp-lg summary { color: inherit; font-weight: inherit; padding: 11px 14px; }
.uhs-arch .tc-criteria summary, .uhs-arch .gf-list summary { padding: 0; font-size: .92rem; }
.uhs-arch .gf-list summary { padding: 12px 20px; }
@media (max-width: 760px) { .uhs-arch .rp-lg summary { padding: 11px 6px; } }
.rp-players li { color: var(--c-text, #0f172a); }

/* ---- Where players come from ---- */
.geo-era { margin-bottom: 16px; }
.geo-era .arch-select select { max-width: 280px; }
.geo-split { display: flex; flex-wrap: wrap; gap: 2px 10px; font-family: system-ui, -apple-system, sans-serif !important; font-size: .82rem !important; font-weight: 700; color: var(--c-text-2, #475569) !important; line-height: 1.3 !important; margin-top: 6px !important; }
.geo-split b { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: 1.5rem; color: var(--c-text, #0f172a); }
.geo-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 20px; align-items: start; }
.geo-mapwrap { position: sticky; top: 90px; }
.geo-map { height: 560px; }
.geo-list { min-width: 0; }
.geo-country { display: flex; align-items: baseline; gap: 8px; margin: 0 0 6px; padding-top: 4px; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 700; font-size: 1.3rem; color: var(--c-text, #0f172a); }
.geo-country:not(:first-child) { margin-top: 18px; }
.geo-country small { font-family: system-ui, -apple-system, sans-serif; font-size: .8rem; font-weight: 600; color: var(--c-muted, #64748b); }
.geo-reg { border-bottom: 1px solid var(--c-border-soft, #eef2f6); scroll-margin-top: 100px; transition: background .4s; }
.geo-reg.is-hit { background: var(--c-highlight, #fff8e1); }
.uhs-arch .geo-reg summary { display: grid; grid-template-columns: minmax(0, 150px) minmax(0, 1fr) 36px; align-items: center; gap: 10px; padding: 8px 6px; cursor: pointer; list-style: none; color: inherit; font-weight: inherit; }
.geo-reg summary::-webkit-details-marker { display: none; }
.geo-reg summary:hover, .geo-reg[open] summary { background: var(--c-surface-2, #f8fafc); }
.geo-reg summary b { font-size: .9rem; font-weight: 800; color: var(--c-text, #0f172a); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.geo-bar { height: 10px; border-radius: 5px; background: var(--c-surface-3, #f1f5f9); overflow: hidden; }
.geo-bar i { display: block; height: 100%; border-radius: 5px; background: var(--heat-3); }
.geo-reg summary em { font-style: normal; text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--c-text, #0f172a); }
.geo-reg ul { list-style: none; margin: 0; padding: 4px 6px 10px; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2px 14px; }
.geo-reg li { display: grid; font-size: .84rem; padding: 3px 0; color: var(--c-text, #0f172a); }
.geo-reg li small { font-size: .72rem; font-weight: 600; color: var(--c-muted, #64748b); }
@media (max-width: 900px) {
    .geo-grid { grid-template-columns: minmax(0, 1fr); }
    .geo-mapwrap { position: static; }
    .geo-map { height: 340px; }
}

/* ---- Union in the pros / pro search ---- */
.pr-tiles div { position: relative; }
.pr-tile-logo { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; object-fit: contain; opacity: .9; }
.pr-group { margin-bottom: 24px; }
.pr-group-h { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid var(--c-border, #e2e8f0); font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 700; font-size: 1.4rem; color: var(--c-text, #0f172a); }
.pr-group-h img { width: 30px; height: 30px; object-fit: contain; }
.pr-group-h small { font-family: system-ui, -apple-system, sans-serif; font-size: .82rem; font-weight: 700; color: var(--c-muted, #64748b); }
.pr-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 8px; }
.pr-card { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); }
.pr-logo { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 12px; background: var(--c-surface-2, #f8fafc); }
.pr-logo img { width: 44px; height: 44px; object-fit: contain; }
.pr-logo span { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1rem; color: var(--c-muted, #64748b); }
.pr-top { display: flex; align-items: baseline; flex-wrap: wrap; }
.uhs-pros .pr-main p { margin: 2px 0 0 !important; }
.pr-team { font-size: .9rem; font-weight: 700; color: var(--c-text, #0f172a); }
.pr-line { font-size: .82rem; font-weight: 600; color: var(--c-text-2, #475569); font-variant-numeric: tabular-nums; }
.pr-line b { color: var(--c-text, #0f172a); }
.pr-meta { font-size: .76rem; font-weight: 600; color: var(--c-muted, #64748b); }
.uhs-arch .pr-note { margin-top: 14px !important; }
.pr-note a, .uhs-arch .ir-note a { color: var(--c-accent-text, #5a1222) !important; font-weight: 700; }
.uhs-prs .arch-chips button span { margin-left: 3px; opacity: .7; }
.ps-head, .ps-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 64px 64px 64px; align-items: center; gap: 12px; }
.ps-head { padding: 8px 6px; font-size: .7rem; font-weight: 800; color: var(--c-muted, #64748b); border-bottom: 2px solid var(--c-border, #e2e8f0); }
.ps-head span:nth-child(n+3) { text-align: right; }
.ps-list { list-style: none; margin: 0; padding: 0; }
.ps-row { padding: 10px 6px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.ps-row:hover { background: var(--c-surface-2, #f8fafc); }
.ps-who { min-width: 0; }
.ps-who small, .ps-car small { display: block; font-size: .76rem; font-weight: 600; color: var(--c-muted, #64748b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-active { margin-left: 8px; padding: 1px 6px; border-radius: 4px; font-style: normal; font-size: .68rem; font-weight: 800; background: var(--ok-1); color: var(--ok); vertical-align: 2px; }
.ps-car { min-width: 0; } .ps-car b { font-weight: 800; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.ps-lv { justify-self: end; padding: 2px 8px; border-radius: 5px; font-size: .74rem; font-weight: 900; background: var(--c-surface-3, #f1f5f9); color: var(--c-text-2, #475569); }
.ps-lv.is-nhl { background: #0f172a; color: #fff; }
html[data-theme="dark"] .ps-lv.is-nhl { background: #f1f5f9; color: #0f172a; }
.ps-lv.is-ahl { background: rgba(90,18,34,.12); color: var(--heat-1-t); }
.ps-num { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--c-text, #0f172a); }
.ps-num.is-nhl { color: var(--c-accent-text, #5a1222); }
@media (max-width: 760px) {
    .pr-cards { grid-template-columns: minmax(0, 1fr); }
    .pr-tile-logo { display: none; }
    .ps-head { display: none; }
    .ps-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who lv" "car nums"; gap: 4px 10px; }
    .ps-who { grid-area: who; } .ps-lv { grid-area: lv; } .ps-car { grid-area: car; }
    .ps-num { display: none; }
    .ps-row::after { content: attr(data-gp) " pro GP"; grid-area: nums; align-self: end; text-align: right; font-size: .76rem; font-weight: 700; color: var(--c-muted, #64748b); }
}
.arch-toolbar > .arch-chips { max-width: 100%; min-width: 0; }

/* ---- 8.16.1: milestone predictor on player profiles ---- */
.mp { border-top: 4px solid #5a1222; }
.mp-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 10px 20px; margin-bottom: 16px; }
.mp-h { margin: 0; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 700; font-size: 1.5rem; text-transform: none; letter-spacing: 0; color: var(--c-text, #0f172a); }
.mp .mp-sub { margin: 2px 0 0 !important; font-size: .9rem; color: var(--c-text-2, #475569); }
.mp-rate button[disabled] { opacity: .45; cursor: not-allowed; }
.mp-slider { margin-bottom: 30px; }
.mp-slider label { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; font-size: .88rem; font-weight: 700; color: var(--c-text-2, #475569); }
.mp-slider label b { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: 1.6rem; line-height: 1; color: var(--c-accent-text, #5a1222); }
.mp-slider input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; margin: 10px 0; border-radius: 4px; outline: none; cursor: pointer;
    background: linear-gradient(to right, #5a1222 0 var(--mp-fill, 0%), var(--c-surface-3, #e2e8f0) var(--mp-fill, 0%) 100%); }
.mp-slider input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 3px solid #5a1222; box-shadow: 0 2px 6px rgba(0,0,0,.25); }
.mp-slider input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 3px solid #5a1222; box-shadow: 0 2px 6px rgba(0,0,0,.25); }
.mp-slider input[type="range"]:focus-visible::-webkit-slider-thumb { outline: 3px solid rgba(90,18,34,.35); outline-offset: 2px; }
.mp-marks { position: relative; height: 18px; }
.mp-marks span { position: absolute; top: 0; transform: translateX(-50%); padding-top: 4px; border-left: 1px solid transparent; font-size: .68rem; font-weight: 700; color: var(--c-muted, #64748b); white-space: nowrap; }
.mp-marks span::before { content: ""; position: absolute; left: 50%; top: -6px; width: 2px; height: 8px; background: var(--c-border-strong, #cbd5e1); }
.mp-marks span:last-child { transform: translateX(-100%); }
.mp-marks span:last-child::before { left: auto; right: 0; }
.mp-tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 0 0 18px; }
.mp-tiles div { padding: 12px; border-radius: 12px; background: var(--c-surface, #fff); border: 1px solid var(--c-border, #e2e8f0); text-align: center; }
.mp-tiles dt { font-size: .76rem; font-weight: 700; color: var(--c-text-2, #475569); }
.mp-tiles dd { margin: 4px 0 0; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2rem; line-height: 1; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.mp-tiles .is-key { background: linear-gradient(135deg, #3b0a14, #5a1222); border-color: transparent; }
.mp-tiles .is-key dt { color: rgba(255,255,255,.85); } .mp-tiles .is-key dd { color: #f3d27a; }
.mp-next h3 { margin: 0 0 8px; font-size: .9rem; font-weight: 800; text-transform: none; letter-spacing: 0; color: var(--c-text, #0f172a); }
.mp-next ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mp-next li { display: grid; gap: 2px; padding: 10px 12px; border-radius: 10px; background: var(--c-surface-2, #f8fafc); border: 1px solid var(--c-border, #e2e8f0); border-left: 4px solid var(--c-border-strong, #cbd5e1); }
.mp-next li.is-hit { border-left-color: var(--ok); background: var(--ok-1); }
.mp-next li b { font-size: .92rem; color: var(--c-text, #0f172a); }
.mp-next li span { font-size: .8rem; font-weight: 600; color: var(--c-text-2, #475569); }
.mp .mp-note { margin: 12px 0 0 !important; font-size: .78rem; color: var(--c-muted, #64748b); }
@media (max-width: 640px) {
    .mp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mp-tiles .is-key { grid-column: span 2; order: -1; }
    .mp-next ul { grid-template-columns: minmax(0, 1fr); }
    .mp-marks span { font-size: .6rem; }
}

/* =====================================================================
   8.17: ECAC pages keep their navy & gold; transfer impact, draftees,
   recruiting rankings, similarity, comparison
   ===================================================================== */
.uhs-ecacx { --heat-3: #123a6b; --heat-2: rgba(18,58,107,.5); --heat-1: rgba(18,58,107,.12); --heat-1-t: #123a6b; --c-accent-text: #123a6b; }
html[data-theme="dark"] .uhs-ecacx { --heat-3: #3b82f6; --heat-2: rgba(59,130,246,.45); --heat-1: rgba(96,165,250,.16); --heat-1-t: #93c5fd; --c-accent-text: #93c5fd; }
.uhs-ecacx .arch-chips button[aria-pressed="true"] { background: #123a6b; }
html[data-theme="dark"] .uhs-ecacx .arch-chips button[aria-pressed="true"] { background: #1d4f8f; }
.uhs-ecacx .ms-tiles div:first-child { background: linear-gradient(135deg, #0b2545, #123a6b); }
.ms-tiles dd.is-up { color: var(--ok); } .ms-tiles dd.is-down { color: var(--c-loss, #c62828); }

/* ---- Transfer impact ---- */
.tx-head, .tx-row { display: grid; grid-template-columns: 30px minmax(0, 1.2fr) 40px 40px minmax(140px, 1.6fr) 70px; align-items: center; gap: 12px; }
.tx-head { padding: 6px 10px; font-size: .7rem; font-weight: 800; color: var(--c-muted, #64748b); border-bottom: 2px solid var(--c-border, #e2e8f0); }
.tx-head span:nth-child(3), .tx-head span:nth-child(4), .tx-head span:last-child { text-align: right; }
.tx-axis { display: flex; justify-content: space-between; }
.tx-axis i { font-style: normal; }
.tx-rows { list-style: none; margin: 0 0 30px; padding: 0; }
.tx-row { padding: 8px 10px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.tx-row.is-primary { background: var(--c-highlight, #fff8e1); }
.tx-row.is-quiet { opacity: .6; }
.tx-rk { font-weight: 800; color: var(--c-muted, #64748b); font-variant-numeric: tabular-nums; }
a.tx-team { display: flex; align-items: center; gap: 8px; min-width: 0; text-decoration: none !important; }
a.tx-team img { width: 26px; height: 26px; object-fit: contain; flex: none; }
a.tx-team b { font-weight: 800; color: var(--c-text, #0f172a); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.tx-team:hover b { text-decoration: underline; }
.tx-n { text-align: right; font-weight: 700; color: var(--c-text-2, #475569); font-variant-numeric: tabular-nums; }
.tx-bar { position: relative; height: 16px; border-radius: 4px; background: var(--c-surface-3, #f1f5f9); overflow: hidden; }
.tx-bar::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--c-border-strong, #cbd5e1); }
.tx-bar i { position: absolute; top: 3px; bottom: 3px; border-radius: 3px; background: var(--ok); }
.tx-bar.is-down i { background: var(--c-loss, #c62828); }
.tx-net { text-align: right; font-weight: 900; font-variant-numeric: tabular-nums; color: var(--c-muted, #64748b); font-style: normal; }
.tx-net small { font-size: .74rem; font-weight: 700; }
.is-up.tx-net, .tx-sum .is-up, .tx-list em.is-up { color: var(--ok); }
.is-down.tx-net, .tx-sum .is-down, .tx-list em.is-down { color: var(--c-loss, #c62828); }
.tx-team-d { border-bottom: 1px solid var(--c-border-soft, #eef2f6); scroll-margin-top: 100px; }
.uhs-arch .tx-team-d summary { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto 64px; align-items: center; gap: 10px; padding: 10px 8px; cursor: pointer; list-style: none; color: inherit; font-weight: inherit; }
.tx-team-d summary::-webkit-details-marker { display: none; }
.tx-team-d summary:hover, .tx-team-d[open] summary { background: var(--c-surface-2, #f8fafc); }
.tx-team-d summary img { width: 28px; height: 28px; object-fit: contain; }
.tx-team-d summary b { font-weight: 800; color: var(--c-text, #0f172a); }
.tx-sum { display: flex; gap: 12px; font-size: .8rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.tx-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; padding: 6px 8px 16px 46px; }
.tx-cols h4 { margin: 0 0 6px; font-size: .84rem; font-weight: 800; text-transform: none; letter-spacing: 0; color: var(--c-text, #0f172a); }
.tx-cols h4 small { margin-left: 4px; font-weight: 700; color: var(--c-muted, #64748b); }
.tx-list { list-style: none; margin: 0; padding: 0; }
.tx-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 0; border-top: 1px solid var(--c-border-soft, #eef2f6); }
.tx-who small { display: flex; align-items: center; gap: 5px; margin-top: 1px; font-size: .76rem; font-weight: 600; color: var(--c-muted, #64748b); }
.tx-who small img { width: 14px; height: 14px; object-fit: contain; }
.tx-list em { font-style: normal; font-weight: 900; font-variant-numeric: tabular-nums; color: var(--c-muted, #64748b); }
.uhs-tx .tx-none { margin: 0 !important; padding: 8px 0; font-size: .84rem; color: var(--c-muted, #64748b); }
@media (max-width: 760px) {
    .tx-head { display: none; }
    .tx-row { grid-template-columns: 22px minmax(0, 1fr) 64px; grid-template-areas: "rk team net" ". bar bar"; gap: 4px 10px; }
    .tx-rk { grid-area: rk; } a.tx-team { grid-area: team; } .tx-net { grid-area: net; } .tx-bar { grid-area: bar; } .tx-n { display: none; }
    .uhs-arch .tx-team-d summary { grid-template-columns: 24px minmax(0, 1fr) 60px; }
    .tx-sum { display: none; }
    .tx-cols { grid-template-columns: minmax(0, 1fr); padding-left: 8px; }
}

/* ---- Player similarity ---- */
.sx-pick { margin-bottom: 16px; }
.sx-pick .arch-select select { max-width: 260px; }
.sx-target { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; padding: 18px 20px; margin-bottom: 14px; border-radius: 14px; background: linear-gradient(135deg, #3b0a14, #5a1222); color: #fff; }
.sx-target h3 { margin: 0; display: flex; align-items: baseline; gap: 6px; }
.sx-target a.tc-name, .sx-target b.tc-name { color: #fff !important; font-size: 1.4rem; }
.sx-target .tc-pos { background: rgba(255,255,255,.18); color: #fff; }
.uhs-simx .sx-target p { margin: 4px 0 0 !important; font-size: .86rem; color: rgba(255,255,255,.85) !important; }
.sx-target-stats { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; }
.sx-target-stats dt { font-size: .72rem; font-weight: 700; color: rgba(255,255,255,.75); }
.sx-target-stats dd { margin: 0; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.6rem; color: #f3d27a; font-variant-numeric: tabular-nums; }
.uhs-simx .sx-warn { margin: 0 0 14px !important; padding: 10px 14px; border-radius: 10px; background: var(--warn-1); color: var(--c-text, #0f172a); font-size: .86rem; font-weight: 600; }
.sx-outlook { display: flex; align-items: center; gap: 14px; padding: 12px 16px; margin-bottom: 20px; border-radius: 12px; background: var(--c-surface-3, #f1f5f9); }
.sx-outlook b { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.4rem; line-height: 1; color: var(--c-accent-text, #5a1222); }
.sx-outlook span { font-size: .9rem; font-weight: 600; color: var(--c-text-2, #475569); }
.sx-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sx-card { border-radius: 14px; border: 1px solid var(--c-border, #e2e8f0); background: var(--c-surface, #fff); overflow: hidden; }
.sx-head { display: grid; grid-template-columns: 30px minmax(0, 1fr) minmax(140px, 260px); align-items: center; gap: 14px; padding: 12px 16px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.sx-rk { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.5rem; color: var(--c-muted, #64748b); }
.sx-name small { display: block; font-size: .78rem; font-weight: 600; color: var(--c-muted, #64748b); }
.sx-score { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 10px; }
.sx-score b { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.6rem; color: var(--c-text, #0f172a); text-align: right; }
.sx-bar { height: 10px; border-radius: 5px; background: var(--c-surface-3, #f1f5f9); overflow: hidden; }
.sx-bar i { display: block; height: 100%; background: var(--heat-3); border-radius: 5px; }
.sx-body { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px 24px; padding: 12px 16px 14px; }
.sx-cmp { width: 100%; border-collapse: collapse; font-size: .86rem; font-variant-numeric: tabular-nums; }
.sx-cmp th { padding: 4px 6px; font-size: .7rem; font-weight: 800; text-align: right; color: var(--c-muted, #64748b); border-bottom: 2px solid var(--c-border, #e2e8f0); background: none !important; text-transform: none; letter-spacing: 0; }
.sx-cmp th:first-child, .sx-cmp td:first-child { text-align: left; }
.sx-cmp td { padding: 5px 6px; text-align: right; font-weight: 800; color: var(--c-text, #0f172a); border-bottom: 1px solid var(--c-border-soft, #eef2f6); background: none !important; }
.sx-cmp td:first-child { font-weight: 600; color: var(--c-text-2, #475569); }
.sx-after h4 { margin: 0 0 4px; font-size: .84rem; font-weight: 800; text-transform: none; letter-spacing: 0; color: var(--c-text, #0f172a); }
.uhs-simx .sx-after p { margin: 2px 0 0 !important; font-size: .84rem; color: var(--c-text-2, #475569); }
.uhs-simx .sx-after .sx-career { font-weight: 800; color: var(--c-text, #0f172a); }
.sx-pro { display: flex; align-items: center; gap: 6px; }
.sx-pro .ps-lv { font-style: normal; }
@media (max-width: 760px) {
    .sx-head { grid-template-columns: 24px minmax(0, 1fr); }
    .sx-score { grid-column: 1 / -1; grid-template-columns: 46px minmax(0, 1fr); }
    .sx-body { grid-template-columns: minmax(0, 1fr); }
    .sx-target-stats dd { font-size: 1.3rem; }
}

/* ---- NHL draftees ---- */
.dr-sum { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin-bottom: 22px; }
.dr-schools, .dr-orgs { list-style: none; margin: 0; padding: 0; }
.dr-schools button { position: relative; display: grid; grid-template-columns: 22px minmax(0, 120px) minmax(0, 1fr) 26px; align-items: center; gap: 8px; width: 100%; padding: 4px 6px; border: 0; border-radius: 6px; background: none; cursor: pointer; font: inherit; text-align: left; }
.dr-schools button:hover, .dr-orgs button:hover { background: var(--c-surface-2, #f8fafc); }
.dr-schools button.is-primary { background: var(--c-highlight, #fff8e1); }
.dr-schools img { width: 22px; height: 22px; object-fit: contain; }
.dr-schools span { font-size: .86rem; font-weight: 700; color: var(--c-text, #0f172a); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dr-schools i { display: block; height: 10px; border-radius: 5px; background: var(--heat-3); }
.dr-schools b, .dr-orgs b { text-align: right; font-weight: 800; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.dr-orgs { display: flex; flex-wrap: wrap; gap: 6px; }
.dr-orgs button { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px 5px 6px; border: 1px solid var(--c-border, #e2e8f0); border-radius: 8px; background: var(--c-surface, #fff); cursor: pointer; font: inherit; }
.dr-orgs img { width: 26px; height: 26px; object-fit: contain; }
.dr-head, .dr-row { display: grid; grid-template-columns: 64px minmax(0, 1.4fr) minmax(0, 1fr) 110px 120px; align-items: center; gap: 12px; }
.dr-head { padding: 6px 8px; font-size: .7rem; font-weight: 800; color: var(--c-muted, #64748b); border-bottom: 2px solid var(--c-border, #e2e8f0); scroll-margin-top: 100px; }
.dr-list { list-style: none; margin: 0; padding: 0; }
.dr-row { padding: 9px 8px; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.dr-row.is-primary { background: var(--c-highlight, #fff8e1); }
.dr-pick b { display: block; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.3rem; line-height: 1; color: var(--c-accent-text, #123a6b); }
.dr-pick small, .dr-who small { display: block; font-size: .74rem; font-weight: 600; color: var(--c-muted, #64748b); }
.dr-who { min-width: 0; }
a.dr-school, .dr-nhl { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: .88rem; font-weight: 700; color: var(--c-text, #0f172a) !important; text-decoration: none !important; }
a.dr-school img, .dr-nhl img { width: 24px; height: 24px; object-fit: contain; flex: none; }
a.dr-school span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.dr-school:hover span { text-decoration: underline; }
.dr-rd { display: flex; align-items: center; gap: 8px; }
.dr-dots { display: inline-flex; gap: 3px; }
.dr-dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--c-surface-3, #e2e8f0); }
.dr-dots i.is-on { background: var(--heat-3); box-shadow: 0 0 0 2px var(--heat-1); }
.dr-rd small { font-size: .76rem; font-weight: 700; color: var(--c-text-2, #475569); }
@media (max-width: 860px) {
    .dr-sum { grid-template-columns: minmax(0, 1fr); }
    .dr-head { display: none; }
    .dr-row { grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "pick who nhl" "pick school rd"; gap: 4px 10px; }
    .dr-pick { grid-area: pick; } .dr-who { grid-area: who; } .dr-nhl { grid-area: nhl; justify-self: end; } a.dr-school { grid-area: school; font-size: .8rem; } .dr-rd { grid-area: rd; justify-self: end; }
    .dr-dots { display: none; }
}

/* ---- ECAC recruiting rankings ---- */
.rr-tabs { margin-bottom: 14px; }
.rr-head, .rr-team summary { display: grid; grid-template-columns: 30px minmax(0, 1fr) 110px minmax(160px, 1.3fr); align-items: center; gap: 12px; }
.rr-head { padding: 6px 10px; font-size: .7rem; font-weight: 800; color: var(--c-muted, #64748b); border-bottom: 2px solid var(--c-border, #e2e8f0); }
.rr-team { border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.uhs-arch .rr-team summary { padding: 10px; cursor: pointer; list-style: none; color: inherit; font-weight: inherit; }
.rr-team summary::-webkit-details-marker { display: none; }
.rr-team summary:hover, .rr-team[open] summary { background: var(--c-surface-2, #f8fafc); }
.rr-team.is-primary summary, .rr-toplist li.is-primary { background: var(--c-highlight, #fff8e1); }
.rr-rk { font-weight: 800; color: var(--c-muted, #64748b); font-variant-numeric: tabular-nums; }
.rr-school { display: flex; align-items: center; gap: 8px; min-width: 0; }
.rr-school img { width: 28px; height: 28px; object-fit: contain; flex: none; }
.rr-school b { font-weight: 800; color: var(--c-text, #0f172a); }
.rr-n { font-weight: 800; color: var(--c-text, #0f172a); font-variant-numeric: tabular-nums; }
.rr-n small { margin-left: 6px; font-size: .74rem; font-weight: 600; color: var(--c-muted, #64748b); }
.rr-bar, .rr-val { display: grid; grid-template-columns: minmax(0, 1fr) 56px; align-items: center; gap: 8px; }
.rr-bar::before, .rr-val::before { content: none; }
.rr-bar i, .rr-val i { display: block; height: 10px; border-radius: 5px; background: var(--heat-3); min-width: 2px; }
.rr-val i { height: 6px; }
.rr-bar b, .rr-val b { text-align: right; font-weight: 900; font-variant-numeric: tabular-nums; color: var(--c-text, #0f172a); }
.rr-list { list-style: none; margin: 0; padding: 4px 10px 12px 52px; }
.rr-list li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, 220px); align-items: center; gap: 14px; padding: 7px 0; border-top: 1px solid var(--c-border-soft, #eef2f6); }
.rr-who { min-width: 0; }
.rr-who em { margin-left: 6px; padding: 0 5px; border-radius: 4px; font-style: normal; font-size: .68rem; font-weight: 800; color: var(--c-text-2, #475569); background: var(--c-surface-3, #f1f5f9); vertical-align: 2px; }
.rr-who small { display: flex; align-items: center; gap: 5px; margin-top: 1px; font-size: .76rem; font-weight: 600; color: var(--c-muted, #64748b); }
.rr-who small img { width: 14px; height: 14px; object-fit: contain; }
.uhs-rr .rr-none { padding: 4px 10px 12px 52px !important; }
.rr-toplist { padding: 0; border-top: 2px solid var(--c-border, #e2e8f0); }
.rr-toplist li { grid-template-columns: 30px minmax(0, 1fr) minmax(120px, 220px); padding: 9px 10px; border-top: 0; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
@media (max-width: 760px) {
    .rr-head { display: none; }
    .uhs-arch .rr-team summary { grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-areas: "rk school n" ". bar bar"; gap: 4px 10px; }
    .rr-rk { grid-area: rk; } .rr-school { grid-area: school; } .rr-n { grid-area: n; } .rr-bar { grid-area: bar; }
    .rr-n small { display: none; }
    .rr-list { padding: 4px 4px 12px; }
    .rr-list li, .rr-toplist li { grid-template-columns: minmax(0, 1fr) 90px; }
    .rr-toplist li { grid-template-columns: 22px minmax(0, 1fr) 80px; padding: 9px 4px; }
    .rr-val { grid-template-columns: minmax(0, 1fr) 46px; }
}

/* ---- Head to head ---- */
.uhs-h2h { --h2h-a: #5a1222; --h2h-b: #1e3a5f; }
html[data-theme="dark"] .uhs-h2h { --h2h-a: #c0304f; --h2h-b: #60a5fa; }
.h2h-mode { margin-bottom: 14px; }
.h2h-mode a { display: inline-grid; place-items: center; min-height: 34px; padding: 0 14px; border-radius: 8px; font: 700 .82rem system-ui, -apple-system, sans-serif; color: var(--c-text-2, #475569) !important; text-decoration: none !important; }
.h2h-mode a[aria-current="page"] { background: #5a1222; color: #fff !important; }
.h2h-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 18px; }
.h2h-pick .arch-search { flex: 1 1 240px; }
.h2h-vs { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.2rem; color: var(--c-muted, #64748b); }
.h2h-go { height: 42px; padding: 0 18px; border: 0; border-radius: 10px; background: #5a1222; color: #fff; font: 800 .88rem system-ui, -apple-system, sans-serif; cursor: pointer; }
.h2h-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.h2h-card { position: relative; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--c-border, #e2e8f0); border-top: 4px solid var(--h2h-a); background: var(--c-surface, #fff); }
.h2h-card.is-b { border-top-color: var(--h2h-b); text-align: right; }
.h2h-card h3 { margin: 0; font-size: 1.15rem; }
.h2h-card.is-b h3 { display: flex; flex-direction: row-reverse; justify-content: flex-start; align-items: baseline; gap: 6px; }
.h2h-card a.tc-name, .h2h-card b.tc-name { font-size: 1.15rem; }
.uhs-h2h .h2h-card p { margin: 2px 0 0 !important; font-size: .82rem; font-weight: 600; color: var(--c-muted, #64748b); }
.h2h-card > b { position: absolute; top: 12px; right: 16px; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2rem; line-height: 1; color: var(--h2h-a); }
.h2h-card > small { position: absolute; top: 44px; right: 16px; font-size: .68rem; font-weight: 700; color: var(--c-muted, #64748b); }
.h2h-card.is-b > b { right: auto; left: 16px; color: var(--h2h-b); } .h2h-card.is-b > small { right: auto; left: 16px; }
.h2h-rows { list-style: none; margin: 0 0 24px; padding: 0; }
.h2h-rows li { display: grid; grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr); align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--c-border-soft, #eef2f6); }
.h2h-l { text-align: center; font-size: .82rem; font-weight: 700; color: var(--c-text-2, #475569); line-height: 1.2; }
.h2h-l small { display: block; font-size: .66rem; font-weight: 600; color: var(--c-muted, #64748b); }
.h2h-v { display: flex; align-items: center; gap: 10px; }
.h2h-v.is-a { flex-direction: row; justify-content: flex-end; }
.h2h-v.is-a i { order: 2; } .h2h-v.is-a b { order: 1; }
.h2h-v i { display: block; height: 12px; border-radius: 6px; background: var(--c-surface-3, #e2e8f0); max-width: 70%; min-width: 3px; }
.h2h-v.is-a i { background: var(--h2h-a); opacity: .25; } .h2h-v.is-b i { background: var(--h2h-b); opacity: .25; }
.h2h-v.is-win i { opacity: 1; }
.h2h-v b { min-width: 52px; font-weight: 800; font-size: 1rem; font-variant-numeric: tabular-nums; color: var(--c-text-2, #475569); }
.h2h-v.is-a b { text-align: right; }
.h2h-v.is-win b { font-weight: 900; color: var(--c-text, #0f172a); }
.h2h-chart svg { width: 100%; height: auto; display: block; max-width: 760px; }
.h2h-grid { stroke: var(--c-border-soft, #eef2f6); }
.h2h-tick, .h2h-x { font: 600 11px system-ui, sans-serif; fill: var(--c-muted, #64748b); }
.h2h-chart rect.is-a, .h2h-key i.is-a { fill: var(--h2h-a); background: var(--h2h-a); }
.h2h-chart rect.is-b, .h2h-key i.is-b { fill: var(--h2h-b); background: var(--h2h-b); }
.h2h-key { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 6px; font-size: .82rem; font-weight: 700; color: var(--c-text-2, #475569); }
.h2h-key span { display: inline-flex; align-items: center; gap: 6px; }
.h2h-key i { width: 12px; height: 12px; border-radius: 3px; }
.uhs-h2h .h2h-warn { margin: 0 0 16px !important; padding: 10px 14px; border-radius: 10px; background: var(--warn-1); font-size: .88rem; font-weight: 600; }
@media (max-width: 640px) {
    .h2h-rows li { grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr); gap: 6px; }
    .h2h-v i { display: none; }
    .h2h-v b { min-width: 0; }
    .h2h-card > b, .h2h-card > small { position: static; display: block; }
    .h2h-card > b { margin-top: 6px; font-size: 1.5rem; }
    .h2h-vs { width: 100%; text-align: center; }
}
.h2h-v b { white-space: nowrap; }

/* ===== 8.19 NCAA rankings: Top 20, "how settled" meter ===== */
.uhs-rel{border:1px solid var(--c-border);border-radius:12px;background:var(--c-surface);padding:14px 16px 12px;margin:0 0 16px;--rel:#b45309}
.uhs-rel.is-forming{--rel:#1d4ed8}.uhs-rel.is-settled{--rel:#15803d}
.uhs-rel-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.uhs-rel-label{font-size:1.05rem;font-weight:900;color:var(--rel)}
.uhs-rel-gp{font-size:.82rem;color:var(--c-muted);font-weight:700}
.uhs-rel-track{position:relative;height:10px;border-radius:5px;background:var(--c-surface-3);overflow:visible}
.uhs-rel-track>i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--rel)}
.uhs-rel-track .m{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--c-surface);box-shadow:0 0 0 1px var(--c-border-strong)}
.uhs-rel-steps{display:grid;grid-template-columns:23.5% 35.3% 1fr;font-size:.7rem;font-weight:800;color:var(--c-muted);margin-top:5px}
.uhs-rel-steps span:nth-child(2){padding-left:6px}.uhs-rel-steps span:last-child{padding-left:6px}
.uhs-rel.is-early .uhs-rel-steps span:nth-child(1),.uhs-rel.is-forming .uhs-rel-steps span:nth-child(2),.uhs-rel.is-settled .uhs-rel-steps span:nth-child(3){color:var(--rel)}
.uhs-rel p{margin:9px 0 0;font-size:.86rem;line-height:1.5;color:var(--c-text-2)}
.uhs-t20 .t20-meta{font-size:.8rem;color:var(--c-muted);margin:0 0 10px}
.uhs-t20 .t20-head,.uhs-t20 .t20-row{display:grid;grid-template-columns:34px 44px minmax(0,1.6fr) 104px 150px minmax(110px,1fr);align-items:center;gap:10px}
.uhs-t20 .t20-head{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);padding:0 12px 6px;border-bottom:2px solid var(--c-border)}
.uhs-t20 .t20-list{list-style:none;margin:0;padding:0}
.uhs-t20 .t20-row{padding:10px 12px;border-bottom:1px solid var(--c-border-soft)}
.uhs-t20 .t20-row.is-primary{background:var(--c-highlight-soft);box-shadow:inset 3px 0 0 var(--c-gold)}
.uhs-t20 .t20-rk{font-size:1.35rem;font-weight:900;color:var(--c-text);text-align:right;font-variant-numeric:tabular-nums}
.uhs-t20 .t20-list.is-next .t20-rk{font-size:1rem;color:var(--c-muted)}
.uhs-t20 .t20-mv{font-size:.72rem;font-weight:900;text-align:center;border-radius:10px;padding:2px 0;font-variant-numeric:tabular-nums}
.uhs-t20 .t20-mv.is-up{color:#15803d;background:rgba(21,128,61,.1)}.uhs-t20 .t20-mv.is-down{color:#b91c1c;background:rgba(185,28,28,.09)}
.uhs-t20 .t20-mv.is-new{color:#1d4ed8;background:rgba(29,78,216,.09)}.uhs-t20 .t20-mv.is-flat{color:var(--c-faint)}
.uhs-t20 .t20-team{display:flex;align-items:center;gap:10px;min-width:0}
.uhs-t20 .t20-team img{width:32px;height:32px;object-fit:contain;flex:none}
.uhs-t20 .t20-team>span{display:flex;flex-direction:column;min-width:0}
.uhs-t20 .t20-team b{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uhs-t20 .t20-team b a{color:var(--c-text);text-decoration:none}.uhs-t20 .t20-team b a:hover{text-decoration:underline}
.uhs-t20 .t20-team small{font-size:.76rem;color:var(--c-muted);white-space:nowrap}
.uhs-t20 .t20-form{display:flex;gap:3px}
.uhs-t20 .t20-parts{display:flex;flex-direction:column;font-size:.74rem;color:var(--c-muted);line-height:1.35}
.uhs-t20 .t20-parts b{color:var(--c-text-2);font-variant-numeric:tabular-nums}
.uhs-t20 .t20-idx{position:relative;display:flex;align-items:center;gap:8px}
.uhs-t20 .t20-bar{flex:1;min-width:0;height:8px;border-radius:4px;background:var(--c-surface-3);overflow:hidden}.uhs-t20 .t20-bar i{display:block;height:100%;border-radius:4px;background:#123a6b}.uhs-t20 .t20-idx b{min-width:34px;text-align:right}
.uhs-t20 .t20-idx b{font-weight:900;font-variant-numeric:tabular-nums;color:var(--c-text)}
.uhs-t20 .t20-sub{margin:22px 0 4px;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted)}
.uhs-rk-sub{margin:0 0 14px}.uhs-rk-sub small.t20-soon,.uhs-rankx .uhs-ncaa-views small.t20-soon{font-size:.62rem;font-weight:800;letter-spacing:.03em;margin-left:4px;padding:1px 6px;border-radius:8px;background:var(--c-surface-3);color:var(--c-muted)}
.uhs-rk .t20-closed{border:1px dashed var(--c-border-strong);border-radius:12px;padding:22px 20px;text-align:center;max-width:640px;margin:10px auto}
.uhs-rk .t20-closed h3{margin:0 0 8px;font-size:1.1rem;color:var(--c-text)}
.uhs-rk .t20-closed p{margin:0 0 14px;color:var(--c-text-2);font-size:.9rem;line-height:1.55}
.uhs-rk .t20-go{background:#123a6b!important;color:#fff!important;border:0;border-radius:8px;padding:8px 16px;font-weight:800;font-size:.85rem;cursor:pointer}
.uhs-rk .t20-go:hover{filter:brightness(1.15)}
.uhs-ncaa-viewlink{margin-left:auto;align-self:center;font-size:.8rem;font-weight:800;color:var(--c-accent-text);text-decoration:none;padding:6px 4px}
.uhs-ncaa-viewlink:hover{text-decoration:underline}
html[data-theme="dark"] .uhs-t20 .t20-bar i{background:#60a5fa}
html[data-theme="dark"] .uhs-rel{--rel:#f59e0b}html[data-theme="dark"] .uhs-rel.is-forming{--rel:#60a5fa}html[data-theme="dark"] .uhs-rel.is-settled{--rel:#4ade80}
@media (max-width:760px){
 .uhs-t20 .t20-head{display:none}
 .uhs-t20 .t20-row{grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"rk team idx" "mv form parts";column-gap:8px;row-gap:5px;padding:10px 4px}
 .uhs-t20 .t20-mv{align-self:start;font-size:.66rem}
 .uhs-t20 .t20-rk{grid-area:rk;font-size:1.1rem}.uhs-t20 .t20-mv{grid-area:mv}.uhs-t20 .t20-team{grid-area:team}.uhs-t20 .t20-idx{grid-area:idx;justify-content:flex-end}.uhs-t20 .t20-bar{display:none}
 .uhs-t20 .t20-form{grid-area:form;padding-left:42px}.uhs-t20 .t20-parts{grid-area:parts;flex-direction:row;gap:6px;justify-content:flex-end;font-size:.68rem;white-space:nowrap}
 .uhs-t20 .t20-parts span{white-space:nowrap}
 .uhs-t20 .t20-team img{width:28px;height:28px}
 .uhs-t20 .t20-team b{white-space:normal;line-height:1.2}
}

@media (max-width:420px){.uhs-ncaa .uhs-ncaa-views button{padding:10px 7px;font-size:.74rem;letter-spacing:.02em}}
.uhs-gloss .gl-scale-note{margin:8px 0 0;font-size:.82rem;color:var(--c-muted)}

.uhs-pt .pt-live,.pt-card .pt-live{margin:2px 0 0;font-size:.8rem;font-weight:800;color:var(--c-text);font-variant-numeric:tabular-nums}

/* 8.22 Terms of Use */
.uhs-terms{max-width:760px;margin:0 auto;font-size:1rem;line-height:1.65;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);border-radius:12px;padding:28px 36px}
@media (max-width:600px){.uhs-terms{padding:18px 16px}}
.uhs-terms h2{font-size:1.15rem;margin:28px 0 8px;color:var(--c-text)}
.uhs-terms ul{padding-left:20px;margin:6px 0 12px}.uhs-terms li{margin:5px 0}
.uhs-terms .uhs-terms-date{color:var(--c-muted);font-size:.85rem}
.uhs-rights a{color:inherit;text-decoration:underline}

/* =====================================================================
   8.22.1 Phones and tablets: tapped table rows and the locked name column
   ===================================================================== */
/* A tap leaves a row in :hover/:active. The desktop garnet hover (white text) and the
   tap tint (pale background) mixed into white-on-white, so touch screens get one
   readable highlight instead. */
@media (hover:none){
  html body .uhs-master-wrapper table tbody tr:hover > td:not(#_),
  html body .uhs-master-wrapper table tbody tr:active > td:not(#_){background-color:var(--c-surface-tint,#eef3f9)!important;color:var(--c-text,#0f172a)!important;box-shadow:none!important}
  html body .uhs-master-wrapper table tbody tr:hover > td:not(#_) a:not(.uhs-boxscore-btn):not(.uhs-btn-primary),
  html body .uhs-master-wrapper table tbody tr:active > td:not(#_) a:not(.uhs-boxscore-btn):not(.uhs-btn-primary){color:var(--c-accent-text,#5a1222)!important}
  html body .uhs-master-wrapper table tbody tr:hover > td:not(#_) :is(span,b,strong,small,em,div,i,p):not([style*="background"]):not([class*="badge"]):not([class*="chip"]):not([class*="pill"]):not(.tc-pos),
  html body .uhs-master-wrapper table tbody tr:active > td:not(#_) :is(span,b,strong,small,em,div,i,p):not([style*="background"]):not([class*="badge"]):not([class*="chip"]):not([class*="pill"]):not(.tc-pos){color:inherit!important}
}
/* Locked rank + name columns take less of a phone screen: names wrap instead of
   being cut off, and tier badges shorten to HOBEY / ALL-AM. */
@media (max-width:600px){
  .uhs-tscroll table.uhs-locktable td.uhs-lock-edge:not(#_){max-width:40vw!important;min-width:26vw;white-space:normal!important;line-height:1.25;overflow:hidden;text-overflow:clip;word-break:keep-all;overflow-wrap:normal;font-size:.8rem!important}
  .uhs-tscroll table.uhs-locktable th.uhs-lock-edge:not(#_){max-width:34vw!important;white-space:normal!important}
  .uhs-tscroll table.uhs-locktable td.uhs-lock:not(.uhs-lock-edge):not(#_),
  .uhs-tscroll table.uhs-locktable th.uhs-lock:not(.uhs-lock-edge):not(#_){padding-left:6px!important;padding-right:4px!important}
  .uhs-tier-badge{font-size:.52rem!important;padding:1px 4px!important;margin-left:4px!important;letter-spacing:.3px!important}
  .uhs-tier-badge .tb-x{display:none}
}
