/* NHL shares the Waiver Wars typography, palette and header styles. */
.nhl-shell{max-width:1320px;margin:auto;padding:28px 32px 80px;min-width:0}.nhl-shell *{box-sizing:border-box}.nhl-hero{padding:32px 0 24px;max-width:1020px}.nhl-hero h1{font-family:var(--font-display);font-size:clamp(48px,6.6vw,88px);font-weight:400;line-height:.94;letter-spacing:.01em;text-transform:uppercase;margin:12px 0 20px}.nhl-hero>p:last-child{font-size:17px;color:var(--text-soft);max-width:750px;line-height:1.5}.nhl-hero .eyebrow{color:var(--teal-ink)}html[data-theme="dark"] .nhl-hero .eyebrow{color:var(--teal-bright)}.nhl-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto}.nhl-tabs a{padding:16px 22px;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.055em;font-weight:900;border-bottom:3px solid transparent}.nhl-tabs a[aria-current]{border-color:var(--teal);color:var(--violet);background:var(--bg-soft)}.nhl-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.nhl-panel,.nhl-settings,.nhl-verdict{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:20px 0;background:var(--bg-elevated)}.nhl-two>.nhl-panel{margin:12px 0}.nhl-two>.nhl-panel:first-child{border-top:3px solid var(--teal)}.nhl-two>.nhl-panel:last-child{border-top:3px solid var(--violet)}.nhl-panel h2,.nhl-verdict h2{font-family:var(--font-display);text-transform:uppercase;font-weight:400;font-size:32px;line-height:1.05;margin:0 0 16px}.nhl-panel h3,.nhl-verdict h3,.nhl-settings h3{font-size:18px;margin:22px 0 12px}.nhl-panel p,.nhl-settings p,.nhl-verdict p{line-height:1.6}.nhl-settings summary,.nhl-panel summary{cursor:pointer;font-weight:800;font-size:16px;min-height:26px}.nhl-settings summary span{font-weight:500;color:var(--text-soft);font-size:13px;margin-left:14px}.nhl-settings-inner{padding-top:20px}.nhl-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:14px;margin:18px 0}.nhl-shell label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650}.nhl-shell input,.nhl-shell select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--bg);color:var(--text);font:inherit}.nhl-shell input[type=checkbox]{accent-color:var(--violet)}.nhl-search-inputs{display:grid;grid-template-columns:minmax(0,1fr) 130px 165px;gap:12px}.nhl-search-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.nhl-search-head h2{margin:0}.nhl-player,.nhl-picks li{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:13px 0;min-width:0}.nhl-player-name,.nhl-picks li>span{flex:1;min-width:0}.nhl-player small,.nhl-picks small,.nhl-value small{display:block;color:var(--text-soft);font-size:12px;margin-top:5px}.nhl-player strong{font-size:14px}.nhl-player-name strong,.nhl-picks strong{overflow-wrap:anywhere}.nhl-value{text-align:right;white-space:nowrap;font-weight:800;font-variant-numeric:tabular-nums}.nhl-small-button,.nhl-picks button{border:1px solid var(--line);background:var(--bg-soft);color:var(--text);border-radius:var(--radius);min-width:44px;min-height:44px;padding:8px 12px;cursor:pointer;font:inherit;font-size:13px;font-weight:750}.nhl-small-button:hover,.nhl-small-button[aria-pressed=true]{border-color:var(--violet);color:var(--violet)}.nhl-small-button:disabled{opacity:.45;cursor:default}.nhl-picks,.nhl-recent,.nhl-lineup{list-style:none;margin:0;padding:0}.nhl-empty,.nhl-muted,.nhl-source{color:var(--text-soft);font-size:13px;line-height:1.7}.nhl-source{margin-top:30px}.nhl-source a,.nhl-guide a{text-decoration:underline;text-underline-offset:3px}.nhl-verdict{border:2px solid var(--violet);scroll-margin-top:110px;background:linear-gradient(110deg,var(--violet-soft),var(--bg-elevated) 55%)}.nhl-verdict>h2{font-size:clamp(32px,4.4vw,56px)}.nhl-metrics{display:flex;flex-wrap:wrap;gap:24px 40px;margin:24px 0;border-block:1px solid var(--line);padding:20px 0}.nhl-metrics small,.nhl-metrics strong{display:block}.nhl-metrics strong{font-family:var(--font-display);font-size:40px;margin-top:6px;color:var(--violet)}.nhl-drop{flex-direction:row!important;align-items:center;margin:8px 0;min-height:44px;cursor:pointer}.nhl-drop input{width:20px;min-height:20px;flex:none}.nhl-news-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.nhl-news-grid article{padding:18px 0;border-top:1px solid var(--line)}.nhl-news-grid h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:29px;line-height:1.1}.nhl-news-grid a:hover{text-decoration:underline}.nhl-feature-grid a:hover{background:var(--bg-soft)}.nhl-feature-grid h2{font-size:clamp(32px,4vw,50px)}.nhl-site :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--violet);outline-offset:4px}#nhl-notice:empty{display:none}#nhl-notice{padding:12px;border-left:3px solid var(--violet);background:var(--bg-soft);font-size:14px}.nhl-shell .button{margin:4px 8px 4px 0;min-height:44px}.nhl-site .site-footer{margin-top:30px}.nhl-category-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 16px;border:1px solid var(--line);padding:12px 18px}.nhl-category-options legend{font-weight:700;padding:0 8px}.nhl-table-wrap{max-width:100%;overflow-x:auto;margin:20px 0}.nhl-stat-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;font-variant-numeric:tabular-nums}.nhl-stat-table caption{text-align:left;font-size:16px;font-weight:800;padding:0 0 12px}.nhl-stat-table th,.nhl-stat-table td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.nhl-stat-table thead{background:var(--bg-soft);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.nhl-positive{color:#13714d}.nhl-negative{color:#b82355}html[data-theme=dark] .nhl-positive{color:#7ee2b4}html[data-theme=dark] .nhl-negative{color:#ff8db5}.nhl-draft-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.nhl-draft-layout .nhl-panel:first-child{margin-top:0}.nhl-turn{border-top:3px solid var(--violet);background:linear-gradient(110deg,var(--violet-soft),var(--bg-elevated) 60%)}.nhl-turn h2{font-size:clamp(30px,4vw,50px)}.nhl-actions,.nhl-player-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.nhl-player-actions{flex-wrap:nowrap}.nhl-recommend{border-left:3px solid var(--teal)}.nhl-recommend h2{font-size:27px;margin-bottom:8px}.nhl-lineup li{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.nhl-lineup b{width:35px;flex:none;color:var(--violet);font-size:11px}.nhl-lineup span{overflow-wrap:anywhere}.nhl-own-pick{background:var(--violet-soft)}.nhl-statline{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;color:var(--text-soft);margin-top:10px}.nhl-statline b{color:var(--text);font-weight:600}.nhl-board-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.nhl-board-help p{flex:1;min-width:180px}.nhl-guide{background:var(--bg-soft)}.nhl-guide .nhl-two{gap:32px}.nhl-guide p{font-size:14px}#nhl-more{margin-top:18px}
@media(max-width:1000px){.nhl-draft-layout{grid-template-columns:minmax(0,1fr) 260px}.nhl-search-inputs{grid-template-columns:minmax(0,1fr) 1fr}.nhl-search-inputs label:first-child{grid-column:1/-1}.nhl-draft-layout .nhl-player{flex-wrap:wrap}.nhl-draft-layout .nhl-player-name{flex-basis:65%}.nhl-draft-layout .nhl-player-actions{margin-left:auto}}
@media(max-width:700px){.nhl-shell{padding:12px 16px 60px}.nhl-two,.nhl-news-grid,.nhl-draft-layout{grid-template-columns:minmax(0,1fr);gap:0}.nhl-panel,.nhl-settings,.nhl-verdict{padding:18px}.nhl-search-inputs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nhl-search-head{align-items:start}.nhl-search-head label{max-width:48%}.nhl-player{gap:8px;flex-wrap:wrap}.nhl-player-name{flex-basis:55%}.nhl-value{font-size:13px}.nhl-player-actions{margin-left:auto}.nhl-tabs a{padding:14px 12px;font-size:11px}.nhl-hero{padding-top:20px}.nhl-hero h1{font-size:48px}.nhl-picks strong{font-size:14px}.nhl-settings summary span{display:block;margin:8px 0 0}.nhl-table-wrap{margin-inline:-8px;max-width:calc(100% + 16px)}.nhl-stat-table th,.nhl-stat-table td{padding:10px}.nhl-draft-layout aside{display:grid;grid-template-columns:minmax(0,1fr)}.nhl-guide .nhl-two{gap:0}}

