/* ============================================================================
   /heisman — page.css (HEISMAN-ALIGN-1001, Pat 2026-10-01)
   ----------------------------------------------------------------------------
   "Apply the stylistic changes we've been making to the Heisman page ... bring
   it in alignment with the rest of the website." Replaces the bronze
   "prestige" layers (route.css + heisman.css + polish.css) on this page with
   the sitewide language:
     - full-bleed bands on .content--bleed (D-E2E-BLEED-0926), no outer boxes;
     - the shared .leader-row (assets/leader-rows.css) for every candidate
       list, with a rank column added here;
     - the site palette: white type, brand-red accents, team colour as a row
       wash. No gold or bronze (the /heisman gold exemption is retired in
       tokens.css in the same change).
   Text stays at the 16px legibility floor.
   heisman-card.css + ballot-ceremony.css still own the ballot's internals.
   ========================================================================== */

/* --- Gate + [hidden] (moved from route.css, unchanged behaviour) ---------- */
/* The standings + ballot stay invisible until /heisman/state answers, so a
   dormant (pre-Week-3) page never flashes a live ballot. visibility, not
   display, so nothing reflows; index.html's 6s failsafe clears the class. */
#main.ht-gate-pending .ht-main-row{ visibility:hidden; }
html[data-route="/heisman"] .ht-main-row[hidden],
html[data-route="/heisman"] .ht-hero-frontrunner[hidden],
html[data-route="/heisman"] .ht-void[hidden],
html[data-route="/heisman"] .ht-others-section[hidden]{ display:none; }

/* The race + ballot wrapper is not a band itself; let its two bands bleed. */
html[data-route="/heisman"] .content--bleed > .hz-main.ht-main-row{
  max-width:none;
  padding-inline:0;
  margin-inline:0;
  width:100%;
  display:flex;
  flex-direction:column;
  row-gap:var(--band-gap,8px);
}

