/* Hockey owns its palette through this document-level sport boundary. */
html[data-sport="nhl"]{
  --hk-canvas:#071b22;--hk-panel:#0e303a;--hk-panel-raised:#18434d;
  --hk-accent:#65d8e5;--hk-accent-hover:#a1eff5;--hk-ink:#102e37;
  --hk-paper:#fffaf2;--hk-paper-hover:#e3f4f1;--hk-text:#f3fcfc;
  --hk-muted:#bad7da;--hk-rule:#5d929a;--hk-rule-paper:#94b7b8;--hk-muted-ink:#3e646b;
  --paper:var(--hk-paper);--paper-dark:var(--hk-paper-hover);--sheet:var(--hk-paper);
  --ink:var(--hk-ink);--green:var(--hk-panel);--forest:var(--hk-panel-raised);
  --muted:var(--hk-muted-ink);--line:var(--hk-rule-paper);--orange:var(--hk-accent);
  --mint:var(--hk-paper);--white:var(--hk-text);--red:var(--hk-muted-ink);
  --rule:var(--hk-rule);--navy:var(--hk-ink);--field-line:var(--hk-paper);
  --club-canvas:var(--hk-canvas);--club-steel:var(--hk-panel-raised);--club-edge:var(--hk-rule);
  --club-paper:var(--hk-paper);--club-muted:var(--hk-muted);--club-gold:var(--hk-accent);
  --club-well:var(--hk-canvas);--paper-rule:var(--hk-rule-paper);--focus-teal:var(--hk-ink);--input-paper:var(--hk-paper);
  scrollbar-color:var(--hk-rule-paper) var(--hk-canvas)
}
html[data-sport="nhl"] body{background-color:var(--hk-canvas);background-image:linear-gradient(#071b22c8,#071b22ef 750px),url('/assets/venues/hockey-arena-sunburst-v1.webp');color:var(--hk-text);caret-color:var(--hk-ink);scrollbar-color:var(--hk-rule-paper) var(--hk-canvas)}
html[data-sport="nhl"] ::selection{background:var(--hk-paper-hover);color:var(--hk-ink)}
html[data-sport="nhl"] :focus-visible{outline-color:var(--hk-accent-hover)}
html[data-sport="nhl"] :is(input,textarea){caret-color:var(--hk-ink)}
html[data-sport="nhl"] :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--hk-ink)}

