/* Shared Five-Star Fantasy hierarchy and selection treatments. */
:root{--fsf-surface:#0b1d33;--fsf-surface-raised:#122c46;--fsf-text:#f4f7fb;--fsf-secondary:#aab8c8;--fsf-accent:#e8bd55;--fsf-border:rgba(170,190,213,.2)}
body{color:var(--fsf-text)}
.player-cell strong,.asset-player-copy strong,.trade-name strong,.matchup-player,.faced-player>strong,.team-identity h2{color:var(--fsf-text)}
.player-cell small,.asset-player-copy small,.trade-name small,.dialog-team,.data-note,.trade-empty,.trade-method,.trade-result p,.summary-stat small,.team-identity p{color:var(--fsf-secondary)}
.rating-cell strong,.dialog-rating strong,.chef-grade strong{color:var(--fsf-accent)}
.unfilled-stars,.empty-stars{color:#536276}
.ranking-panel,.trade-panel,.trade-result,.matchup-panel,.defense-panel,.insight-card{background:var(--fsf-surface);border-color:var(--fsf-border)}
/* Selected controls use the same navy fill and inset gold underline. */
:is(.format-tab,.position-tab,.trade-formats button,.position-switch button,.scoring-switch button,.analyzer-format-button,.format-button,.analyzer-position-sort button){transition:background-color .15s,color .15s,box-shadow .15s}
.format-tab,.position-tab,.trade-formats button,.position-switch button,.scoring-switch button{color:var(--fsf-secondary);background:#0c2035;border-color:transparent}
:is(.format-tab.active,.position-tab.active,.trade-formats button.selected,.position-switch button.active,.scoring-switch button.active,.analyzer-format-button.active,.format-button.active,.analyzer-position-sort button.active){color:#fff!important;background:#1b3d5d!important;border-color:#45637e!important;box-shadow:inset 0 -3px var(--fsf-accent)!important}
:is(.format-tab,.position-tab,.trade-formats button,.position-switch button,.scoring-switch button):hover{color:#fff;background:#17334e}
:is(.format-tab,.position-tab,.trade-formats button,.position-switch button,.scoring-switch button):focus-visible{outline:2px solid var(--fsf-accent);outline-offset:3px}
.main-nav a.active{color:#fff;background:#17334e;box-shadow:inset 0 -2px var(--fsf-accent)}
@media(prefers-reduced-motion:reduce){.format-tab,.position-tab,.trade-formats button,.position-switch button,.scoring-switch button{transition:none}}
/* One position palette across filters, ranking badges and analyzer rooms. */
:is(.position-tab.qb,.position-pill.qb,.position-badge.qb,.room-tile.qb,[data-position="QB"],[data-sort-position="QB"]){--position-accent:#f06a6a;--position-fill:#8e2032}
:is(.position-tab.rb,.position-pill.rb,.position-badge.rb,.room-tile.rb,[data-position="RB"],[data-sort-position="RB"]){--position-accent:#58c892;--position-fill:#16764c}
:is(.position-tab.wr,.position-pill.wr,.position-badge.wr,.room-tile.wr,[data-position="WR"],[data-sort-position="WR"]){--position-accent:#58a8ef;--position-fill:#176ba5}
:is(.position-tab.te,.position-pill.te,.position-badge.te,.room-tile.te,[data-position="TE"],[data-sort-position="TE"]){--position-accent:#e8a45c;--position-fill:#a45a18}
 :is(.position-tab.qb,.position-tab.rb,.position-tab.wr,.position-tab.te,.position-switch [data-position],.analyzer-position-sort [data-sort-position]:not([data-sort-position="OVERALL"])){color:var(--position-accent)!important;background:color-mix(in srgb,var(--position-accent) 12%,#0b1d33)!important;border:1px solid color-mix(in srgb,var(--position-accent) 40%,#20364e)!important;box-shadow:none!important}
:is(.position-tab.qb,.position-tab.rb,.position-tab.wr,.position-tab.te,.position-switch [data-position],.analyzer-position-sort [data-sort-position]:not([data-sort-position="OVERALL"])):is(.active,:hover){color:#fff!important;background:var(--position-fill)!important;border-color:var(--position-accent)!important;box-shadow:inset 0 -3px var(--position-accent)!important}
:is(.position-pill,.position-badge,.room-tile):is(.qb,.rb,.wr,.te){color:#fff!important;background:var(--position-fill)!important;border-color:var(--position-accent)!important}
:is(.position-tab,.position-switch [data-position],.analyzer-position-sort [data-sort-position]):focus-visible{outline-color:var(--position-accent,var(--fsf-accent))}
.room-tile.sort-selected:is(.qb,.rb,.wr,.te){outline-color:var(--position-accent)}