/* Match the current NFL masthead and its shared home.css palette overrides. */
.nhl-hero{max-width:none;padding:30px 32px;border:1px solid var(--line);background:linear-gradient(110deg,var(--bg-elevated),var(--violet-soft));margin:12px 0 20px}.nhl-hero h1{font-weight:900;max-width:950px;letter-spacing:-.025em}.nhl-panel h2,.nhl-verdict h2,.nhl-news-grid h3{font-weight:800}.nhl-hero .eyebrow,html[data-theme=dark] .nhl-hero .eyebrow{color:var(--coral,#f04488)}.nhl-tabs a[aria-current]{border-color:var(--coral,#f04488)}.nhl-two>.nhl-panel:first-child{border-top-color:var(--coral,#f04488)}
@media(max-width:700px){.nhl-hero{padding:24px 18px}.nhl-hero h1{font-size:42px}}

.nhl-news-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:14px}
.nhl-player-identity{display:flex!important;align-items:center;gap:12px;min-width:0;flex:1}.nhl-player-copy{display:block;min-width:0;flex:1}.nhl-player-copy strong{display:block;white-space:normal;overflow-wrap:anywhere}.nhl-avatar{display:block;position:relative;flex:0 0 52px;width:52px;height:52px;border-radius:12px;overflow:hidden;background:var(--violet-soft);color:var(--violet)}.nhl-avatar>span{display:grid;place-items:center;height:100%;font-size:17px;font-weight:900}.nhl-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%;background:var(--bg-soft)}.nhl-lineup .nhl-player-copy{width:auto}.nhl-lineup .nhl-avatar{flex-basis:38px;width:38px;height:38px}.nhl-recommend-player{display:flex;align-items:center;gap:14px}.nhl-recommend-player .nhl-avatar{width:76px;height:76px;flex-basis:76px}.nhl-recommend-player h2{margin:0}.nhl-feature-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin-bottom:18px}.nhl-player-name{min-width:0}.nhl-picks .nhl-player-copy{min-width:0}.nhl-lineup .nhl-player-copy strong{font-size:13px}.nhl-lineup .nhl-player-copy small{font-size:10px}
@media(max-width:700px){.nhl-player-identity{gap:9px}.nhl-avatar{width:44px;height:44px;flex-basis:44px}.nhl-player-name{flex-basis:65%}}
/* Draft pace controls and a visible selection history. */
.nhl-draft-timing{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.nhl-draft-timing label{display:grid;gap:.4rem;font-size:.85rem;font-weight:700}
.nhl-draft-timing select{max-width:100%;padding:.6rem;border:1px solid var(--line);border-radius:8px;background:var(--bg-elevated);color:inherit;font:inherit}
.nhl-clock{min-width:130px;display:grid;gap:.2rem;margin-right:auto}
.nhl-clock span{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.nhl-clock strong{font-size:2rem;font-variant-numeric:tabular-nums;line-height:1.2}
.nhl-recent-picks ol{display:flex;gap:.75rem;list-style:none;padding:0;overflow-x:auto}
.nhl-recent-picks li{display:flex;gap:.6rem;min-width:160px;flex:1;padding:.75rem;border:1px solid var(--line);border-radius:8px}
.nhl-recent-picks li>span{display:grid;gap:.2rem}
.nhl-recent-picks small{font-size:.75rem;opacity:.75}
.nhl-recent-picks li>b{font-variant-numeric:tabular-nums}
.nhl-player-actions button:disabled,.nhl-recommend button:disabled,.nhl-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:560px){.nhl-draft-timing{gap:.75rem}.nhl-clock{flex-basis:100%}.nhl-draft-timing label{flex:1;min-width:135px}}

/* NHL role and deployment */
.nhl-role-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.nhl-role-badges span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--violet-soft);color:var(--text);font-size:10px;font-weight:800;letter-spacing:.03em}
.nhl-role-card{width:100%;margin-top:9px;border-top:1px solid var(--line);padding-top:8px}
.nhl-role-card summary{cursor:pointer;color:var(--text-soft);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.nhl-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:12px 0 6px}
.nhl-role-grid div{min-width:0}.nhl-role-grid small,.nhl-role-grid strong{display:block}
.nhl-role-grid small{font-size:9px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}
.nhl-role-grid strong{font-size:12px;margin-top:2px;overflow-wrap:anywhere}
.nhl-role-updated{display:block;color:var(--text-soft);font-size:9px;padding-bottom:4px}
@media(max-width:700px){.nhl-role-grid{grid-template-columns:minmax(0,1fr)}}