/* Shared navigation, account disclosure and ordinary controls. */
html[data-sport="nhl"] :is(.site-header,.site-footer){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.wordmark,.footer-brand,.header-user-name,.header-account .subtle,.header-account .text-button,.main-nav a,.main-nav button,.header-clubhouse){color:var(--hk-text)}
html[data-sport="nhl"] :is(.wordmark-sub,.site-footer>p,.site-header .nav-unavailable,.site-header .nav-unavailable>small){color:var(--hk-muted)}
html[data-sport="nhl"] .site-header .main-nav{border-color:var(--hk-rule)}
html[data-sport="nhl"] .site-header .main-nav :is(a:hover,a.active,button:hover,a[aria-current="page"]){color:var(--hk-accent-hover)}
html[data-sport="nhl"] .main-nav a.active::after{background:var(--hk-accent)}
html[data-sport="nhl"] .site-header .header-account-trigger{background:transparent;color:var(--hk-text)}
html[data-sport="nhl"] .site-header .header-account-trigger:is(:hover,[aria-expanded="true"]){background:var(--hk-paper-hover);color:var(--hk-ink)}
html[data-sport="nhl"] .site-header .header-account-panel{background:var(--hk-paper);color:var(--hk-ink)}
html[data-sport="nhl"] .site-header .header-account-panel>:is(a,button){background:transparent;color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] .site-header .header-account-panel>:is(a:hover,button:hover:not(:disabled),a:focus-visible,button:focus-visible){background:var(--hk-paper-hover);color:var(--hk-ink);outline-color:var(--hk-ink)}
html[data-sport="nhl"] .site-header .header-account-panel>button:disabled{color:var(--hk-muted-ink)}
html[data-sport="nhl"] .site-header .header-account-error{color:var(--hk-ink)}
html[data-sport="nhl"] .sport-header .sport-switcher>a{background:var(--hk-panel-raised);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] .sport-header .sport-switcher>a:hover{background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .sport-header .sport-switcher>a.active{background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-accent)}
html[data-sport="nhl"] .sport-header .sport-switcher>a.active:hover{background:var(--hk-accent-hover);border-color:var(--hk-accent-hover)}
html[data-sport="nhl"] .sport-header .sport-switcher>a.global-nav-link{background:transparent;border-color:transparent;color:var(--hk-text)}
html[data-sport="nhl"] .sport-header .sport-switcher>a.global-nav-link:hover{color:var(--hk-accent-hover)}
html[data-sport="nhl"] .sport-header>.header-clubhouse:is(:hover,.active){color:var(--hk-accent-hover)}
html[data-sport="nhl"] :is(.mobile-menu-button,.page-top-button){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.mobile-menu-button:hover,.page-top-button:hover,.page-top-button:active){background:var(--hk-panel-raised);color:var(--hk-text)}
html[data-sport="nhl"] :is(.button-dark,.button-orange,.ticket-action,.ticket-action:hover,.slot-choice,.social-button.orange,.draft-format-action,.ballpark-hero-actions .button-dark,.page-heading .button-dark,.saved-draft-card .saved-draft-action){background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-accent)}
html[data-sport="nhl"] :is(.button-dark:hover:not(:disabled),.button-orange:hover:not(:disabled),.header-account .button-dark:hover:not(:disabled),.slot-choice:hover,.social-button.orange:hover,.draft-format-action:not(:disabled):hover,.saved-draft-card .saved-draft-action:hover,.ballpark-hero-actions .button-dark:hover,.page-heading .button-dark:hover){background:var(--hk-accent-hover);color:var(--hk-ink);border-color:var(--hk-accent-hover)}
html[data-sport="nhl"] :is(.button-outline,.reroll-button,.player-pick,.social-button.outline,.google-signin){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.button-outline:hover:not(:disabled),.reroll-button:hover,.player-pick:hover,.social-button.outline:hover,.google-signin:hover){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.button-outline-light,.page-heading .button-outline,.draft-head .button-outline,.social-heading .social-button.outline,.achievements-heading .button-outline){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.button-outline-light:hover:not(:disabled),.page-heading .button-outline:hover,.draft-head .button-outline:hover,.social-heading .social-button.outline:is(:hover,:focus-visible),.achievements-heading .button-outline:hover){background:var(--hk-panel-raised);color:var(--hk-text);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.badge,.badge-cpu,.badge-green,.badge-orange,.count-chip,.entry-pill,.entry-pill.complete,.avatar){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.badge-dark,.avatar-dark){background:var(--hk-panel-raised);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] .text-orange{color:var(--hk-muted-ink)}
html[data-sport="nhl"] :is(.form-field input,.form-field select,.player-search,.player-filter,.board-field input,.board-field select,.social-field input,.social-field select,.social-field textarea,.discussion-form textarea){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.form-field input,.player-search,.social-field input,.social-field textarea)::placeholder{color:var(--hk-muted-ink)}
html[data-sport="nhl"] :is(.form-field input:focus,.form-field select:focus,.player-search:focus,.player-filter:focus){border-color:var(--hk-ink);outline-color:var(--hk-ink)}
html[data-sport="nhl"] :is(.form-error,.toast.error,.social-notice.error,.board-error){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.modal,.modal-close,.toast){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .modal::backdrop{background:color-mix(in srgb,var(--hk-canvas) 75%,transparent)}

/* Home, formats and pool setup retain their structure and natural artwork. */
html[data-sport="nhl"] .ballpark-hero{background:var(--hk-panel);border-color:var(--hk-rule)}
html[data-sport="nhl"] .ballpark-hero::before{background:linear-gradient(90deg,color-mix(in srgb,var(--hk-panel) 96%,transparent),color-mix(in srgb,var(--hk-panel) 84%,transparent) 42%,color-mix(in srgb,var(--hk-panel) 34%,transparent) 76%,transparent)}
html[data-sport="nhl"] :is(.ballpark-hero h1,.ballpark-formats h2,.ballpark-competition h2,.ballpark-closing h2,.page-heading h1,.draft-head h1,.social-heading h1,.saved-drafts-heading h2){color:var(--hk-text)}
html[data-sport="nhl"] :is(.ballpark-hero-copy>p,.ballpark-hero-copy .ballpark-hero-lead,.ballpark-hero-copy .ballpark-hero-note,.ballpark-resume,.page-heading p,.draft-mode,.back-link,.page-loading,.page-shell>.subtle,.social-heading p){color:var(--hk-muted)}
html[data-sport="nhl"] .ballpark-hero-actions .button-outline{background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .ballpark-stats{background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .ballpark-stats span{color:var(--hk-ink)}
html[data-sport="nhl"] :is(.ballpark-how,.panel,.league-rules,.ballpark-tournament,.ballpark-coverage,.player-panel,.roster-panel,.board-paper,.social-sheet,.profile-card,.saved-draft-card){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.ballpark-how h2,.ballpark-step h3,.ballpark-step-mark span,.ballpark-step-mark svg,.ballpark-step p,.ballpark-how-note){color:var(--hk-ink)}
html[data-sport="nhl"] :is(.ballpark-step+.ballpark-step,.how-grid .how-step+.how-step,.resume-link,.tournament-invitation){border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] .heritage-masthead::before,html[data-sport="nhl"] .heritage-masthead::after{border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.ballpark-format,.format-ticket,.ticket-blue,.ticket-gold,.draft-format-card,.draft-format-year,.draft-format-franchise,.draft-format-daily,.world-series-draft){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.ballpark-format.is-time,.ballpark-machine,.ballpark-league){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.ballpark-format.is-year,.ballpark-format.is-daily){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.site-header,.ballpark-hero,.ballpark-closing,.result-scoreboard,.draft-head) :is(.button-dark,.button-orange):hover:not(:disabled){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-paper);box-shadow:0 4px 0 var(--hk-accent)}html[data-sport="nhl"] :is(.ballpark-format.is-time:hover,.ballpark-format.is-year:hover,.ballpark-format.is-daily:hover,.draft-format-daily .draft-format-action:not(:disabled):active,.draft-format-year .draft-format-action:active){background:var(--hk-accent-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.draft-format-copy>p,.draft-format-year .draft-format-copy>p,.draft-format-daily .draft-format-copy>p,.draft-format-clock,.world-series-draft p,.ticket-scorebook,.ballpark-format-arrow,.ballpark-format-number,.world-series-cup){color:var(--hk-ink)}
html[data-sport="nhl"] :is(.draft-format-eras>span,.draft-format-club,.ballpark-format-years>span,.ballpark-format-year>span,.ballpark-franchise,.bracket-seed,.ballpark-bracket-seeds span){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.draft-format-flaps>span,.ballpark-machine-year>span,.ballpark-machine-player){background:var(--hk-panel-raised);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] .ballpark-machine-year>span::after,html[data-sport="nhl"] .ballpark-format-year>span::after{background:var(--hk-panel-raised);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.ticket-scorebook,.ticket-scorebook span){border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] .format-ticket::before,html[data-sport="nhl"] .ticket-gold::before{border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] .draft-format-flaps>span::after{background:var(--hk-rule)}
html[data-sport="nhl"] :is(.ballpark-machine-heading,.ballpark-machine-heading span,.ballpark-machine-player strong){color:var(--hk-accent-hover)}
html[data-sport="nhl"] :is(.ballpark-machine-caption,.home-scoreboard-caption){color:var(--hk-muted)}
html[data-sport="nhl"] :is(.ballpark-competition,.ballpark-franchise button,.ballpark-coverage button,.ballpark-customize span){color:var(--hk-text)}
html[data-sport="nhl"] .ballpark-league::after{background:linear-gradient(90deg,transparent 20%,color-mix(in srgb,var(--hk-panel) 91%,transparent) 56%,var(--hk-panel))}
html[data-sport="nhl"] :is(.ballpark-franchise button,.ballpark-coverage button){border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.draft-format-daily.is-unavailable,.draft-format-daily .draft-format-action:disabled){background:var(--hk-panel-raised);color:var(--hk-muted);border-color:var(--hk-rule)}
html[data-sport="nhl"] .draft-format-daily{--daily-ring:var(--hk-accent);--daily-shine:#ffffff}
html[data-sport="nhl"] .draft-format-daily.is-unavailable :is(.draft-format-copy>p,.draft-format-art){color:var(--hk-muted)}
html[data-sport="nhl"] :is(.home-scoreboard,.home-scoreboard-year,.home-scoreboard-players){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.home-scoreboard-title,.home-scoreboard-pick){background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .home-scoreboard-pick:hover{background:var(--hk-accent-hover);color:var(--hk-ink)}
html[data-sport="nhl"] :is(.setup-section+.setup-section,.setup-submit-row,.competition-past-round+.competition-past-round,.competition-detail-grid .resolved-rosters>details+details){border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.setup-section legend,.pool-fixed-field,.host-setup-form .form-hint,.pool-fields .form-hint,.host-setup-form .form-check,.setup-explanation,.setup-submit-row p){color:var(--hk-ink)}
html[data-sport="nhl"] :is(.setup-section-note,.pool-settings-summary,.result-pool-summary){color:var(--hk-muted-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.pool-preview,.pool-preview[data-state="unavailable"],.pool-preview[data-state="pending"]){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.competition-page>.pool-settings-summary,.draft-head .pool-settings-summary){color:var(--hk-muted);border-color:var(--hk-rule)}

/* Draft rooms and the Daily rail use cyan team and roster headings. */
html[data-sport="nhl"] .draft-main{background:var(--hk-panel-raised)}
html[data-sport="nhl"] :is(.team-reveal,.daily-current-team,.roster-header){background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.team-reveal h2,.team-reveal p,.team-reveal .eyebrow,.team-reveal .team-pick-count,.team-seal,.daily-current-team h2,.daily-current-team p,.roster-header h2){color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .team-season{color:color-mix(in srgb,var(--hk-ink) 22%,transparent)}
html[data-sport="nhl"] :is(.draft-decision-strip,.player-panel .player-toolbar,.player-columns,.draft-context,.pick-tray){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.draft-decision-strip .reroll-button,.player-panel .player-pick,.player-panel .player-inline-choices .slot-choice){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .player-panel .player-position-group{--position-paper:var(--hk-paper-hover);background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.player-panel .player-position-heading,.player-position-group .player-position-heading,.player-panel .player-position-count){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.player-row,.player-panel .player-row,.roster-slot){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.player-row:hover,.player-panel .player-row:hover,.player-panel .player-position-group .player-row:not(.selected):focus-within){background:var(--hk-paper-hover);color:var(--hk-ink)}
html[data-sport="nhl"] :is(.player-row.selected,.player-panel .player-row.selected){background:var(--hk-paper-hover);color:var(--hk-ink)}
html[data-sport="nhl"] :is(.player-row.selected .player-pick,.player-panel .player-row.selected .player-pick,.player-panel .player-pick:hover,.player-panel .player-inline-choices .slot-choice:hover){background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.player-name,.player-panel .player-name,.player-stats>span,.player-panel .player-stats>span,.player-rating,.player-rating.rating-mid,.player-rating.rating-low,.slot-player,.slot-id,.filled .slot-id){color:var(--hk-ink)}
html[data-sport="nhl"] :is(.player-meta,.player-panel .player-meta,.player-stats small,.player-panel .player-stats small,.slot-empty,.slot-year,.roster-group-label){color:var(--hk-muted-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.progress-track,.rating-bar,.roster-progress span){background:var(--hk-paper-hover)}
html[data-sport="nhl"] :is(.progress-track>span,.rating-bar>span,.roster-progress span.filled){background:var(--hk-accent)}
html[data-sport="nhl"] :is(.draft-page .draft-progress-text,.draft-page .draft-progress-text>span:last-child,.draft-bottom p){color:var(--hk-muted)}
html[data-sport="nhl"] :is(.daily-pick-clock,.daily-clock-panel){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.daily-pick-clock-label,.daily-clock-foot p,.daily-pick-clock.is-expired .daily-pick-clock-time){color:var(--hk-muted)}
html[data-sport="nhl"] :is(.daily-pick-clock-time,.daily-clock-foot .daily-pick-clock-status){color:var(--hk-text)}
html[data-sport="nhl"] :is(.daily-pick-clock.is-urgent .daily-pick-clock-time,.daily-pick-clock.has-connection-error .daily-pick-clock-status){color:var(--hk-accent-hover)}
html[data-sport="nhl"] :is(.daily-position-tools .reroll-button,.daily-roster-button){background:var(--hk-panel-raised);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.daily-position-tools .reroll-button:hover,.daily-roster-button:hover){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.daily-position-tools .reroll-button .count-chip,.daily-pick-clock-retry){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .daily-pick-clock-retry:hover{background:var(--hk-paper-hover)}
html[data-sport="nhl"] :is(.daily-lobby-heading h1,.daily-lobby-heading p){color:var(--hk-text)}
html[data-sport="nhl"] .daily-lobby-date>span{color:var(--hk-ink)}
html[data-sport="nhl"] :is(.daily-lobby-reset,.daily-lobby-reset time){color:var(--hk-muted-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.daily-lobby-board,.daily-lobby-card,.daily-lobby-clock,.daily-lobby-notes,.daily-admin-testing){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.daily-lobby-date,.daily-lobby-clock>strong){background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.daily-lobby-main>p,.daily-lobby-main .daily-lobby-state,.daily-lobby-clock h3,.daily-lobby-notes h2,.daily-lobby-notes a,.daily-admin-testing h3,.daily-admin-testing p,.daily-attempt-list strong){color:var(--hk-ink)}
html[data-sport="nhl"] :is(.daily-attempt-list,.daily-attempt-list li){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.daily-attempt-list li>div>span,.daily-attempt-waiting){color:var(--hk-muted-ink)}
html[data-sport="nhl"] :is(.daily-attempt-list a,.daily-lobby-actions .button-outline){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.daily-attempt-list a:is(:hover,:focus-visible),.daily-lobby-actions .button-outline:hover){background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-rule)}

/* Results, ranked boards and completed public rosters. */
html[data-sport="nhl"] :is(.result-scoreboard,.invite-box,.countdown-box){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-accent)}
html[data-sport="nhl"] .nhl-result{border:1px solid var(--hk-rule)}
html[data-sport="nhl"] .nhl-result .result-scoreboard-heading{background:transparent;color:var(--hk-paper);border:0}
html[data-sport="nhl"] .nhl-result .result-scoreboard-heading h1{color:var(--hk-paper)}
html[data-sport="nhl"] .nhl-result .result-record dd{color:var(--hk-paper);text-shadow:none}
html[data-sport="nhl"] :is(.result-record dt,.result-format,.result-estimate p,.result-summary,.result-competition-note,.invite-box p,.countdown-box p,.countdown-box .eyebrow){color:var(--hk-muted)}
html[data-sport="nhl"] :is(.result-player-fact,.result-awards,.result-scouting,.result-award,.achievement-identity,.achievement-row,.achievement-row.is-earned){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.result-rating strong,.match-score,.result-player-fact-heading h2,.result-player-fact-source a,.result-awards-heading h2,.result-award h3,.achievement-copy h3,.achievement-copy h4){color:var(--hk-ink)}
html[data-sport="nhl"] :is(.result-player-fact-heading p,.result-player-fact-source>span,.result-awards-heading p,.result-award p,.result-award-kind,.result-model-note,.rating-row small,.achievement-copy p,.achievement-meta,.achievement-row-progress){color:var(--hk-muted-ink)}
html[data-sport="nhl"] :is(.result-award-new,.champion-banner,.champion-banner .champion-art,.champion-banner .badge-cpu,.champion-label){background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.achievement-collection-head,.achievement-shelf-heading h2,.achievement-shelf-heading h3,.achievements-heading h1,.boards-heading h1){color:var(--hk-text)}
html[data-sport="nhl"] :is(.achievement-collection-head p,.achievement-shelf-heading span,.achievement-shelf-heading small,.achievements-heading p,.achievement-empty,.boards-heading>p){color:var(--hk-muted)}
html[data-sport="nhl"] .board-modes a{background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule);box-shadow:inset 0 -3px transparent}
html[data-sport="nhl"] .board-modes a.selected{background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-accent);box-shadow:inset 0 -3px var(--hk-ink)}
html[data-sport="nhl"] .board-modes a:is(:hover,:focus-visible){background:var(--hk-accent-hover);color:var(--hk-ink);border-color:var(--hk-accent-hover);box-shadow:inset 0 -3px var(--hk-ink)}
html[data-sport="nhl"] .board-modes a:active{background:var(--hk-accent);color:var(--hk-ink)}
html[data-sport="nhl"] :is(.board-modes a,.sport-switcher>a):focus-visible{outline:3px solid var(--hk-paper);outline-offset:3px}
html[data-sport="nhl"] .sport-header .sport-switcher>a:not(.global-nav-link){transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out}
html[data-sport="nhl"] .board-modes a{transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}
html[data-sport="nhl"] .board-modes a::after{display:none}
@media(prefers-reduced-motion:reduce){html[data-sport="nhl"] :is(.board-modes a,.sport-header .sport-switcher>a){transition:none}}
html[data-sport="nhl"] :is(.board-heading p,.board-empty p,.board-rules,.board-rules summary,.board-updated,.board-entry-note,.public-roster-summary p,.public-roster-note,.public-roster-table tbody th span,.public-roster-table .public-roster-slot){color:var(--hk-muted-ink)}
html[data-sport="nhl"] :is(.board-rules,.public-roster-note){color:var(--hk-muted);border-color:var(--hk-rule)}
html[data-sport="nhl"] .board-rules summary{color:var(--hk-text)}
html[data-sport="nhl"] :is(.board-count,.board-table tbody tr:nth-child(even),.public-roster-table tbody tr:nth-child(even),.public-roster-group){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.board-table thead,.public-roster-table thead){background:var(--hk-accent);color:var(--hk-ink)}
html[data-sport="nhl"] :is(.board-table thead span,.board-table thead .board-updated){color:var(--hk-ink)}
html[data-sport="nhl"] :is(.board-table th,.board-table td,.public-roster-table th,.public-roster-table td){border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.board-table tbody tr.board-you,.board-you-label,.board-own,.board-own-franchise){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.board-roster-link,.public-roster-summary>a){background:transparent;color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .public-roster-back{background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.board-roster-link:is(:hover,:focus-visible),.public-roster-back:is(:hover,:focus-visible)){background:var(--hk-paper-hover);color:var(--hk-ink)}
html[data-sport="nhl"] .board-guest-label{background:var(--hk-paper-hover);color:var(--hk-muted-ink);border-color:var(--hk-rule-paper)}
/* The pool or franchise line under a leaderboard name is plain text, never a tinted strip. */
html[data-sport="nhl"] .board-franchise{color:var(--hk-muted-ink)}
html[data-sport="nhl"] :is(.data-table th,.data-table td,.public-roster-group,.board-rules){border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] .data-table thead{background:var(--hk-paper-hover);color:var(--hk-ink)}
html[data-sport="nhl"] .data-table tbody tr:nth-child(even){background:var(--hk-paper-hover)}

/* Community, account history and competition support share the paper roles. */
html[data-sport="nhl"] :is(.social-nav a,.social-heading .social-button.outline,.saved-drafts-completed summary,.saved-drafts-empty,.saved-drafts-message){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.social-nav a:hover,.social-nav a:focus-visible,.social-nav a[aria-current],.social-nav .request-count,.saved-drafts-completed summary:hover){background:var(--hk-accent);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .social-nav a[aria-current]{box-shadow:inset 0 -3px var(--hk-ink)}
html[data-sport="nhl"] :is(.social-button,.social-button.danger){background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.social-button:hover,.social-button:focus-visible,.social-button.danger:hover){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.social-note,.social-notice,.friend-status,.social-confirm[open],.friends-tabs a:hover){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] .friends-tabs a[aria-current]{background:var(--hk-accent);color:var(--hk-ink)}
html[data-sport="nhl"] :is(.social-muted,.social-empty p,.social-field small,.social-pager p,.friend-copy p,.social-confirm,.social-confirm p,.profile-facts,.profile-bio,.profile-stats dt,.profile-stat-note,.profile-awards p,.profile-detail dt,.profile-share,.social-check small,.profile-competition-privacy,.profile-competition-group>h3>span,.profile-competition-meta,.profile-competition-team,.profile-competition-result>p,.profile-competition-empty p,.profile-competition-feedback,.saved-draft-card-heading>p,.saved-draft-updated,.saved-draft-card .saved-draft-unavailable){color:var(--hk-muted-ink)}
html[data-sport="nhl"] :is(.profile-share button,.profile-competition-team strong,.profile-competition-result .competition-champion,.profile-competition-feedback.error){color:var(--hk-ink)}
html[data-sport="nhl"] :is(.friends-tabs,.friend-row,.profile-stats>div,.profile-detail>div,.profile-competition-row,.profile-competition-group+.profile-competition-group,.discussion-comment,.discussion-form){border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.player-avatar,.player-avatar[data-accent]){--accent:var(--hk-accent);--avatar-ink:var(--hk-ink)}
html[data-sport="nhl"] :is(.profile-card,.profile-card[data-accent]){--profile-accent:var(--hk-accent)}
html[data-sport="nhl"] .profile-cover{background:var(--hk-panel-raised);border-color:var(--hk-accent)}
html[data-sport="nhl"] .nhl-profile-cover{background-image:linear-gradient(90deg,color-mix(in srgb,var(--hk-panel) 90%,transparent),color-mix(in srgb,var(--hk-panel) 32%,transparent)),url('/assets/hub/sport-hockey-v1.webp')}
html[data-sport="nhl"] .profile-cover .cover-mark{color:var(--hk-text)}
html[data-sport="nhl"] :is(.profile-competition-jumps a,.social-confirm summary){color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] .profile-competition-jumps a:is(:hover,:focus-visible){background:var(--hk-paper-hover);color:var(--hk-ink)}
html[data-sport="nhl"] :is(.saved-drafts-group-heading h3,.saved-drafts-completed summary h3){color:var(--hk-text)}
html[data-sport="nhl"] :is(.saved-drafts-group-heading>span,.saved-drafts-completed summary h3>span,.saved-drafts-estimate,.saved-drafts-empty p){color:var(--hk-muted)}
html[data-sport="nhl"] .saved-draft-status progress{background:var(--hk-paper-hover);color:var(--hk-accent)}
html[data-sport="nhl"] .saved-draft-status progress::-webkit-progress-bar{background:var(--hk-paper-hover)}
html[data-sport="nhl"] .saved-draft-status progress::-webkit-progress-value{background:var(--hk-accent)}
html[data-sport="nhl"] .saved-draft-status progress::-moz-progress-bar{background:var(--hk-accent)}
html[data-sport="nhl"] :is(.league-card:hover,.lobby-entry,.bracket-game,.bracket-team,.lobby-entry.empty,.panel .lobby-entry.empty,.competition-rosters){background:var(--hk-paper);color:var(--hk-ink);border-color:var(--hk-rule-paper)}
html[data-sport="nhl"] :is(.bracket-team.winner,.competition-detail-grid details[open]>summary,.competition-detail-grid summary:hover){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.league-card-icon,.round-history-title,.panel .bracket-round h3,.disclosure-count){color:var(--hk-ink)}
html[data-sport="nhl"] .competition-detail-grid summary::marker{color:var(--hk-ink)}
html[data-sport="nhl"] :is(.bracket-round h3,.account-closure .subtle){color:var(--hk-muted)}
html[data-sport="nhl"] .account-closure{background:var(--hk-panel);color:var(--hk-text);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.account-closure .button-outline,.account-closure .account-close-button:is(:hover,:focus-visible):not(:disabled)){background:var(--hk-paper-hover);color:var(--hk-ink);border-color:var(--hk-rule)}
html[data-sport="nhl"] :is(.panel,.social-sheet,.profile-card,.public-roster-group) a:not(.button):not(.social-button):not(.draft-format-action){color:var(--hk-ink)}

/* Focus follows the surface, with dark outlines on warm white panels. */
html[data-sport="nhl"] :is(.site-header,.site-footer,.page-heading,.draft-head,.daily-pick-clock,.result-scoreboard,.social-nav) :focus-visible{outline-color:var(--hk-accent-hover)}
html[data-sport="nhl"] :is(.panel,.player-panel,.roster-panel,.board-paper,.board-error,.social-sheet,.profile-card,.modal,.daily-lobby-board) :focus-visible{outline-color:var(--hk-ink)}
html[data-sport="nhl"] :is(.site-header .header-account-panel,.player-panel .player-inline-choices,.public-roster-group,.daily-attempt-list) :focus-visible{outline-color:var(--hk-ink)}
html[data-sport="nhl"] :is(.home-scoreboard-pick,.draft-format-action,.draft-format-year .draft-format-action,.draft-format-daily .draft-format-action,.player-panel .player-pick,.player-panel .player-inline-choices .slot-choice,.competition-detail-grid summary):focus-visible{outline-color:var(--hk-ink)}

/* Bounded corrections from the first desktop and phone inspection. */
html[data-sport="nhl"] .ballpark-hero h1 .hero-topic{display:block;font:400 17px/1.5 var(--body);white-space:normal;margin-top:12px}
html[data-sport="nhl"] .ballpark-customize a{color:var(--hk-accent-hover)}
html[data-sport="nhl"] .ballpark-competition{background:var(--hk-panel)}
html[data-sport="nhl"] .nhl-result :is(.result-format,.result-estimate .badge-dark){background:transparent;color:var(--hk-paper);border:0;padding:0;font-weight:600;box-shadow:none}

/* Shared season controls inherit the active sport, including popup and scroll states. */
html[data-sport="nhl"]{--season-paper:var(--hk-paper);--season-paper-hover:var(--hk-paper-hover);--season-ink:var(--hk-ink);--season-muted-ink:var(--hk-muted-ink);--season-rule:var(--hk-rule);--season-accent:var(--hk-accent);--season-shadow:color-mix(in srgb,var(--hk-canvas) 22%,transparent);}
html[data-sport="nhl"] .board-tiebreak{color:var(--hk-muted-ink);border-color:var(--hk-rule-paper)}
