/* Canonical v7 color system. app.css owns layout; this file owns visual hierarchy. */
:root,:root[data-theme="dark"]{--canvas:#020f24;--surface-1:#071b34;--surface-2:#0e2947;--surface-3:#173957;--text-primary:#fff;--text-secondary:#b9c7d4;--border:#42627d;--border-strong:#7894aa;--action:#003594;--action-hover:#0b4fc4;--action-text:#ffffff;--tier-label:#ffd84d;--focus:#ffd84d;--shadow:0 8px 24px rgba(0,0,0,.25);--bg:var(--canvas);--surface:var(--surface-1);--text:var(--text-primary);--muted:var(--text-secondary);--line:var(--border)}
:root[data-theme="light"]{--canvas:#e9eef3;--surface-1:#fff;--surface-2:#f0f4f8;--surface-3:#dbe4ed;--text-primary:#0b1f3a;--text-secondary:#43566b;--border:#9eacba;--border-strong:#63768a;--action:#003594;--action-hover:#002b79;--action-text:#ffffff;--tier-label:#6b5200;--focus:#003594;--shadow:0 8px 22px rgba(4,30,66,.12);--bg:var(--canvas);--surface:var(--surface-1);--text:var(--text-primary);--muted:var(--text-secondary);--line:var(--border)}
html,body,#app{background:var(--canvas);color:var(--text-primary)}button,input,select{color:var(--text-primary)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.app-header{background:var(--surface-1);border-bottom:2px solid var(--border-strong)}.brand-lockup b,.header-status b{color:var(--text-primary)!important}.brand-lockup small,.brand-lockup em,.header-status small,.theme-picker{color:var(--text-secondary)}.theme-picker select{background:var(--surface-2);color:var(--text-primary);border-color:var(--border-strong)}.app-header>button:not(.brand-lockup),.setup-banner button,.empty-configure{background:var(--action);color:var(--action-text);border-color:var(--action)}.app-header>button:not(.brand-lockup):hover,.setup-banner button:hover,.empty-configure:hover{background:var(--action-hover)}
.view-nav{background:var(--surface-1);border-bottom:1px solid var(--border-strong)}.view-nav button,.pos-tabs button{background:var(--surface-2);color:var(--text-primary);border-color:var(--border)}.view-nav button:hover,.pos-tabs button:hover{background:var(--surface-3);border-color:var(--border-strong)}.view-nav button.active,.pos-tabs button.active{background:var(--action);color:var(--action-text)!important;border-color:var(--action-hover);box-shadow:0 0 0 2px color-mix(in srgb,var(--action) 24%,transparent)}.setup-banner{background:color-mix(in srgb,var(--action) 15%,var(--surface-2));color:var(--text-primary);border-bottom-color:var(--border-strong)}
.secondary,.settings-page,.live-main{background:var(--canvas)}.browse-intro{background:linear-gradient(135deg,var(--surface-1),var(--surface-3));border-color:var(--border-strong)}.section-heading h1,.section-heading h2,.secondary>h2,.browse-intro h1{color:var(--text-primary)}.section-heading p,.browse-intro p,.empty,.empty-state p{color:var(--text-secondary)}
.player-board,.board-toolbar,.pos-tabs{background:var(--surface-1)}.player-search input{background:var(--surface-2);color:var(--text-primary);border-color:var(--border-strong)}.player-grid.head{background:var(--surface-3);color:var(--text-primary);border-color:var(--border-strong);font-size:.72rem;letter-spacing:.06em}.player-grid.row{color:var(--text-primary);border-bottom-color:var(--border)}.player-grid.row:hover{background:color-mix(in srgb,var(--position-color) 16%,var(--surface-2))}.player-link,.player-link.name b{color:var(--text-primary)}.player-link.name small,.tier small,.mobile-rank-summary,.board-count,.drafted-toggle{color:var(--text-secondary);font-size:.75rem}.badge-row i{color:var(--text-primary);font-style:normal;font-size:.7rem}.queue-btn{background:var(--surface-2);color:var(--text-primary);border-color:var(--border-strong)}.pick-btn,.draft-cta,.rec-card .draft-cta{background:var(--action);color:var(--action-text);border-color:var(--action)}.pick-btn:hover,.draft-cta:hover{background:var(--action-hover)}
.decision-panel{background:var(--canvas);border-color:var(--border-strong)}.rec-card,.also-consider-row,.wait,.context-card{background:var(--surface-1);color:var(--text-primary);border-color:var(--border-strong);box-shadow:var(--shadow)}.rec-label,.consider h3{color:var(--text-primary)}.meta,.market,.also-consider-row small,.view-cue,.wait p{color:var(--text-secondary);font-size:.76rem}.outlook,.detail-ranks span{background:var(--surface-3);color:var(--text-primary)}
.tier-board{gap:16px}.tier-col{border-radius:12px}.tier-col>h3{background:color-mix(in srgb,var(--position-color) 28%,var(--surface-1));color:var(--text-primary);border:1px solid var(--border-strong);border-left:9px solid var(--position-color);box-shadow:var(--shadow);padding:12px 14px}.tier-group{background:var(--surface-1);border-color:var(--border-strong);box-shadow:var(--shadow)}.tier-group>b{background:var(--surface-3);color:var(--tier-label);border-bottom-color:var(--border-strong);font-size:.78rem;letter-spacing:.04em;padding:9px 12px}.tier-group button{background:var(--surface-1);color:var(--text-primary);border-bottom-color:var(--border);padding:11px 12px}.tier-group button:hover{background:color-mix(in srgb,var(--position-color) 14%,var(--surface-2))}.tier-group button span{font-weight:750}.tier-group button small{color:var(--text-secondary);font-size:.72rem;margin-top:3px}
.settings-page fieldset,.owner-order label,.form-grid input,.form-grid select,.owner-order input{border-color:var(--border-strong)}.settings-page fieldset{background:var(--surface-1);box-shadow:var(--shadow)}.settings-page legend{color:var(--text-primary)}.form-grid label,.fieldset-help{color:var(--text-secondary);font-size:.78rem}.form-grid input,.form-grid select,.owner-order input{background:var(--surface-2);color:var(--text-primary);font-size:.88rem}.owner-order label{background:var(--surface-2)}.settings-skip{background:var(--surface-2);color:var(--text-primary);border-color:var(--border-strong)}.settings-actions button{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong)}.settings-actions .start{background:var(--action);color:var(--action-text);border-color:var(--action)}
.team-card,.draft-board-team,.draft-board-pick,.round-label,.draft-board-corner,.roster-slots>div,.roster-analysis>div,.history-row,.queue-row,.team-player-row{background:var(--surface-1);color:var(--text-primary);border-color:var(--border-strong);box-shadow:var(--shadow)}.team-card small,.team-card span,.team-card em,.history-row small,.queue-row small,.team-player-row small,.roster-slots small,.roster-analysis span{color:var(--text-secondary);font-size:.75rem}.roster-slots span{color:var(--tier-label)}
.detail-drawer,.team-roster-drawer,.draft-controls-panel,.export-panel,.compare-modal,.search-modal,.path-modal{background:var(--surface-1);color:var(--text-primary);border-color:var(--border-strong)}.detail-sticky-head{background:var(--surface-1)}.detail-outlook,.season-card,.compare-card,.control-list>button,.export-list>button{background:var(--surface-2);color:var(--text-primary);border-color:var(--border-strong)}.season-card h4,.label-list b{color:var(--tier-label)}.season-card span,.season-card small,.label-list p,.context-card span,.control-list small,.export-list span{color:var(--text-secondary);font-size:.75rem}
@media(max-width:560px){.player-grid.row{background:linear-gradient(100deg,color-mix(in srgb,var(--position-color) 22%,var(--surface-1)) 0,var(--surface-1) 62%)}.player-link.name small,.mobile-rank-summary{font-size:.72rem}}
@media print{html,body,#app{background:#fff;color:#000}}