/* --- Shared bits ----------------------------------------------------------- */
html[data-route="/heisman"] .hz-band-head{ margin-bottom:8px; }
html[data-route="/heisman"] .hz-band-titles{ display:flex; flex-direction:column; gap:4px; min-width:0; }
html[data-route="/heisman"] .hz-band-eyebrow,
html[data-route="/heisman"] .hz-eyebrow,
html[data-route="/heisman"] .hz-fr-label{
  font-family:var(--f-mono,"JetBrains Mono",monospace);
  font-size:16px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red-glow,#FF2D2D);
}
html[data-route="/heisman"] .hz-band-sub{
  margin:0;
  font-family:var(--f-body,"Inter",sans-serif);
  font-size:16px;
  line-height:1.45;
  color:var(--text-muted,#C2C2C2);
  max-width:62ch;
}
html[data-route="/heisman"] .hz-note,
html[data-route="/heisman"] .ht-note{
  margin:12px 0 0;
  padding-inline:var(--gutter-l,16px) var(--gutter-r,16px);
  font-family:var(--f-body,"Inter",sans-serif);
  font-size:16px;
  line-height:1.5;
  color:var(--text-muted,#C2C2C2);
}
html[data-route="/heisman"] .hz-note:empty{ display:none; }
html[data-route="/heisman"] .ht-empty{
  margin:0;
  padding:16px var(--gutter-r,16px) 16px var(--gutter-l,16px);
  font-family:var(--f-body,"Inter",sans-serif);
  font-size:16px;
  color:var(--text-muted,#C2C2C2);
}

/* Rank movement (▲2 / ▼1 / —) */
html[data-route="/heisman"] .ht-delta{
  display:inline-block;
  margin-left:4px;
  font-family:var(--f-mono,"JetBrains Mono",monospace);
  font-size:16px;
  font-weight:700;
  white-space:nowrap;
}
html[data-route="/heisman"] .ht-delta.mv-up{ color:var(--green-positive,#3DBA6E); }
html[data-route="/heisman"] .ht-delta.mv-dn{ color:var(--red-bright,#FF3B30); }
html[data-route="/heisman"] .ht-delta.mv-flat{ color:var(--text-muted,#C2C2C2); }

/* Skeletons */
html[data-route="/heisman"] .hz-skel{
  display:block;
  background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.10),rgba(255,255,255,.05));
  background-size:200% 100%;
  animation:hz-shimmer 1.4s linear infinite;
  border-radius:6px;
}
html[data-route="/heisman"] .hz-skel--line{ height:16px; width:70%; }
html[data-route="/heisman"] .hz-skel--short{ width:45%; }
html[data-route="/heisman"] .hz-skel--circle{ border-radius:50%; }
@keyframes hz-shimmer{ from{ background-position:200% 0; } to{ background-position:-200% 0; } }
@media (prefers-reduced-motion:reduce){ html[data-route="/heisman"] .hz-skel{ animation:none; } }

/* --- Hero band ------------------------------------------------------------ */
html[data-route="/heisman"] .hz-hero{
  background:linear-gradient(135deg,#0d0d0d 0%,#1a0000 50%,#0d0d0d 100%);
  border-bottom:2px solid var(--red-primary,#FF1A1A);
}
html[data-route="/heisman"] .hz-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
  align-items:center;
}
@container page (min-width:860px){
  html[data-route="/heisman"] .hz-hero-inner{ grid-template-columns:minmax(0,1fr) minmax(340px,460px); gap:32px; }
}
html[data-route="/heisman"] .hz-hero-text{ display:flex; flex-direction:column; gap:10px; min-width:0; }
html[data-route="/heisman"] .ht-hero-title{
  margin:0;
  font-family:var(--f-display,"Graduate",serif);
  font-weight:400;
  font-size:clamp(36px,9vw,56px);
  line-height:1.02;
  letter-spacing:.03em;
  color:var(--white-bright,#F5F5F5);
}
html[data-route="/heisman"] .ht-hero-title-accent{ color:inherit; }
html[data-route="/heisman"] .ht-hero-tagline{
  margin:0;
  font-family:var(--f-body,"Inter",sans-serif);
  font-size:17px;
  line-height:1.5;
  color:var(--text-muted,#C2C2C2);
  max-width:56ch;
}
html[data-route="/heisman"] .hz-hero-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; margin-top:4px; }
html[data-route="/heisman"] .ht-hero-week{
  font-family:var(--f-mono,"JetBrains Mono",monospace);
  font-size:16px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--white-bright,#F5F5F5);
}

/* Front-runner spotlight — an object (tap target), so it keeps a box. */
html[data-route="/heisman"] .hz-fr-wrap{ display:flex; flex-direction:column; gap:8px; min-width:0; }
html[data-route="/heisman"] .hz-fr{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:inherit;
  text-decoration:none;
  min-width:0;
  transition:background-color .15s ease, border-color .15s ease;
}
html[data-route="/heisman"] .hz-fr.is-school-colored{
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team,#8A8A8A) 38%, transparent) 0, transparent 75%),
    rgba(255,255,255,.03);
}
@media (hover:hover){
  html[data-route="/heisman"] a.hz-fr:hover{ border-color:rgba(255,255,255,.28); }
}
html[data-route="/heisman"] a.hz-fr:focus-visible{ outline:2px solid var(--red-primary,#FF1A1A); outline-offset:2px; }
/* The quick-look card's avatar canon: white disc, black ring, white outer ring. */
html[data-route="/heisman"] .hz-fr-photo{ position:relative; width:84px; height:84px; flex:0 0 84px; margin:4px; }
html[data-route="/heisman"] .hz-fr-avatar{
  display:block;
  width:84px; height:84px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  background:#FFFFFF;
  border:3px solid #0A0A0A;
  box-shadow:0 0 0 4px #FFFFFF, 0 8px 22px rgba(0,0,0,.45);
  box-sizing:border-box;
}
html[data-route="/heisman"] .hz-fr-avatar.hz-initials,
html[data-route="/heisman"] .hz-fr--skel .hz-fr-avatar{
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-display,"Graduate",serif); font-size:28px; color:#0A0A0A;
}
html[data-route="/heisman"] .hz-fr--skel .hz-fr-avatar{ width:84px; height:84px; border-radius:50%; box-shadow:none; border:0; }
html[data-route="/heisman"] .hz-fr-logo{
  position:absolute; right:-6px; bottom:-6px;
  width:30px; height:30px; padding:3px;
  border-radius:50%;
  background:#0A0A0A; border:1px solid rgba(255,255,255,.18);
  object-fit:contain; box-sizing:border-box;
}
html[data-route="/heisman"] .hz-fr-main{ display:flex; flex-direction:column; gap:4px; min-width:0; }
html[data-route="/heisman"] .hz-fr-name{
  font-family:var(--f-display,"Graduate",serif);
  font-size:26px;
  line-height:1.1;
  letter-spacing:.02em;
  color:var(--white-bright,#F5F5F5);
  overflow-wrap:anywhere;
}
html[data-route="/heisman"] .hz-fr-meta{ font-family:var(--f-body,"Inter",sans-serif); font-size:16px; color:var(--text-muted,#C2C2C2); }
html[data-route="/heisman"] .hz-fr-stats{
  font-family:var(--f-mono,"JetBrains Mono",monospace);
  font-size:16px;
  color:var(--white-bright,#F5F5F5);
  opacity:.9;
}
html[data-route="/heisman"] .hz-fr-score{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right; }
html[data-route="/heisman"] .hz-fr-score b{
  font-family:var(--f-display,"Graduate",serif);
  font-weight:400;
  font-size:44px;
  line-height:1;
  color:var(--white-bright,#F5F5F5);
  font-variant-numeric:tabular-nums;
}
html[data-route="/heisman"] .hz-fr-score span{ font-family:var(--f-body,"Inter",sans-serif); font-size:16px; color:var(--text-muted,#C2C2C2); white-space:nowrap; }
@media (max-width:520px){
  html[data-route="/heisman"] .hz-fr{ grid-template-columns:auto minmax(0,1fr); gap:12px 14px; padding:14px; }
  html[data-route="/heisman"] .hz-fr-photo,
  html[data-route="/heisman"] .hz-fr-avatar{ width:68px; height:68px; flex-basis:68px; }
  html[data-route="/heisman"] .hz-fr-name{ font-size:22px; }
  html[data-route="/heisman"] .hz-fr-stats{ white-space:normal; }
  html[data-route="/heisman"] .hz-fr-score{
    grid-column:1 / -1;
    flex-direction:row; align-items:baseline; justify-content:space-between;
    padding-top:10px; border-top:1px solid rgba(255,255,255,.10);
  }
  html[data-route="/heisman"] .hz-fr-score b{ font-size:36px; order:2; }
  html[data-route="/heisman"] .hz-fr-score span{ order:1; }
}
/* Preseason / error copy inside the spotlight slot */
html[data-route="/heisman"] .ht-preseason-frontrunner,
html[data-route="/heisman"] .ht-preseason-queued{
  display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center;
  padding:20px 16px;
  border:1px solid rgba(255,255,255,.12); border-radius:12px;
  font-family:var(--f-body,"Inter",sans-serif);
}
html[data-route="/heisman"] .ht-preseason-icon{ font-size:32px; color:var(--red-glow,#FF2D2D); }
html[data-route="/heisman"] .ht-preseason-label{ font-size:18px; font-weight:700; color:var(--white-bright,#F5F5F5); }
html[data-route="/heisman"] .ht-preseason-sub{ font-size:16px; color:var(--text-muted,#C2C2C2); }

/* Error panel + retry (distinct from "empty") */
html[data-route="/heisman"] .ht-fetch-error{
  margin:8px var(--gutter-r,16px) 8px var(--gutter-l,16px);
  padding:16px;
  border:1px solid rgba(255,59,48,.45);
  border-radius:10px;
  background:rgba(255,59,48,.06);
  font-family:var(--f-body,"Inter",sans-serif);
}
html[data-route="/heisman"] .ht-leader .ht-fetch-error{ margin:0; }
html[data-route="/heisman"] .ht-fetch-error-title{ font-size:18px; font-weight:700; color:var(--white-bright,#F5F5F5); }
html[data-route="/heisman"] .ht-fetch-error-sub{ font-size:16px; color:var(--text-muted,#C2C2C2); margin:4px 0 12px; }
html[data-route="/heisman"] .ht-retry-btn{
  min-height:44px; padding:8px 18px;
  border-radius:8px; border:1px solid rgba(255,26,26,.55); background:rgba(255,26,26,.10);
  color:var(--white-bright,#F5F5F5);
  font:600 16px var(--f-body,"Inter",sans-serif); cursor:pointer;
}

/* --- The race: leader rows with a rank column ----------------------------- */
html[data-route="/heisman"] .hz-rows{ display:flex; flex-direction:column; }
html[data-route="/heisman"] .hz-row{
  grid-template-columns:32px 48px minmax(0,1fr) auto;
  column-gap:12px;
  min-height:76px;
  padding-block:10px;
  padding-inline:var(--gutter-l,16px) var(--gutter-r,16px);
}
html[data-route="/heisman"] .hz-rank{
  font-family:var(--f-display,"Graduate",serif);
  font-size:22px;
  line-height:1;
  text-align:center;
  color:var(--white-bright,#F5F5F5);
  font-variant-numeric:tabular-nums;
}
html[data-route="/heisman"] .hz-rank--winner{ color:var(--red-glow,#FF2D2D); font-size:26px; }
html[data-route="/heisman"] .hz-rank--winner svg{ display:block; margin:0 auto; }
html[data-route="/heisman"] .hz-row .lr-avatar .hz-initials{
  display:flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:50%;
  border:2px solid var(--team,var(--gray-border,#2A2A2A));
  background:#141418;
  font-family:var(--f-display,"Graduate",serif); font-size:18px; color:var(--white-bright,#F5F5F5);
  box-sizing:border-box;
}
html[data-route="/heisman"] .hz-row .hw-school{ white-space:normal; }
html[data-route="/heisman"] .hz-winner{ color:var(--red-glow,#FF2D2D); font-weight:700; }
html[data-route="/heisman"] .hz-ctx-line{
  font-family:var(--f-body,"Inter",sans-serif);
  font-size:16px;
  color:var(--text-muted,#C2C2C2);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0;
}
html[data-route="/heisman"] .hz-ctx--tough{ color:var(--white-bright,#F5F5F5); font-weight:600; }
html[data-route="/heisman"] .hz-ctx--chase{ color:var(--red-glow,#FF2D2D); font-weight:600; }
html[data-route="/heisman"] .hz-row .hw-score{ font-size:30px; }
html[data-route="/heisman"] .hz-unit{
  font-family:var(--f-body,"Inter",sans-serif);
  font-size:16px;
  color:var(--text-muted,#C2C2C2);
  white-space:nowrap;
}
html[data-route="/heisman"] .hz-row--winner .hw-score{ color:var(--white-bright,#F5F5F5); }
html[data-route="/heisman"] a.hz-row:focus-visible{ outline:2px solid var(--red-primary,#FF1A1A); outline-offset:-2px; }
html[data-route="/heisman"] .hz-row--skel{ cursor:default; }
html[data-route="/heisman"] .hz-row--skel .lr-avatar{ width:48px; height:48px; }

/* Compact rows: ranks 5-10 / others receiving votes */
html[data-route="/heisman"] .hz-row--compact{
  grid-template-columns:32px 40px minmax(0,1fr) auto;
  min-height:60px;
  padding-block:8px;
}
html[data-route="/heisman"] .hz-row--compact .lr-avatar{ width:40px; height:40px; flex-basis:40px; }
html[data-route="/heisman"] .hz-row--compact .lr-avatar img.slot-img{ width:40px!important; height:40px!important; }
html[data-route="/heisman"] .hz-row--compact .lr-logo{ width:16px; height:16px; padding:1px; }
html[data-route="/heisman"] .hz-row--compact .hz-rank{ font-size:18px; color:var(--text-muted,#C2C2C2); }
html[data-route="/heisman"] .hz-row--compact .hw-score{ font-size:22px; }
html[data-route="/heisman"] .hz-others{ margin-top:16px; }
html[data-route="/heisman"] .hz-subhead{
  margin:0 0 4px;
  padding-inline:var(--gutter-l,16px) var(--gutter-r,16px);
  font-family:var(--f-mono,"JetBrains Mono",monospace);
  font-size:16px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text-muted,#C2C2C2);
}
html[data-route="/heisman"] .hz-others-list{ list-style:none; margin:0; padding:0; }
html[data-route="/heisman"] .hz-others-item{ margin:0; padding:0; }
html[data-route="/heisman"] .hz-others-item:last-child .leader-row{ border-bottom:0; }
@container page (min-width:960px){
  html[data-route="/heisman"] .hz-others-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-route="/heisman"] .hz-others-item:nth-child(even) .leader-row{ border-left:1px solid #000; }
}
@media (max-width:359px){
  html[data-route="/heisman"] .hz-row{ grid-template-columns:24px 40px minmax(0,1fr) auto; column-gap:8px; }
  html[data-route="/heisman"] .hz-row .hw-score{ font-size:24px; }
}

/* --- Ballot band ---------------------------------------------------------- */
html[data-route="/heisman"] .hz-ballot .hm-ballot-mount{ max-width:720px; margin-inline:0; }
html[data-route="/heisman"] .hz-ballot .hz-band-head{ margin-bottom:4px; }

/* --- Dormant (pre-activation-week) state ---------------------------------- */
html[data-route="/heisman"] .hz-void{ padding-top:28px; padding-bottom:28px; }
html[data-route="/heisman"] .ht-void-inner{
  max-width:60ch;
  margin:0 auto;
  padding-inline:var(--gutter-l,16px) var(--gutter-r,16px);
  text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
html[data-route="/heisman"] .ht-void-trophy{ width:48px; height:48px; color:var(--red-glow,#FF2D2D); }
html[data-route="/heisman"] .ht-void-trophy svg{ width:100%; height:100%; }
html[data-route="/heisman"] .ht-void-title{
  margin:0;
  font-family:var(--f-display,"Graduate",serif);
  font-weight:400;
  font-size:clamp(26px,6vw,34px);
  line-height:1.1;
  color:var(--white-bright,#F5F5F5);
}
html[data-route="/heisman"] .ht-void-msg{ margin:0; font:16px/1.55 var(--f-body,"Inter",sans-serif); color:var(--text-muted,#C2C2C2); }
html[data-route="/heisman"] .ht-void-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:6px; }
html[data-route="/heisman"] .ht-void-now{
  margin:0; display:flex; flex-direction:column; gap:2px;
  padding:10px 16px; border-radius:10px;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03);
}
html[data-route="/heisman"] .ht-void-now-label{ font:16px var(--f-body,"Inter",sans-serif); color:var(--text-muted,#C2C2C2); }
html[data-route="/heisman"] .ht-void-now-val{ font:700 18px var(--f-mono,"JetBrains Mono",monospace); color:var(--white-bright,#F5F5F5); }
html[data-route="/heisman"] .ht-void-sections{ display:flex; flex-direction:column; gap:24px; margin-top:28px; }
html[data-route="/heisman"] .ht-void-block[hidden]{ display:none; }
html[data-route="/heisman"] .ht-void-block .ht-subhead{
  margin:0 0 8px;
  padding-inline:var(--gutter-l,16px) var(--gutter-r,16px);
  font:700 16px var(--f-mono,"JetBrains Mono",monospace);
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--white-bright,#F5F5F5);
}
html[data-route="/heisman"] .ht-void-block .ht-subhead::before{
  content:""; display:inline-block; width:3px; height:.9em; margin-right:10px; vertical-align:-.05em; background:var(--red-primary,#FF1A1A);
}
html[data-route="/heisman"] .ht-void-howitworks ul{
  margin:0; padding:0 var(--gutter-r,16px) 0 calc(var(--gutter-l,16px) + 20px);
  font:16px/1.6 var(--f-body,"Inter",sans-serif); color:var(--text-muted,#C2C2C2);
}
html[data-route="/heisman"] .ht-void-block .ht-note{ margin:0 0 8px; }
html[data-route="/heisman"] .ht-void-block .ht-top4-grid{ display:flex; flex-direction:column; }
html[data-route="/heisman"] .ht-void-remind label{
  display:flex; align-items:center; gap:10px;
  padding-inline:var(--gutter-l,16px) var(--gutter-r,16px);
  font:600 16px var(--f-body,"Inter",sans-serif); color:var(--white-bright,#F5F5F5);
  cursor:pointer;
}
html[data-route="/heisman"] .ht-void-remind input{ width:20px; height:20px; accent-color:var(--red-primary,#FF1A1A); }

/* --- Toast ---------------------------------------------------------------- */
html[data-route="/heisman"] .ht-toast{
  position:fixed;
  bottom:calc(84px + env(safe-area-inset-bottom,0px));
  left:50%;
  z-index:2100;
  transform:translateX(-50%) translateY(16px);
  max-width:calc(100vw - 32px);
  padding:10px 18px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.16);
  background:#141418;
  color:var(--white-bright,#F5F5F5);
  font:600 16px var(--f-body,"Inter",sans-serif);
  box-shadow:0 8px 24px rgba(0,0,0,.6);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
html[data-route="/heisman"] .ht-toast.is-visible{ opacity:1; transform:translateX(-50%) translateY(0); }

/* ============================================================================
   Ballot (ballot-ceremony.js + heisman-card.js) — restyle, same mechanics.
   The ceremony (deal, flip, zoom, pick, lock) is unchanged; this drops the
   felt table, diagonal slashes and gold-foil type, and brings every label to
   the 16px floor (the old sheets sized them in rem, down to 0.3rem / 5px).
   ========================================================================== */
html[data-route="/heisman"] .hbc-wrap{
  padding:4px 0 0;
  background:none;
  border:0;
  border-radius:0;
}
html[data-route="/heisman"] .hbc-wrap::before,
html[data-route="/heisman"] .hbc-wrap::after{ display:none; }
html[data-route="/heisman"] .hbc-caption{
  font:500 16px/1.45 var(--f-body,"Inter",sans-serif);
  letter-spacing:0;
  text-transform:none;
  color:var(--text-muted,#C2C2C2);
  text-align:left;
  margin-bottom:12px;
}
html[data-route="/heisman"] .hbc-stage{
  min-height:0;
  padding:4px 0 8px;
  gap:12px;
  justify-content:space-between;
}
html[data-route="/heisman"] .hbc-slot-label{
  font:700 16px var(--f-mono,"JetBrains Mono",monospace);
  letter-spacing:.06em;
  color:var(--text-muted,#C2C2C2);
  margin-bottom:8px;
}
html[data-route="/heisman"] .hbc-card-wrap.is-active-slot .hbc-slot-label{ color:var(--red-glow,#FF2D2D); }
/* Three cards share the row evenly at every width. */
html[data-route="/heisman"] .hbc-card-wrap{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; }
html[data-route="/heisman"] .hbc-card-wrap .heis-card{ --heis-w:min(100%, 200px); }

/* Card faces: flat raised surface, no foil, no slashes, no dot matrix. */
html[data-route="/heisman"] .heis-card__front{ background:none; padding:0; box-shadow:none; }
html[data-route="/heisman"] .heis-card__face{
  padding:0 8px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:linear-gradient(180deg,#1A1A1F 0%,#111114 100%);
}
html[data-route="/heisman"] .heis-card__face::before,
html[data-route="/heisman"] .heis-card__face::after,
html[data-route="/heisman"] .heis-card__back-inner::after{ display:none; }
html[data-route="/heisman"] .heis-card__back{ background:#111114; border:1px solid rgba(255,255,255,.16); box-shadow:none; }
html[data-route="/heisman"] .heis-card__back-inner{ border:0; background:linear-gradient(180deg,#1A1A1F 0%,#111114 100%); }
html[data-route="/heisman"] .heis-card__back-trophy{ color:var(--red-glow,#FF2D2D); filter:none; }
html[data-route="/heisman"] .heis-card__back-label{
  font:600 16px var(--f-body,"Inter",sans-serif); letter-spacing:0; text-transform:none; color:var(--white-bright,#F5F5F5);
}
/* Empty slot: a clear "+ Tap to pick" target */
html[data-route="/heisman"] .heis-card[data-state="empty"] .heis-card__portrait-ring{
  border:2px dashed rgba(255,255,255,.28);
  background:rgba(255,255,255,.03);
  box-shadow:none;
}
html[data-route="/heisman"] .heis-card__empty-slot-icon{ color:var(--red-glow,#FF2D2D); opacity:1; filter:none; }
html[data-route="/heisman"] .heis-card__empty-slot-text,
html[data-route="/heisman"] .heis-card[data-state="empty"] .heis-card__name{
  font:600 16px/1.2 var(--f-body,"Inter",sans-serif);
  letter-spacing:0;
  text-transform:none;
  background:none;
  -webkit-text-fill-color:currentColor;
  color:var(--white-bright,#F5F5F5);
  filter:none;
  white-space:normal;
}
html[data-route="/heisman"] .heis-card__accent{ width:48px; height:2px; background:var(--team,var(--red-primary,#FF1A1A)); box-shadow:none; }
/* Filled card: the player's name in plain white, school under it. */
html[data-route="/heisman"] .heis-card__name{
  font:700 16px/1.2 var(--f-body,"Inter",sans-serif);
  letter-spacing:0;
  text-transform:none;
  background:none;
  -webkit-text-fill-color:currentColor;
  color:var(--white-bright,#F5F5F5);
  filter:none;
  white-space:normal;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
html[data-route="/heisman"] .heis-card__school{
  width:100%;
  font:500 16px var(--f-body,"Inter",sans-serif);
  letter-spacing:0;
  text-transform:none;
  color:var(--text-muted,#C2C2C2);
  margin-top:4px;
}
html[data-route="/heisman"] .heis-card__school > span{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; }
html[data-route="/heisman"] .heis-card__school::before,
html[data-route="/heisman"] .heis-card__school::after,
html[data-route="/heisman"] .heis-card__footer,
html[data-route="/heisman"] .heis-card__seal-label{ display:none; }
/* Locked pick: a red numeral badge */
html[data-route="/heisman"] .heis-card__seal,
html[data-route="/heisman"] .heis-card[data-state="locked"] .heis-card__seal{
  width:32px; height:32px; top:8px; right:8px;
  background:var(--red-primary,#FF1A1A);
  border:2px solid #0A0A0A;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}
html[data-route="/heisman"] .heis-card__seal-rank{ font:800 16px var(--f-body,"Inter",sans-serif); color:#FFFFFF; }
html[data-route="/heisman"] .heis-card__ribbon{ font:700 16px var(--f-body,"Inter",sans-serif); letter-spacing:0; }

/* Cast button: the site's primary button; a muted grey when not ready. */
html[data-route="/heisman"] .hbc-cast-row{ margin-top:16px; }
html[data-route="/heisman"] .hbc-cast-btn{
  min-width:min(100%,280px);
  min-height:48px;
  padding:12px 28px;
  border-radius:10px;
  background:var(--sns-grad-btn-primary,linear-gradient(180deg,#FF2A2A 0%,#C40000 100%));
  color:#FFFFFF;
  font:700 16px var(--f-body,"Inter",sans-serif);
  letter-spacing:.06em;
  box-shadow:var(--sns-shadow-btn-primary,0 4px 14px rgba(255,26,26,.45));
}
html[data-route="/heisman"] .hbc-cast-btn:disabled{
  opacity:1;
  background:#232328;
  color:#9A9AA2;
  box-shadow:none;
}
html[data-route="/heisman"] .hbc-error-msg,
html[data-route="/heisman"] .hbc-dup-warning{ font:600 16px var(--f-body,"Inter",sans-serif); letter-spacing:0; text-transform:none; }
html[data-route="/heisman"] .hbc-login-gate{
  width:100%;
  margin-top:8px;
  padding:14px 16px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.12);
}
html[data-route="/heisman"] .hbc-login-gate p{ font:16px/1.45 var(--f-body,"Inter",sans-serif); color:var(--text-muted,#C2C2C2); }
html[data-route="/heisman"] .hbc-login-gate a{
  background:var(--sns-grad-btn-primary,linear-gradient(180deg,#FF2A2A 0%,#C40000 100%));
  color:#FFFFFF;
  font:700 16px var(--f-body,"Inter",sans-serif);
  letter-spacing:.04em;
  text-transform:none;
  padding:10px 22px;
}

/* Picker (bottom sheet on phones) */
html[data-route="/heisman"] .hbc-picker{
  background:#141418;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 16px 48px rgba(0,0,0,.7);
}
html[data-route="/heisman"] .hbc-picker-head,
html[data-route="/heisman"] .hbc-chip,
html[data-route="/heisman"] .hbc-result-item,
html[data-route="/heisman"] .hbc-writein-toggle,
html[data-route="/heisman"] .hbc-search,
html[data-route="/heisman"] .hbc-writein-input,
html[data-route="/heisman"] .hbc-ok-btn,
html[data-route="/heisman"] .hbc-picker-err{
  font-family:var(--f-body,"Inter",sans-serif);
  font-size:16px;
  letter-spacing:0;
  text-transform:none;
}
html[data-route="/heisman"] .hbc-chip-school,
html[data-route="/heisman"] .hbc-result-school{ font-size:16px; letter-spacing:0; text-transform:none; color:var(--text-muted,#C2C2C2); }

/* Locked ballot read-out, consensus and share */
html[data-route="/heisman"] .hbc-locked-header,
html[data-route="/heisman"] .hbc-locked-footer,
html[data-route="/heisman"] .hbc-consensus,
html[data-route="/heisman"] .hbc-consensus-row,
html[data-route="/heisman"] .hbc-share-btn,
html[data-route="/heisman"] .hbc-status-title,
html[data-route="/heisman"] .hbc-status-sub,
html[data-route="/heisman"] .hbc-alert{
  font-family:var(--f-body,"Inter",sans-serif);
  font-size:16px;
  letter-spacing:0;
  text-transform:none;
}
html[data-route="/heisman"] .hbc-status-title{ font-weight:700; font-size:18px; color:var(--white-bright,#F5F5F5); }
html[data-route="/heisman"] .hbc-status-panel{ background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.12); }

/* Full names and full stat lines: wrap, never truncate (a stat pair never
   splits across lines). */
html[data-route="/heisman"] .hz-row .hw-name{ white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:break-word; }
html[data-route="/heisman"] .hz-row .hw-stats{ white-space:normal; overflow:visible; text-overflow:clip; line-height:1.4; }
html[data-route="/heisman"] .hz-stat{ white-space:nowrap; }
html[data-route="/heisman"] .hz-row .lr-main{ overflow:visible; }

html[data-route="/heisman"] .hz-ctx{ white-space:nowrap; }
html[data-route="/heisman"] .hbc-picker-head{ font-weight:700; font-size:18px; color:var(--white-bright,#F5F5F5); }
html[data-route="/heisman"] .hbc-chip{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.16); color:var(--white-bright,#F5F5F5); }
html[data-route="/heisman"] .hbc-chip:hover{ border-color:rgba(255,26,26,.6); }
html[data-route="/heisman"] .hbc-chip-school{ font-style:normal; }
html[data-route="/heisman"] .hbc-writein-toggle{ color:var(--red-glow,#FF2D2D); }
html[data-route="/heisman"] .hbc-ok-btn{
  background:var(--sns-grad-btn-primary,linear-gradient(180deg,#FF2A2A 0%,#C40000 100%));
  color:#FFFFFF;
  font-weight:700;
  letter-spacing:.04em;
}
html[data-route="/heisman"] .hbc-ok-btn:disabled{ background:#232328; color:#9A9AA2; }