/* NHL trade analyzer parity */
.nhl-team-manager{border-top:3px solid var(--coral,#f04488)}
.nhl-team-manager-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.nhl-team-controls{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:12px;margin:18px 0}
.nhl-team-controls label{display:grid;gap:6px;font-size:12px;font-weight:800}
.nhl-team-controls :is(input,select){min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg-elevated);color:var(--text)}
.nhl-verdict-quip{font-size:18px;font-weight:800}
.nhl-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.nhl-grade-grid>div{padding:16px;border:1px solid var(--line);background:var(--bg-soft);border-radius:10px}
.nhl-grade-grid small,.nhl-grade-grid strong{display:block}.nhl-grade-grid strong{font-size:28px;margin-top:4px}
.nhl-written-review,.nhl-deployment-impact{margin:20px 0;padding:18px;border-left:3px solid var(--teal);background:var(--bg-soft)}
.nhl-written-review h3,.nhl-deployment-impact h3{margin-top:0}
@media(max-width:700px){.nhl-team-manager-head{display:block}.nhl-team-manager-head .button{margin-top:12px}.nhl-team-controls,.nhl-grade-grid{grid-template-columns:minmax(0,1fr)}}

/* Mobile-first NHL trade analyzer */
.nhl-mobile-steps{display:none}
@media(max-width:700px){
  body.nhl-site{overflow-x:hidden}
  .nhl-shell{padding:8px 10px 56px}
  .nhl-shell .nhl-panel,.nhl-shell .nhl-settings,.nhl-shell .nhl-verdict{margin:10px 0;padding:14px;border-radius:12px}
  .nhl-mobile-steps{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 -10px 10px;padding:8px 10px;background:var(--bg);border-bottom:1px solid var(--line)}
  .nhl-mobile-steps a{display:grid;place-items:center;min-height:38px;padding:6px 3px;border:1px solid var(--line);border-radius:8px;background:var(--bg-elevated);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
  #nhl-my-team,#nhl-build-trade,#nhl-player-search,#nhl-analysis{scroll-margin-top:64px}
  .nhl-team-manager-head h2,.nhl-panel h2{font-size:25px}
  .nhl-team-manager-head p{margin-bottom:8px}
  .nhl-team-controls{gap:8px;margin:12px 0}
  .nhl-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .nhl-actions .nhl-small-button{width:100%;min-width:0;padding:9px 6px}
  .nhl-two>.nhl-panel{margin:6px 0}
  #nhl-build-trade>.nhl-panel{border-top-width:2px}
  .nhl-picks li{padding:9px 0;gap:8px}
  .nhl-picks .nhl-avatar{width:38px;height:38px;flex-basis:38px}
  .nhl-picks .nhl-player-copy small{font-size:10px}
  .nhl-search-head{display:block;margin-bottom:12px}
  .nhl-search-head label{max-width:none;margin-top:8px}
  .nhl-search-inputs{grid-template-columns:1fr 1fr;gap:8px}
  .nhl-search-inputs label:first-child{grid-column:1/-1}
  .nhl-player{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 8px;padding:10px 0}
  .nhl-player-name{grid-column:1/-1;display:block}
  .nhl-player .nhl-player-identity{align-items:center}
  .nhl-player .nhl-avatar{width:42px;height:42px;flex-basis:42px}
  .nhl-value{grid-column:1;text-align:left;padding-left:51px}
  .nhl-player-actions{grid-column:2;grid-row:2;margin:0}
  .nhl-player-actions .nhl-small-button{min-height:38px;min-width:52px}
  .nhl-role-badges{margin-left:51px}
  .nhl-role-card{margin-left:51px;width:calc(100% - 51px)}
  .nhl-settings summary{font-size:14px}
  .nhl-settings-inner{padding-top:12px}
  .nhl-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
  .nhl-grade-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .nhl-grade-grid>div{padding:10px 7px}
  .nhl-grade-grid small{font-size:9px}
  .nhl-grade-grid strong{font-size:20px}
  .nhl-written-review,.nhl-deployment-impact{margin:12px 0;padding:12px}
  .nhl-verdict>h2{font-size:34px}
  .nhl-verdict-quip{font-size:15px}
  .nhl-table-wrap{margin:12px -14px;max-width:calc(100% + 28px)}
  .nhl-stat-table{font-size:11px}
  .nhl-stat-table th,.nhl-stat-table td{padding:9px 8px}
  .nhl-source{font-size:10px;line-height:1.5}
}
@media(max-width:390px){
  .nhl-actions{grid-template-columns:minmax(0,1fr)}
  .nhl-grade-grid{grid-template-columns:minmax(0,1fr)}
  .nhl-mobile-steps a{font-size:9px}
}

/* Inline trade construction: player selection belongs inside each trade side. */
.nhl-trade-side .nhl-picks{margin-bottom:12px}
.nhl-inline-search{border-top:1px solid var(--line);padding-top:12px}
.nhl-inline-search label>span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}
.nhl-inline-search input{margin-top:6px}
.nhl-inline-results{display:grid;gap:6px;margin-top:8px}
.nhl-inline-player{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--bg-soft);color:var(--text);text-align:left;cursor:pointer}
.nhl-inline-player:hover{border-color:var(--violet)}
.nhl-inline-player .nhl-avatar{width:36px;height:36px;flex-basis:36px;border-radius:8px}
.nhl-inline-player>span:nth-child(2){min-width:0;flex:1}
.nhl-inline-player strong,.nhl-inline-player small{display:block}
.nhl-inline-player strong{font-size:13px}.nhl-inline-player small{font-size:10px;color:var(--text-soft);margin-top:2px}
.nhl-inline-player>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--violet-soft);font-size:18px}
@media(max-width:700px){
  .nhl-mobile-steps{grid-template-columns:repeat(3,1fr)}
  .nhl-trade-side{padding:14px!important}
  .nhl-trade-side h2{margin-bottom:10px}
  .nhl-inline-search{margin-top:6px}
  .nhl-inline-player{min-height:52px}
}

