/* Shared restraint around Hockey HQ's existing portraits, diagonal bars and
   fighting/neon artwork. Display artwork and the two theme palettes stay intact. */
:root{--hq-rule:color-mix(in srgb,var(--ink) 15%,transparent);--hq-quiet:color-mix(in srgb,var(--ink) 4%,var(--hq-surface));--hq-positive:var(--green);--hq-negative:var(--red);--text:var(--ink);--panel:var(--hq-surface)}
body{line-height:1.5}
.app-shell .topbar,.optimizer-topbar{box-shadow:none!important;border-bottom:1px solid var(--hq-rule)!important;gap:24px;padding-top:12px;padding-bottom:12px}
.main-nav button,.optimizer-nav a{font-family:var(--body-font,Arial,sans-serif)!important;font-size:13px!important;font-weight:650!important;text-transform:none;letter-spacing:0}
.main-nav .nav-menu-v60{border:1px solid var(--hq-rule);box-shadow:0 10px 30px var(--hq-shadow);padding:8px}
.main-nav .nav-menu-v60 button{padding:11px 14px;min-height:42px}
.main-nav button.active{border-color:var(--yellow)}
.league-tools{gap:12px}
.league-tools select{font-family:var(--body-font,Arial,sans-serif);font-size:12px;border-color:var(--hq-rule);box-shadow:none}
.save-status{font-size:11px}
.hq-sync-panel{background:var(--hq-surface);color:var(--ink);border:0;border-bottom:1px solid var(--hq-rule);border-radius:0;max-width:1400px;margin:0 auto;padding:16px 28px}
.hq-sync-copy strong{font-family:var(--body-font,Arial,sans-serif);font-size:13px;font-weight:700}
.hq-sync-copy p,.hq-sync-status,.hq-sync-note,.hq-sync-details{font-size:12px;color:var(--muted)}
.hq-sync-button{background:var(--yellow);color:#080909;border-radius:4px;padding:10px 20px;min-height:42px;min-width:84px;font:700 13px var(--body-font,Arial,sans-serif)}
.hq-sync-panel input,.hq-sync-panel select{background:var(--hq-control);color:var(--ink);border:1px solid var(--hq-rule)}
.hq-sync-error{color:var(--red)}.hq-sync-install{color:var(--blue)}
.hq-sync-details summary{max-width:fit-content;min-height:24px}.hq-sync-details{margin-top:8px}
.hq-sync-connect button{background:var(--hq-quiet);border-color:var(--hq-rule);color:var(--ink)}
:is(.league-home,.v60-page,.teams-page,.weekly-page,.settings-page,.picks-page,.keepers-page,.comparison-page,.availability-page,.projection-lab-page,.draft-plan-page){color:var(--ink);padding-left:28px;padding-right:28px}
.teams-page,.weekly-page{max-width:1400px;margin:30px auto 64px}
:is(.page-heading,.v60-page-heading,.league-home-heading,.waiver-heading,.hq-page-intro){margin-bottom:24px;gap:24px}
:is(.page-heading,.v60-page-heading,.league-home-heading) h1{font-size:clamp(40px,4vw,66px)!important;line-height:1.05!important}
:is(.page-heading,.v60-page-heading,.league-home-heading) p{font-size:13px;max-width:720px;color:var(--muted)}
:is(.auth-card,.league-home-card,.drafting-banner,.draft-controls-card,.draft-assistant,.player-focus,.board-card,.keeper-card,.manual-pick-card-v60,.plan-quick-add-v60,.keeper-entry-v60,.panel,.lab-panel,.backtest-section,.settings-card,.picks-card,.comparison-card-v60,.availability-card-v60){box-shadow:none!important;border-color:var(--hq-rule)!important}
.league-home-card.active{background:var(--hq-surface)!important;border-color:var(--yellow)!important}
.weekly-page{--weekly-line:var(--hq-rule);--weekly-panel:var(--hq-surface);--weekly-soft:var(--hq-quiet);--weekly-accent:var(--yellow);font-family:var(--body-font,Arial,sans-serif)}
html[data-theme=light] .weekly-page{--weekly-accent:#705e00;--weekly-line:var(--hq-rule);--weekly-soft:var(--hq-quiet)}
.weekly-page .waiver-heading h1{font-size:clamp(40px,4vw,62px);line-height:1.05;letter-spacing:-.025em}
.weekly-page .waiver-heading p{font-size:13px;max-width:680px}
.weekly-page .weekly-eyebrow{font-family:var(--body-font,Arial,sans-serif);letter-spacing:1px;font-size:10px}
.weekly-page :is(.weekly-toolbar,.weekly-controls) input,.weekly-page :is(.weekly-toolbar,.weekly-controls) select{border-color:var(--hq-rule);border-radius:4px;min-height:42px}
.weekly-page .weekly-button{border-radius:4px;min-height:42px;font-family:var(--body-font,Arial,sans-serif)}
.weekly-page .pickup-card{border-radius:4px;box-shadow:none;padding:24px;background:var(--hq-surface)}
.weekly-page .pickup-card h3{font:700 22px/1.25 var(--body-font,Arial,sans-serif);letter-spacing:-.5px}
.weekly-page .pickup-card-top{border-bottom:1px solid var(--hq-rule);padding-bottom:12px;margin-bottom:16px}
.weekly-page .pickup-number{font-size:14px}.weekly-page .pickup-lift{font-size:12px}
.weekly-page .pickup-categories span{border-radius:3px;padding:4px 7px;background:var(--hq-quiet)}
.weekly-page .weekly-settings{border-color:var(--hq-rule);padding:16px 0;border-radius:0;background:transparent}
.weekly-page .weekly-settings summary{font:600 12px var(--body-font,Arial,sans-serif);min-height:28px;color:var(--muted)}
.weekly-page .weekly-settings p{font-size:12px;max-width:840px}
.weekly-page .decision-focus{background:transparent;border:0;border-left:3px solid var(--yellow);border-radius:0;padding:8px 14px}
.weekly-page .matchup-summary{border:0;border-top:1px solid var(--hq-rule);border-bottom:1px solid var(--hq-rule);background:transparent;border-radius:0;padding:24px 0}
.weekly-page .matchup-category-wrap{border-radius:4px;border-color:var(--hq-rule)}
.hq-matchup-results{background:var(--hq-surface);border:1px solid var(--hq-rule);border-radius:4px;color:var(--ink)}
.hq-last-result{color:var(--muted)}
.teams-page .teams-scroll{border-radius:4px;border-color:var(--hq-rule)}
.teams-page th,.teams-page td{border-color:var(--hq-rule);font-variant-numeric:tabular-nums;color:var(--ink)}
.teams-page th{background:var(--hq-quiet);font-family:var(--body-font,Arial,sans-serif);font-size:11px}
.teams-page .teams-sort{font-family:var(--body-font,Arial,sans-serif);font-size:11px}
.teams-page .teams-roster select{background:var(--hq-control);border-color:var(--hq-rule);border-radius:4px;color:var(--ink)}
.teams-page .teams-caption,.teams-page .actuals-controls{font-size:12px;color:var(--muted)}
.teams-page .teams-warning{color:var(--red)}
.hq-page-intro{display:flex;align-items:center;justify-content:space-between;position:relative;isolation:isolate;min-height:104px;padding-right:120px;border-bottom:1px solid var(--hq-rule);padding-bottom:24px}
.hq-page-intro::after{content:"";position:absolute;right:14px;top:7px;width:70px;height:70px;transform:skewX(-25deg);background:linear-gradient(90deg,var(--hq-stripe-1) 0 28%,transparent 28% 35%,var(--hq-stripe-2) 35% 63%,transparent 63% 70%,var(--hq-stripe-3) 70% 98%,transparent 98%);pointer-events:none;z-index:-1}
.hq-page-intro h1{font-size:clamp(42px,4vw,64px);line-height:1.04;margin:0 0 8px;color:var(--ink)}
.hq-page-intro p{font:13px/1.6 var(--body-font,Arial,sans-serif);margin:0;color:var(--muted)}
.hq-actuals-name{display:flex;align-items:center;gap:12px;min-width:220px;text-align:left}
.hq-actuals-photo{display:block;position:relative;width:42px;height:44px;flex:0 0 42px;overflow:hidden}
.hq-actuals-photo img{height:125%;width:125%;max-width:none;object-fit:contain;position:absolute;bottom:-8%;left:-12%;background:transparent}
.hq-actuals-name>span:last-child{font-size:13px}
.hq-actuals-method{border-top:1px solid var(--hq-rule);padding-top:16px;font-size:12px;color:var(--muted);max-width:900px}
.hq-actuals-method summary{min-height:30px;font:600 12px var(--body-font,Arial,sans-serif)}
:is(button,input,select,summary,a):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:1000px){.app-shell .topbar{gap:16px}.main-nav button{font-size:12px!important}.hq-sync-panel{padding:14px 22px}}
@media(max-width:760px){:is(.league-home,.v60-page,.teams-page,.weekly-page,.settings-page,.picks-page,.keepers-page,.comparison-page,.availability-page,.projection-lab-page,.draft-plan-page){padding-left:18px;padding-right:18px}.teams-page,.weekly-page{margin-top:24px}.hq-sync-panel{margin:0;padding:14px 18px}.hq-page-intro{padding-right:84px}.hq-page-intro::after{right:8px;width:52px;height:64px}.hq-page-intro h1{font-size:42px}.weekly-page .waiver-heading h1{font-size:40px}.app-shell .topbar{padding:12px 18px}.main-nav .nav-menu-v60{box-shadow:none}.main-nav button{font-size:14px!important}.weekly-page .pickup-card{padding:20px}.hq-actuals-name{min-width:190px}}
@media(prefers-reduced-motion:reduce){body{transition:none}}
/* The portrait card keeps large values while reserving real space for its
   target-pick control, including when a wide fallback font is in use. */
.the-list-page-v60 .list-hero-metrics-v60{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;min-width:0}
.the-list-page-v60 .list-hero-metrics-v60>span{flex-direction:column!important;align-items:flex-start!important;gap:7px!important}
.the-list-page-v60 .list-hero-metrics-v60 strong{font-size:clamp(20px,3.1vw,50px)!important}
.the-list-page-v60 .list-hero-metrics-v60 small{font-size:12px!important;font-style:normal;letter-spacing:.04em}
@media(max-width:960px){
 .the-list-page-v60 .list-tools-v60{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .the-list-page-v60 .list-tools-v60>input{grid-column:1/-1}
 .the-list-page-v60 .list-tools-v60>:is(select,button){min-width:0;width:100%}
}
/* Readable labels on the existing mobile portrait card, including the wide
   system-font fallback used on computers without Steelfish. */
@media(max-width:760px){
 .the-list-page-v60 .list-hero-metrics-v60{grid-template-columns:max-content max-content minmax(0,1fr)!important;gap:6px!important}
 .the-list-page-v60 .list-hero-metrics-v60>span{flex-direction:column!important;align-items:flex-start!important;gap:3px!important}
 .the-list-page-v60 .list-hero-metrics-v60 strong{font-size:clamp(16px,4.2vw,23px)!important}
 .the-list-page-v60 .list-hero-metrics-v60 small{font-size:9px!important;font-style:normal;letter-spacing:0}
 .the-list-page-v60 .list-hero-season-v68{font-size:11px!important;white-space:normal}
 .the-list-page-v60 .list-hero-photo-v60>.hero-star-v60{top:14px!important;bottom:auto!important;left:14px!important}
 .the-list-page-v60 .list-player-hero-v60>.hq-fade-button{right:auto!important;left:18px!important;bottom:65px!important}
 .the-list-page-v60 .list-player-hero-v60>.hq-exclude-button{right:auto!important;left:18px!important;bottom:95px!important}
}