/* Screenshot roster review */
.nhl-import-review{margin:16px 0;padding:16px;border:1px solid var(--violet);border-radius:12px;background:var(--bg-soft)}
.nhl-import-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.nhl-import-review-head h3{margin:2px 0 4px;font-size:22px}
.nhl-import-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.nhl-import-player{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--bg-elevated);cursor:pointer}
.nhl-import-player input{width:18px!important;min-height:18px!important;flex:none}
.nhl-import-player .nhl-avatar{width:38px;height:38px;flex-basis:38px}
.nhl-import-player>span:last-child{min-width:0}.nhl-import-player strong,.nhl-import-player small{display:block}.nhl-import-player small{color:var(--text-soft);font-size:10px;margin-top:2px}
.nhl-import-unmatched{margin:12px 0;padding:12px;border-left:3px solid var(--coral,#f04488);background:var(--bg-elevated)}
.nhl-import-unmatched p{margin:5px 0}
@media(max-width:700px){.nhl-import-review{padding:12px}.nhl-import-review-list{grid-template-columns:minmax(0,1fr)}.nhl-import-review-head h3{font-size:19px}}

/* Deployment hierarchy: visible anywhere a player is searched or selected. */
.nhl-chip-player{display:block;min-width:0;flex:1}
.nhl-role-badges .nhl-role-line-1,.nhl-role-badges .nhl-role-pp-1{border-color:#37d67a;background:rgba(55,214,122,.14);color:#37d67a}
.nhl-role-badges .nhl-role-line-2,.nhl-role-badges .nhl-role-pp-2{border-color:#2697ff;background:rgba(38,151,255,.14);color:#2697ff}
.nhl-role-badges .nhl-role-line-3{border-color:#f2c94c;background:rgba(242,201,76,.14);color:#f2c94c}
.nhl-role-badges .nhl-role-line-4{border-color:#ff8a34;background:rgba(255,138,52,.14);color:#ff8a34}
.nhl-inline-player .nhl-role-badges{margin:5px 0 0}
.nhl-inline-player .nhl-role-badges span{min-height:20px;padding:2px 6px;font-size:9px}
.nhl-picks .nhl-chip-player>.nhl-role-badges{margin:5px 0 0 50px}
@media(max-width:700px){.nhl-picks .nhl-chip-player>.nhl-role-badges{margin-left:47px}}

/* NHL mobile visual hierarchy: color communicates action and trade direction. */
html[data-sport=nhl] .nhl-team-manager{border-top-color:#20c7ff}
html[data-sport=nhl] #nhl-build-trade>.nhl-trade-side:first-child{border-top-color:#ff416c;background:linear-gradient(180deg,rgba(255,65,108,.07),var(--bg-elevated) 90px)}
html[data-sport=nhl] #nhl-build-trade>.nhl-trade-side:last-child{border-top-color:#20c7ff;background:linear-gradient(180deg,rgba(32,199,255,.08),var(--bg-elevated) 90px)}
html[data-sport=nhl] #nhl-build-trade>.nhl-trade-side:first-child .eyebrow{color:#ff6686!important}
html[data-sport=nhl] #nhl-build-trade>.nhl-trade-side:last-child .eyebrow{color:#58e6ff!important}
html[data-sport=nhl] .nhl-inline-search input:focus{border-color:#20c7ff;box-shadow:0 0 0 3px rgba(32,199,255,.12);outline:0}
html[data-sport=nhl] .nhl-inline-player{background:#102a3e}
html[data-sport=nhl] .nhl-inline-player:hover{background:#153b54;border-color:#20c7ff}
html[data-sport=nhl] .nhl-positive{color:#b8f23d}
html[data-sport=nhl] .nhl-negative{color:#ff6686}
html[data-sport=nhl] .nhl-verdict{border-color:#20c7ff;background:linear-gradient(145deg,rgba(32,199,255,.13),var(--bg-elevated) 58%)}
html[data-sport=nhl] .nhl-grade-grid>div{background:#102a3e;border-color:#28506a}
html[data-sport=nhl] .nhl-written-review,html[data-sport=nhl] .nhl-deployment-impact{border-left-color:#20c7ff}
html[data-sport=nhl] .nhl-mobile-steps a{border-color:#28506a;background:#0e2233}
html[data-sport=nhl] .nhl-mobile-steps a:active{background:#153b54;border-color:#20c7ff}
html[data-sport=nhl] .nhl-import-review{border-color:#20c7ff;background:#0c2739}
@media(max-width:700px){
 html[data-sport=nhl] .nhl-shell{padding-left:8px;padding-right:8px}
 html[data-sport=nhl] .nhl-panel,html[data-sport=nhl] .nhl-settings,html[data-sport=nhl] .nhl-verdict{box-shadow:0 6px 20px rgba(0,0,0,.14)}
 html[data-sport=nhl] .nhl-mobile-steps{background:rgba(7,19,31,.96);backdrop-filter:blur(12px)}
 html[data-sport=nhl] .nhl-mobile-steps a{min-height:42px;font-size:10px}
 html[data-sport=nhl] .nhl-trade-side{border-width:1px;border-top-width:4px}
 html[data-sport=nhl] .nhl-inline-search input{min-height:50px;font-size:16px}
 html[data-sport=nhl] .nhl-inline-player{padding:10px;min-height:60px}
 html[data-sport=nhl] .nhl-inline-player .nhl-avatar{width:42px;height:42px;flex-basis:42px}
 html[data-sport=nhl] .nhl-small-button{min-height:46px}
 html[data-sport=nhl] #nhl-analyze{position:static;display:block;width:100%;min-height:54px;margin:14px 0 8px;box-shadow:none;font-size:15px;font-weight:900}
}

/* Injury/status badges */
.nhl-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 6px;margin-left:5px;border-radius:6px;font-size:9px;font-weight:900;line-height:1;vertical-align:middle;border:1px solid transparent}
.nhl-status-dtd{color:#ffb454;background:rgba(255,138,52,.14);border-color:#ff8a34}
.nhl-status-questionable{color:#f2c94c;background:rgba(242,201,76,.14);border-color:#f2c94c}
.nhl-status-doubtful{color:#ff8a34;background:rgba(255,138,52,.16);border-color:#ff8a34}
.nhl-status-out,.nhl-status-ir{color:#ff7692;background:rgba(255,65,108,.14);border-color:#ff416c}

/* Inline roster editor */
.nhl-roster-editor{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft)}
.nhl-roster-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.nhl-roster-editor-head h3{margin:0}
.nhl-roster-editor-current{display:grid;gap:6px;margin:12px 0}
.nhl-roster-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--bg-elevated)}
.nhl-roster-editor-row>.nhl-role-badges{grid-column:1;margin:2px 0 0 50px}
.nhl-roster-search{margin-top:12px}
.nhl-roster-search-results{display:grid;gap:6px;margin-top:8px}
@media(max-width:700px){
  .nhl-roster-editor{padding:10px}
  .nhl-roster-editor-row>.nhl-role-badges{margin-left:47px}
  .nhl-roster-search input{min-height:50px;font-size:16px}
}

/* My Team roster slot layout */
.nhl-my-team-slots{margin:14px 0 4px;border-top:1px solid var(--line);padding-top:12px}
.nhl-my-team-slots>summary{font-weight:900}
.nhl-roster-slots{display:grid;gap:6px;margin-top:10px}
.nhl-roster-slot{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:var(--bg-elevated)}
.nhl-roster-slot-label{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--line-strong);border-radius:10px;font-size:11px;font-weight:900;color:var(--teal-bright);background:var(--bg-soft)}
.nhl-roster-slot-player{min-width:0}.nhl-roster-slot-player>.nhl-role-badges{margin:4px 0 0 50px}
.nhl-roster-slot.is-empty{opacity:.68}.nhl-roster-slot.is-empty .nhl-roster-slot-label{color:var(--text-soft)}
.nhl-roster-slot.is-extra{border-style:dashed}
.nhl-roster-slot .nhl-small-button{min-width:42px;min-height:42px}
@media(max-width:700px){
  .nhl-roster-slot{grid-template-columns:38px minmax(0,1fr) auto;padding:6px}
  .nhl-roster-slot-label{min-width:34px;width:34px;height:34px;font-size:10px}
  .nhl-roster-slot .nhl-avatar{width:40px;height:40px;flex-basis:40px}
  .nhl-roster-slot-player>.nhl-role-badges{margin-left:49px}
}

/* Keep inline trade search text legible on iOS while rerendering results. */
.nhl-inline-search input[type=search]{
  color:var(--text)!important;
  -webkit-text-fill-color:var(--text)!important;
  caret-color:var(--violet-bright);
  opacity:1!important;
  -webkit-appearance:none;
  appearance:none;
}
.nhl-inline-search input[type=search]::placeholder{
  color:var(--text-soft)!important;
  -webkit-text-fill-color:var(--text-soft)!important;
  opacity:.9;
}
