@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#060914;--bg2:#0c1424;--card:#101827;--card2:#152238;--line:rgba(255,255,255,.10);--line2:rgba(255,255,255,.16);--text:#f7fbff;--muted:#9aa8bd;--gold:#f7b731;--blue:#4ea3ff;--green:#2dde8a;--red:#ff5a66;--radius:22px;--shadow:0 24px 80px rgba(0,0,0,.38)}
*{box-sizing:border-box}html{overflow-y:scroll;scrollbar-gutter:stable}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top,#1c2a45 0,#070b13 42%,#05070c 100%);color:var(--text);min-height:100vh}.arena-bg{position:fixed;inset:0;background:url('mode-arena-bg.png') center/cover no-repeat;opacity:.14;filter:saturate(.9);pointer-events:none}.hidden{display:none!important}.site-menu-clone-header{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:150px;padding:28px 0 0;margin:0;z-index:2}.menu-logo-home-link{display:block;width:170px;max-width:170px}.approved-menu-logo-v408{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 22px rgba(0,0,0,.42))}.menu-header-tagline{display:none!important}.site-social-links{position:absolute;top:86px;right:clamp(42px,6vw,92px);display:flex;gap:18px;z-index:60}.site-social-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.88);text-decoration:none}.site-social-x{font:900 20px/1 Arial}.site-social-ig svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.4;fill:none}.app-shell{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 18px 24px}.hero-card,.content-panel,.modal-card{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(14px)}.hero-card{max-width:980px;margin:0 auto;padding:34px;text-align:center}.eyebrow{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:1000}.hero-card h1{font-size:clamp(36px,6vw,76px);line-height:.92;margin:12px auto 14px;letter-spacing:-.06em;max-width:880px}.hero-card p{max-width:720px;margin:0 auto 24px;color:#cbd6e7;font-size:18px;line-height:1.55}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn{border:0;border-radius:16px;padding:12px 16px;font-weight:1000;cursor:pointer;min-height:46px;transition:transform .14s ease,filter .14s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.07)}.btn.primary{background:linear-gradient(135deg,#ffcf42,#f59f00);color:#101827;box-shadow:0 12px 28px rgba(247,183,49,.2)}.btn.secondary{background:#172236;color:var(--text);border:1px solid var(--line2);box-shadow:none}.btn.ghost{background:transparent;color:#d8e1f2;border:1px solid var(--line2)}.btn.danger{background:linear-gradient(135deg,#ff6b6b,#ee3948);color:#fff}.btn.full{width:100%}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;text-align:left}.status-grid div,.card,.stat-card,.league-row,.player-card{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:18px}.status-grid div{padding:16px}.status-grid strong{display:block}.status-grid span{display:block;color:var(--muted);font-size:13px;margin-top:5px}.app-layout{display:grid;grid-template-columns:230px 1fr;gap:16px}.side-nav{position:sticky;top:18px;align-self:start;background:rgba(10,16,28,.86);border:1px solid var(--line);border-radius:22px;padding:10px;box-shadow:var(--shadow)}.nav-item,.bottom-item{border:0;background:transparent;color:#cbd6e7;font-weight:1000;cursor:pointer}.nav-item{width:100%;text-align:left;padding:13px 14px;border-radius:15px}.nav-item.active,.bottom-item.active{background:rgba(247,183,49,.14);color:var(--gold)}.content-panel{min-height:640px;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid var(--line)}.topbar h2{margin:2px 0 0;font-size:28px;letter-spacing:-.04em}.user-pill{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;padding:8px 10px 8px 14px;font-weight:900}.text-btn{border:0;background:transparent;color:var(--gold);font-weight:1000;cursor:pointer}.view{padding:18px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card{padding:18px}.card h3{margin:0 0 10px;font-size:20px}.card p{color:var(--muted);line-height:1.45}.form-grid{display:grid;gap:12px}.field label,.modal-card label{display:grid;gap:7px;color:#d8e1f2;font-weight:900;font-size:13px}input,select{width:100%;border:1px solid var(--line2);background:#0b1220;color:var(--text);border-radius:14px;padding:12px 13px;font:inherit;font-weight:800;outline:none}input:focus,select:focus{border-color:rgba(247,183,49,.6);box-shadow:0 0 0 3px rgba(247,183,49,.12)}.league-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;margin-top:10px}.league-row strong{display:block}.league-row span{display:block;color:var(--muted);font-size:13px}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line);font-size:12px;font-weight:1000;color:#d8e1f2}.pill.gold{color:#111827;background:var(--gold)}.pill.green{color:#07120c;background:var(--green)}.draft-shell{display:grid;grid-template-columns:330px 1fr 260px;gap:14px}.draft-panel{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:18px;overflow:hidden}.draft-panel h3{margin:0;padding:14px;border-bottom:1px solid var(--line)}.player-list{max-height:620px;overflow:auto;padding:10px}.player-card{padding:12px;margin-bottom:9px}.player-top{display:flex;align-items:center;gap:10px}.player-card img{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#0b1220}.player-name{font-weight:1000}.player-meta{color:var(--muted);font-size:12px;font-weight:800}.player-score{margin-left:auto;color:var(--gold);font-weight:1000}.draft-board{padding:10px;display:grid;gap:8px}.pick{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:10px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid var(--line)}.pick.on{border-color:rgba(247,183,49,.55);background:rgba(247,183,49,.10)}.pick-num{color:var(--gold);font-weight:1000}.roster-slot{padding:11px;margin:9px 10px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid var(--line)}.slot-pos{color:var(--gold);font-size:12px;font-weight:1000}.leaderboard{width:100%;border-collapse:separate;border-spacing:0 8px}.leaderboard th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase}.leaderboard td{padding:10px;background:rgba(255,255,255,.045);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:800}.leaderboard td:first-child{border-left:1px solid var(--line);border-radius:12px 0 0 12px}.leaderboard td:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0;color:var(--gold);font-weight:1000}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal-card{width:min(440px,100%);padding:22px;position:relative}.modal-card h2{margin:4px 0 18px}.modal-card label{margin-bottom:12px}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:var(--text);font-size:28px;cursor:pointer}.fineprint{color:var(--muted);font-size:12px;line-height:1.45}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(7,11,19,.96);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.bottom-item{padding:10px 4px;border-radius:13px;font-size:12px}.freshFooterV500{position:relative;z-index:1;width:100%;max-width:980px;margin:18px auto 34px;padding:0 14px;text-align:center;color:#8d99ad;font-size:12px;line-height:1.45}.freshFooterV500__links{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:0 0 10px}.freshFooterV500__links a{color:#d8e1f2;text-decoration:none;font-weight:900;font-size:13px;padding:0 9px}.freshFooterV500__disclaimer{max-width:820px;margin:0 auto;color:#8d99ad}.footerSocialV516{display:flex;justify-content:center;gap:18px;margin-top:12px}.footerSocialV516__icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#f8fbff;text-decoration:none}.footerSocialV516__x{font:900 22px/1 Arial}.footerSocialV516 svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.4;fill:none}.empty{padding:22px;border:1px dashed var(--line2);border-radius:18px;text-align:center;color:var(--muted)}
@media(max-width:1050px){.app-layout{grid-template-columns:1fr}.side-nav{display:none}.bottom-nav:not(.hidden){display:grid!important}.draft-shell{grid-template-columns:1fr}.grid.two,.grid.three,.status-grid{grid-template-columns:1fr}.content-panel{margin-bottom:72px}.site-menu-clone-header{height:156px}.draft-panel{max-height:none}.player-list{max-height:520px}}
@media(max-width:768px){.site-menu-clone-header{height:96px;padding-top:10px}.menu-logo-home-link{width:132px}.menu-header-tagline{display:none!important}.site-social-links{display:none!important}.site-social-icon{width:23px;height:23px}.app-shell{padding:0 12px 22px}.hero-card{padding:22px 16px}.hero-card h1{font-size:38px}.hero-card p{font-size:15px}.topbar{padding:16px 14px}.topbar h2{font-size:24px}.view{padding:12px}.user-pill{font-size:12px;padding:7px 8px}.league-row{align-items:flex-start;flex-direction:column}.freshFooterV500{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0 8px 82px}.freshFooterV500__links a{font-size:10px;padding:0 6px}.freshFooterV500__disclaimer{max-width:92vw;font-size:11px}}
.big-code{font-size:42px!important;letter-spacing:.08em;color:var(--gold)}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.mini-stats div{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:16px;padding:12px}.mini-stats strong{display:block;font-size:22px;color:var(--gold)}.mini-stats span{display:block;color:var(--muted);font-size:12px;font-weight:900}.lobby-actions{justify-content:flex-start;margin-top:16px}.draft-order{display:flex;flex-wrap:wrap;gap:10px}.order-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:999px;padding:8px 12px;font-weight:1000}.order-chip span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#111827}.draft-clock{min-width:74px;height:74px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:rgba(247,183,49,.14);border:1px solid rgba(247,183,49,.45);color:var(--gold);font-size:34px;font-weight:1000}.draft-clock.urgent{background:rgba(255,90,102,.16);border-color:rgba(255,90,102,.55);color:#ff7a84;animation:pulseClock .7s infinite alternate}@keyframes pulseClock{from{transform:scale(1)}to{transform:scale(1.04)}}
@media(max-width:768px){.mini-stats{grid-template-columns:1fr}.draft-clock{width:100%;height:58px}.big-code{font-size:34px!important}.lobby-actions .btn{width:100%}}


/* v7 app shell: social links live in footer only. Header space is reserved for account controls. */
body > .site-social-links{display:none!important;}
.footerSocialV516__tt svg{fill:currentColor!important;stroke:none!important;}
.footerSocialV516__ig svg,.footerSocialV516__tt svg{width:22px;height:22px;display:block;}
.profile-mini{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ffcf42,#f59f00);color:#07111f;font-weight:1000;}
.feature-list{display:grid;gap:10px;margin-top:12px}.feature-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}


/* v8 locked shared shell */
.site-menu-clone-header::after{content:'';position:absolute;right:clamp(18px,5vw,84px);top:52px;width:92px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);opacity:.35;pointer-events:none}.wizard-steps{display:flex;gap:8px;margin:0 0 16px}.wizard-step{flex:1;height:6px;border-radius:999px;background:rgba(255,255,255,.10)}.wizard-step.active{background:var(--gold)}.review-box{padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.045);display:grid;gap:8px}.review-box div{display:flex;justify-content:space-between;gap:12px}.regression-list{display:grid;gap:10px}.regression-list div{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
@media(max-width:768px){.site-menu-clone-header::after{display:none}}


/* v8.1 logo-to-content spacing fix: preserve logo position, move app content down for clean breathing room */
.site-menu-clone-header{height:195px;}
@media(max-width:1050px){.site-menu-clone-header{height:176px;}}
@media(max-width:768px){.site-menu-clone-header{height:126px;}}
.warning-card{border-color:rgba(255,116,56,.55)!important;background:linear-gradient(180deg,rgba(255,116,56,.12),rgba(255,255,255,.04))!important;margin-bottom:14px}
.info-card{border-color:rgba(250,188,35,.45)!important;background:linear-gradient(180deg,rgba(250,188,35,.10),rgba(255,255,255,.04))!important;margin-bottom:14px}
.small-note{font-size:12px;color:var(--muted);margin-top:10px}

/* v11 draft order controls */
.draft-order-list{display:grid;gap:9px;margin-top:12px}.order-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:16px}.order-row.locked{grid-template-columns:34px 1fr}.order-rank{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#111827;font-weight:1000}.order-name strong{display:block}.order-name span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-top:2px}.order-move{display:flex;gap:6px}.mini-btn{width:34px;height:34px;border-radius:12px;border:1px solid var(--line2);background:#172236;color:var(--text);font-weight:1000;cursor:pointer}.mini-btn:disabled{opacity:.35;cursor:not-allowed}.draft-order-tools{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.order-mode-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:12px;font-weight:800}
@media(max-width:768px){.order-row{grid-template-columns:34px 1fr;align-items:start}.order-move{grid-column:1/-1}.order-move .mini-btn{flex:1}.draft-order-tools .btn{width:100%}}

/* v12 lineup manager */
.lineup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.lineup-list{display:grid;gap:10px}
.lineup-player-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.lineup-player-card.sub-active{border-color:rgba(247,183,49,.7);background:rgba(247,183,49,.10)}
.lineup-player-card.is-ineligible{opacity:.58}
.lineup-card-main{display:flex;align-items:center;gap:12px;min-width:0}
.slot-badge,.avatar-placeholder{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(247,183,49,.16);border:1px solid rgba(247,183,49,.35);color:var(--gold);font-size:13px;font-weight:1000;flex:0 0 auto}
.avatar-placeholder{background:rgba(23,34,54,.9);border-color:var(--line2);color:#f8fbff}
.lineup-player-copy{display:grid;gap:3px;min-width:0}
.lineup-player-copy strong{font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lineup-player-copy span{color:var(--muted);font-size:12px;font-weight:800}
.pos-chip-row{display:flex;gap:4px;flex-wrap:wrap;min-height:18px}
.pos-chip{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:18px;padding:0 6px;border-radius:999px;background:rgba(247,183,49,.12);border:1px solid rgba(247,183,49,.28);color:var(--gold);font-size:10px;font-weight:1000;line-height:1}
.lineup-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;flex:0 0 auto}
.avg-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:34px;padding:0 12px;border-radius:999px;background:var(--gold);color:#111827;font-size:12px;font-weight:1000;line-height:1;text-align:center;white-space:nowrap}
.btn.compact{min-height:34px;padding:8px 13px;border-radius:12px;font-size:12px}
.disabled-pill{min-width:88px;justify-content:center;opacity:.72}
@media(max-width:768px){.lineup-player-card{align-items:flex-start;flex-direction:column}.lineup-card-actions{width:100%;justify-content:space-between}.avg-pill{min-width:78px}.lineup-heading{align-items:flex-start;flex-direction:column}.slot-badge,.avatar-placeholder{width:38px;height:38px}}
.recap-table{display:grid;gap:8px;margin-top:12px}
.recap-header,.recap-row{display:grid;grid-template-columns:70px 1.35fr 1fr 90px;gap:12px;align-items:center}
.recap-header{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;padding:0 10px}
.recap-row{padding:12px;border-radius:15px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.recap-pick{color:var(--gold);font-weight:1000;font-size:16px}
.recap-player,.recap-team{display:flex;flex-direction:column;gap:3px;min-width:0}
.recap-player span,.recap-team span{color:var(--muted);font-size:12px}
.recap-team strong,.recap-player strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){.recap-header{display:none}.recap-row{grid-template-columns:48px 1fr;gap:10px}.recap-team{grid-column:2}.recap-row .avg-pill{grid-column:2;justify-self:start}}


/* v14 polish: profile spacing, matchup rows, and draft completion modal */
.user-pill{gap:10px!important;padding-left:10px!important;}
.user-pill #currentUserName{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.user-pill-name{display:inline-block;margin-left:0;}
.profile-mini{flex:0 0 auto;}
.matchup-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.matchup-team-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.matchup-team-name{display:grid;gap:4px;min-width:0}.matchup-team-name strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matchup-team-name span{color:var(--muted);font-size:12px;font-weight:800}
.matchup-score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:48px;border-radius:999px;background:var(--gold);color:#111827;font-weight:1000;font-size:22px;line-height:1;text-align:center;flex:0 0 auto}
.league-matchup-list{display:grid;gap:10px;margin-top:12px}.league-matchup-row{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:center;gap:10px;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.match-side{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.match-side strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-side span{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:34px;border-radius:999px;background:rgba(247,183,49,.14);border:1px solid rgba(247,183,49,.28);color:var(--gold);font-weight:1000}.match-side.right{flex-direction:row-reverse;text-align:right}.vs-pill{display:inline-flex;align-items:center;justify-content:center;width:46px;height:32px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:1000;justify-self:center}
.draft-complete-card{text-align:center}.draft-complete-card h2{font-size:30px;letter-spacing:-.04em}.draft-complete-backdrop{animation:fadeInModal .18s ease-out}@keyframes fadeInModal{from{opacity:0}to{opacity:1}}
@media(max-width:768px){.matchup-feature-grid{grid-template-columns:1fr}.league-matchup-row{grid-template-columns:1fr;gap:8px}.vs-pill{justify-self:start}.match-side.right{flex-direction:row;text-align:left}.match-side span{min-width:78px}.user-pill #currentUserName{gap:7px}.user-pill{max-width:190px}.user-pill-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* v15 live matchup replay */
.live-control-card{border-color:rgba(255,194,37,.32);background:linear-gradient(135deg,rgba(255,194,37,.12),rgba(255,255,255,.035))}
.live-control-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}
.live-status-dot{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:1000;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.live-status-dot::before{content:"";width:10px;height:10px;border-radius:999px;background:#6b7280;box-shadow:0 0 0 4px rgba(107,114,128,.15)}
.live-status-dot.is-live{color:#34d399}.live-status-dot.is-live::before{background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.18)}
.round-progress{height:10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line);overflow:hidden;margin:10px 0 0}
.round-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#34d399);transition:width .3s ease}
.matchup-score-pill.live{background:#34d399;color:#061216}.matchup-score-pill.final{background:var(--gold)}
.matchup-winner{outline:1px solid rgba(255,194,37,.5);box-shadow:0 0 24px rgba(255,194,37,.08)}
.live-player-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.live-player-row strong{display:block}.live-player-row span{color:var(--muted);font-size:12px;font-weight:800}.live-score{font-size:18px;font-weight:1000;color:var(--gold);min-width:58px;text-align:right}
@media(max-width:768px){.live-control-top{display:grid}.live-player-row{grid-template-columns:1fr auto}.live-player-row .pill{display:none}}

/* v17 season fixture */
.season-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.season-round-card{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:16px;padding:12px;display:grid;gap:8px}
.season-round-card.active{border-color:rgba(247,183,49,.72);background:rgba(247,183,49,.08)}
.season-round-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.season-round-top strong{font-size:14px;color:#fff}
.season-match-list{display:grid;gap:6px;color:var(--muted);font-weight:800;font-size:12px;line-height:1.25}
.season-match-list span{padding:6px 8px;border-radius:10px;background:rgba(0,0,0,.14)}
.season-match-list b{color:var(--gold);font-size:10px;margin:0 4px}
@media(max-width:768px){.season-schedule-grid{grid-template-columns:1fr}.season-round-card{padding:10px}}

/* v18 draft navigation + round selector */
.draft-return-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:rgba(247,183,49,.5);background:linear-gradient(135deg,rgba(247,183,49,.14),rgba(255,255,255,.045))}
.draft-return-card h3{margin:4px 0 4px}.draft-return-card p{margin:0;color:var(--muted)}
.round-control-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.round-control-box label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;color:var(--gold)}
.round-select{min-width:150px;width:auto;background:#0b1220;border-color:rgba(247,183,49,.45);color:#fff;font-weight:1000}
@media(max-width:768px){.draft-return-card{display:grid}.draft-return-card .btn{width:100%}.round-control-box{justify-content:flex-start}.round-select{width:100%}}


/* v19 full draft history + lineup count polish */
.draft-history{margin-top:14px}
.history-round{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);padding:12px;margin-top:12px}
.history-round-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.history-round-title strong{font-size:16px}.history-round-title span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.history-picks{display:grid;gap:8px}
.history-pick{display:grid;grid-template-columns:42px minmax(0,1.15fr) minmax(0,1fr) 54px;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.06)}
.history-pick.mine{border-color:rgba(247,183,49,.55);background:rgba(247,183,49,.08)}
.history-pick-num{color:var(--gold);font-size:14px;font-weight:1000}.history-pick strong,.history-pick em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-pick small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-top:2px}.history-pick em{font-style:normal;color:#dfe7f5;font-weight:900}.history-pick b{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:28px;border-radius:999px;background:rgba(247,183,49,.18);border:1px solid rgba(247,183,49,.3);color:var(--gold);font-size:12px}
@media(max-width:720px){.history-pick{grid-template-columns:34px 1fr 48px}.history-pick em{grid-column:2;grid-row:2;color:var(--muted);font-size:12px}.history-pick b{grid-column:3;grid-row:1 / span 2}}
/* v20 season result locking */
.season-round-card.complete{border-color:rgba(52,211,153,.55);background:rgba(52,211,153,.07)}
.live-status-dot.is-complete{color:#34d399}.live-status-dot.is-complete::before{background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.18)}


/* v21 completed results + lineup lock */
.results-round{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);overflow:hidden;margin-top:12px}.results-round-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.results-list{display:grid}.result-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.06)}.result-row:first-child{border-top:0}.result-team{display:flex;align-items:center;justify-content:space-between;gap:10px}.result-team.right{flex-direction:row-reverse;text-align:right}.result-team span{font-weight:900;font-size:1.05rem}.result-team.winner strong,.result-team.winner span{color:var(--gold)}.result-separator{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:var(--muted)}.lineup-lock-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:rgba(255,190,32,.45);background:linear-gradient(135deg,rgba(255,187,20,.09),rgba(255,255,255,.03))}.lineup-lock-card p{margin-bottom:0}.lineup-lock-card .btn{flex:0 0 auto}@media(max-width:700px){.result-row{grid-template-columns:1fr;gap:7px}.result-separator{text-align:center}.result-team.right{flex-direction:row;text-align:left}.lineup-lock-card{align-items:stretch;flex-direction:column}}

/* v23 Live Game Centre */
.live-centre-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.live-centre-status{min-width:150px;text-align:center;padding:12px 16px;border-radius:999px;background:#303847;border:1px solid rgba(255,255,255,.14);font-weight:900;letter-spacing:.08em}.live-centre-status.is-live{background:#113d2b;color:#75f5ad;border-color:#2e9f67}.tab-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.game-tab{border:1px solid rgba(255,255,255,.16);background:#171e2a;color:#dbe5f3;padding:10px 16px;border-radius:999px;font-weight:800;cursor:pointer}.game-tab.active{background:#ffd21f;color:#111;border-color:#ffd21f}.game-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.game-centre-card{position:relative;background:linear-gradient(180deg,#202a39,#161d29);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:42px 16px 16px}.game-status{position:absolute;top:12px;left:14px;font-size:.72rem;font-weight:900;letter-spacing:.1em;color:#aab6c6}.game-status.live{color:#65efa0}.game-status.upcoming{color:#ffd21f}.game-team-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.game-team-row span{font-size:1.45rem;font-weight:900}.game-clock{padding-top:12px;color:#9ca9ba;font-weight:800}.live-player-stack{display:grid;gap:10px}.rank-badge{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ffd21f;color:#111;font-weight:900;flex:none}@media(max-width:700px){.live-centre-hero{align-items:flex-start;flex-direction:column}.live-centre-status{min-width:0}.game-card-list{grid-template-columns:1fr}}

.feed-control-card{display:grid;gap:16px}.feed-control-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.feed-control-head h3{margin:.2rem 0}.feed-mode-row{display:flex;gap:10px;flex-wrap:wrap}.feed-form-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:12px}.feed-form-grid label{display:grid;gap:7px;color:#b7c3d2;font-size:.82rem;font-weight:800}.feed-form-grid input,.feed-form-grid select{width:100%;background:#111925;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:12px}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.feed-message{padding:12px 14px;border-radius:12px;background:#121b27;border:1px solid rgba(255,255,255,.1);color:#aebaca}.feed-message.error{background:#351a1d;border-color:#8f3942;color:#ffb8bf}.danger-pill{background:#63242b!important;color:#ffd7da!important}@media(max-width:800px){.feed-form-grid{grid-template-columns:1fr}.feed-control-head{flex-direction:column}.feed-control-card .hero-actions{align-items:stretch}.feed-control-card .btn{width:100%;justify-content:center}}


/* v25 worker auto-refresh */
.feed-auto-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 4px;color:var(--muted);font-size:.9rem}
.feed-auto-status .live-status-dot{min-width:150px;text-align:center}
#refreshCountdown{font-variant-numeric:tabular-nums}
.feed-checkbox{display:flex;align-items:center;gap:10px;margin:12px 0 2px;color:var(--muted);font-weight:700}.feed-checkbox input{width:18px;height:18px;accent-color:var(--gold)}

.feed-diagnostics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.feed-diagnostics-grid>div{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px;text-align:center;background:rgba(255,255,255,.035)}.feed-diagnostics-grid strong{display:block;font-size:1.35rem}.feed-diagnostics-grid span{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.feed-diagnostics-detail{margin-top:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px}.feed-diagnostics-detail summary{cursor:pointer;font-weight:800}.feed-diagnostics-detail div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.feed-diagnostics-detail span{font-size:.78rem;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06)}.fixture-history-list{display:grid;gap:8px}.fixture-history-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.035);color:inherit;cursor:pointer}.fixture-history-row:hover{background:rgba(255,255,255,.07)}.fixture-history-row div{display:grid;gap:3px}.fixture-history-row span{color:var(--muted);font-size:.78rem}@media(max-width:700px){.feed-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fixture-history-row{align-items:flex-start;flex-direction:column;gap:6px}}

/* v28 user-first Live Centre */
.featured-game{padding-top:54px;min-height:178px}.featured-game .game-clock{position:absolute;top:13px;right:16px;padding:0;color:#dfe8f5}.live-matchup-summary{display:grid;gap:14px}.player-initial{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#243149;border:1px solid rgba(255,210,31,.45);color:#ffd21f;font-weight:900;flex:none}.live-player-row.premium{grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center}.leaders-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.leaders-grid .live-player-row{min-width:0}.leaders-grid .live-player-row>div:nth-child(3){min-width:0}.leaders-grid strong,.leaders-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:800px){.leaders-grid{grid-template-columns:1fr}.live-player-row.premium{grid-template-columns:auto minmax(0,1fr) auto}.live-player-row.premium .rank-badge{grid-row:1/3}.live-player-row.premium .player-initial{display:none}.live-player-row.premium .pill{display:none}}


/* v31 production player database browser */
.player-browser-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.player-browser-hero h3{font-size:28px;margin-top:5px}.coverage-ring{width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;border:8px solid rgba(247,183,49,.22);background:rgba(247,183,49,.08)}.coverage-ring strong{font-size:30px;color:var(--gold)}.coverage-ring span{font-size:11px;color:var(--muted);font-weight:900;text-align:center}.player-browser-filters{position:relative;z-index:5;display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr));gap:10px}.player-browser-filters input,.player-browser-filters select{position:relative;z-index:6;pointer-events:auto!important;touch-action:manipulation}.player-browser-filters select{cursor:pointer}.player-browser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.player-database-card{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:18px;padding:15px;display:grid;gap:13px}.player-db-head{display:flex;align-items:center;gap:11px}.player-db-head>div:nth-child(2){min-width:0;flex:1}.player-db-head strong,.player-db-head span{display:block}.player-db-head span{color:var(--muted);font-size:12px;margin-top:3px}.avatar-placeholder.large{width:64px;height:64px;font-size:18px}.position-chip-row{display:flex;flex-wrap:wrap;gap:6px}.position-chip{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:27px;padding:0 8px;border-radius:9px;background:rgba(247,183,49,.12);border:1px solid rgba(247,183,49,.3);color:var(--gold);font-size:11px;font-weight:1000}.player-db-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.player-db-stats>div{padding:10px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid var(--line);text-align:center}.player-db-stats strong,.player-db-stats span{display:block}.player-db-stats strong{color:var(--gold);font-size:17px}.player-db-stats span{color:var(--muted);font-size:10px;margin-top:3px}.last-five{display:grid;gap:7px}.last-five>span{color:var(--muted);font-size:11px;font-weight:1000;text-transform:uppercase}.last-five>div{display:flex;gap:5px;flex-wrap:wrap}.last-five b{font-size:11px;padding:6px 7px;border-radius:8px;background:rgba(255,255,255,.06)}.last-five em{font-size:11px;color:var(--muted)}.player-db-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.player-db-footer.public-player-actions{justify-content:flex-end}.player-detail-card{width:min(660px,100%);max-height:88vh;overflow:auto}.player-detail-title{display:flex;align-items:center;gap:16px;margin-bottom:20px}.player-detail-title h2{margin:2px 0 8px}.player-db-stats.detail{margin-bottom:20px}.recent-game-list{display:grid;gap:8px}.recent-game-list>div:not(.empty){display:flex;justify-content:space-between;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid var(--line)}.recent-game-list strong{color:var(--gold)}
@media(max-width:1050px){.player-browser-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-browser-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.player-browser-filters input{grid-column:1/-1}}
@media(max-width:700px){.player-browser-hero{align-items:flex-start}.coverage-ring{width:86px;height:86px;border-width:6px}.coverage-ring strong{font-size:23px}.player-browser-grid{grid-template-columns:1fr}.player-browser-filters{grid-template-columns:1fr}.player-browser-filters input{grid-column:auto}.player-db-stats strong{font-size:15px}}


/* v32 player database manager */
.database-manager-card{border-color:rgba(247,183,49,.34);background:linear-gradient(135deg,rgba(247,183,49,.08),rgba(255,255,255,.035))}.database-audit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.database-audit-summary>div{padding:13px;border-radius:14px;background:rgba(0,0,0,.16);border:1px solid var(--line);text-align:center}.database-audit-summary strong,.database-audit-summary span{display:block}.database-audit-summary strong{font-size:22px;color:var(--gold)}.database-audit-summary span{font-size:11px;color:var(--muted);margin-top:3px}.team-count-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}.team-count-grid>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--line)}.team-count-grid span{font-size:11px;color:var(--muted)}.database-issues{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.database-issues summary{cursor:pointer;font-weight:900}.database-issues p{font-size:12px;margin:8px 0 0;color:var(--muted)}@media(max-width:800px){.database-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.team-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v34 historical analytics */
.player-db-stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));}
.threshold-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;}
.threshold-grid>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:12px;text-align:center;}
.threshold-grid strong,.threshold-grid span{display:block}.threshold-grid strong{font-size:1.1rem}.threshold-grid span{font-size:.72rem;opacity:.7;margin-top:4px}
@media(max-width:620px){.threshold-grid{grid-template-columns:repeat(2,1fr)}}


/* v35 live fantasy timeline */
.timeline-list{display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.035)}.timeline-row>div{display:grid;gap:3px}.timeline-row span{font-size:.78rem;color:var(--muted)}.timeline-row>.pill{color:inherit;min-width:62px;text-align:center;justify-content:center}.timeline-row>strong:last-child{font-size:1.05rem;text-align:right}@media(max-width:640px){.timeline-row{grid-template-columns:minmax(0,1fr) auto}.timeline-row>strong:last-child{grid-column:2}.timeline-row>.pill{grid-row:1/3;grid-column:2}}


/* v36 live matchup lead tracker */
.lead-summary-card{display:grid;align-content:start;gap:8px;background:linear-gradient(145deg,rgba(247,183,49,.1),rgba(255,255,255,.035));border-color:rgba(247,183,49,.35)}
.lead-summary-card h3{margin:.1rem 0}.lead-summary-card p{margin:0;color:var(--muted)}
.lead-margin{font-size:2.2rem;line-height:1;font-weight:1000;color:var(--gold);font-variant-numeric:tabular-nums}
.lead-event-list{display:grid;gap:10px}.lead-event-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.035)}
.lead-event-row>div:nth-child(2){display:grid;gap:3px;min-width:0}.lead-event-row strong,.lead-event-row span{overflow:hidden;text-overflow:ellipsis}.lead-event-row span{color:var(--muted);font-size:.78rem;white-space:nowrap}
.lead-event-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(52,211,153,.13);border:1px solid rgba(52,211,153,.32);color:#69efab;font-weight:1000}
@media(max-width:640px){.lead-event-row{grid-template-columns:auto minmax(0,1fr)}.lead-event-row>.pill{grid-column:2;justify-self:start}.lead-event-row span{white-space:normal}}

/* v37 matchup starter comparison */
.matchup-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.matchup-roster-panel{border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(6,13,30,.46);overflow:hidden}
.matchup-roster-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:rgba(255,255,255,.045);border-bottom:1px solid rgba(255,255,255,.09)}
.matchup-roster-head>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.matchup-roster-head strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matchup-roster-head span{font-size:12px;color:var(--muted)}
.matchup-roster-total{font-size:22px;font-weight:900;color:#ffd45c;flex:0 0 auto}
.matchup-player-row{display:grid;grid-template-columns:38px 34px minmax(0,1fr) auto auto 64px;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.07)}
.matchup-player-row:last-child{border-bottom:0}
.matchup-player-row.empty-slot{grid-template-columns:38px minmax(0,1fr) 64px;opacity:.65}
.position-badge{display:flex;align-items:center;justify-content:center;width:34px;height:28px;border-radius:9px;background:rgba(255,190,45,.13);border:1px solid rgba(255,190,45,.3);font-size:11px;font-weight:900;color:#ffd45c}
.player-initial.small{width:32px;height:32px;font-size:11px}
.matchup-player-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.matchup-player-info strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matchup-player-info span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matchup-player-score{font-size:17px;font-weight:900;text-align:center;color:#fff}
.score-delta{font-size:11px;font-weight:900;min-width:38px;text-align:center}
.score-delta.positive{color:#67e8a5}.score-delta.negative{color:#ff8d8d}
@media(max-width:900px){.matchup-roster-grid{grid-template-columns:1fr}.matchup-player-row{grid-template-columns:36px 32px minmax(0,1fr) auto 58px}.matchup-player-row .score-delta{display:none}}
@media(max-width:520px){.matchup-player-row{gap:8px;padding:11px 10px}.matchup-player-row .pill{display:none}.matchup-player-row{grid-template-columns:34px 30px minmax(0,1fr) 54px}.matchup-roster-head{padding:13px 12px}}


/* v38 matchup projection */
.projection-summary{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:18px;align-items:center;margin-top:10px}
.projection-summary h3{margin:.2rem 0 .35rem}.projection-summary p{margin:0;color:var(--muted)}
.projection-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.projection-team-card{border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(6,13,30,.48);padding:14px}
.projection-team-card>strong{display:block;margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.projection-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.projection-metrics span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;border-radius:12px;background:rgba(255,255,255,.045);font-size:18px;font-weight:900;color:#fff}
.projection-metrics small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}
@media(max-width:900px){.projection-summary{grid-template-columns:1fr}.projection-team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.projection-team-grid{grid-template-columns:1fr}.projection-metrics span{min-height:56px;font-size:16px}}

.win-probability-callout{display:flex;align-items:baseline;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid rgba(255,190,32,.25);border-radius:14px;background:rgba(255,190,32,.08)}
.win-probability-callout strong{font-size:28px;line-height:1;color:var(--gold)}
.win-probability-callout span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.probability-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:12px}
.probability-row>div{height:9px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.probability-row>div span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#ffdf7d);transition:width .35s ease}
.probability-row>strong{font-size:14px;color:#fff;min-width:48px;text-align:right}
.probability-note{display:block;margin-top:6px;color:var(--muted);font-size:11px}


/* v40 — Path to victory */
.victory-overview{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.victory-overview h3{margin:4px 0 6px}
.victory-overview p{margin:0;color:var(--muted)}
.victory-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.victory-team-card{border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035);padding:16px}
.victory-team-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.victory-team-head>div:first-child{display:flex;flex-direction:column;gap:4px}
.victory-team-head span,.victory-team-head small{color:var(--muted);font-size:.78rem}
.victory-team-head>div:last-child{text-align:right;display:flex;flex-direction:column;gap:2px}
.victory-team-head>div:last-child strong{font-size:1.3rem;color:var(--gold)}
.victory-player-list{display:grid;gap:8px}
.victory-player-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}
.victory-player-row:first-child{border-top:0}
.victory-player-row>div:nth-child(2){display:flex;flex-direction:column;min-width:0}
.victory-player-row>div:nth-child(2) strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.victory-player-row>div:nth-child(2) span{font-size:.75rem;color:var(--muted)}
.empty.compact{padding:12px 0;text-align:left}
@media(max-width:760px){.victory-team-grid{grid-template-columns:1fr}.victory-team-head{align-items:center}.victory-player-row{grid-template-columns:auto minmax(0,1fr) auto}.victory-player-row .pill{font-size:.7rem}}

/* v42 visual player database + club logos */
.player-visual{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:52px;height:52px;border-radius:16px;overflow:visible;background:linear-gradient(145deg,#1c2a40,#0c1422);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.player-visual.small{width:44px;height:44px;border-radius:14px}.player-visual.large{width:68px;height:68px;border-radius:19px}.player-visual.hero{width:98px;height:98px;border-radius:24px}
.player-visual img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:inherit;display:block}.player-visual>span:not(.team-visual){display:none;font-weight:1000;color:#fff;font-size:14px;letter-spacing:.02em}.player-visual.large>span:not(.team-visual){font-size:18px}.player-visual.hero>span:not(.team-visual){font-size:24px}
.player-visual.fallback>span:not(.team-visual){display:block}.player-visual.fallback{background:linear-gradient(145deg,rgba(247,183,49,.22),rgba(12,20,34,.95));border-color:rgba(247,183,49,.34)}
.team-visual{position:absolute;right:-6px;bottom:-6px;width:28px;height:28px;padding:3px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(225,230,238,.96));color:#101722;border:2px solid #101722;font-size:7px;font-weight:1000;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.42);overflow:hidden}
.team-visual img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.team-visual b{display:none;font-size:7px;letter-spacing:-.02em}.team-visual.logo-fallback{background:linear-gradient(145deg,var(--team-accent),var(--team-primary));color:#fff}.team-visual.logo-fallback b{display:block}
.team-visual.inline{position:relative;right:auto;bottom:auto;width:25px;height:25px;flex:0 0 25px;border-width:1px;border-color:rgba(255,255,255,.18);box-shadow:none;border-radius:8px;background:rgba(255,255,255,.95)}
.team-visual.large-inline{width:34px;height:34px;flex-basis:34px;border-radius:10px;padding:4px}
.club-line{display:inline-flex!important;align-items:center;gap:8px;min-width:0}.player-db-copy{min-width:0}.player-db-copy>strong{display:block}.player-detail-copy{min-width:0}
.player-database-card{position:relative;overflow:hidden}.player-database-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--club-accent,#f7b731),transparent);opacity:.8}

.team-ADL{background:#182360;color:#fff}.team-PER{background:#d8282f;color:#fff}.team-SYD{background:#7f3fbf;color:#fff}.team-MEL{background:#173b66;color:#fff}.team-SEM{background:#d64545;color:#fff}.team-TAS{background:#6ca743;color:#07120c}.team-ILL{background:#d6242e;color:#fff}.team-CNS{background:#f06b23;color:#111}.team-BRI{background:#174a8b;color:#fff}.team-NZB{background:#111;color:#fff}
.player-db-head{align-items:center}.player-database-card{transition:transform .18s ease,border-color .18s ease}.player-database-card:hover{transform:translateY(-2px);border-color:rgba(247,183,49,.38)}
.player-detail-title{align-items:center}.player-detail-title .player-visual{margin-right:2px}
.lineup-card-main{display:flex;align-items:center;gap:11px;min-width:0}.lineup-player-copy{min-width:0}.lineup-player-card .player-visual{margin-left:0}
.player-card .player-top .player-visual{margin-right:2px}
@media(max-width:768px){.player-visual.hero{width:80px;height:80px}.player-browser-grid{grid-template-columns:1fr}.player-db-head{align-items:center}}

.team-ADL{--club-accent:#d8b55b}
.team-BRI{--club-accent:#f5b51b}
.team-CNS{--club-accent:#ef7d22}
.team-ILL{--club-accent:#d71920}
.team-MEL{--club-accent:#0569ef}
.team-NZB{--club-accent:#40bfe8}
.team-PER{--club-accent:#d71920}
.team-SEM{--club-accent:#79c842}
.team-SYD{--club-accent:#f1bb31}
.team-TAS{--club-accent:#006b45}


/* v43 waiver wire */
.waiver-hero{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}
.waiver-priority-list{display:grid;gap:8px}.waiver-priority-row{display:grid;grid-template-columns:34px 1fr;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.035)}.waiver-priority-row span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,185,0,.16);color:#ffc400;font-weight:900}.waiver-priority-row.mine{border-color:rgba(255,196,0,.55);background:rgba(255,196,0,.08)}
.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.waiver-claim-actions{display:flex;align-items:center;gap:8px}.required-drop select{border-color:#ffc400}.modal-card select{width:100%;margin-top:8px}.bottom-nav{grid-template-columns:repeat(6,1fr)}
@media(max-width:760px){.waiver-hero{align-items:flex-start;flex-direction:column}.waiver-hero .btn{width:100%}.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.bottom-item{font-size:10px}}


/* v44 headshot sync, draft intelligence and trades */
.trade-modal-card{width:min(900px,96vw);max-height:92vh;overflow:auto}.trade-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:14px 0}.trade-select-list{display:grid;gap:8px;max-height:340px;overflow:auto}.trade-player-option{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px!important;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);cursor:pointer}.trade-player-option input{position:absolute;opacity:0}.trade-player-option:has(input:checked){border-color:var(--gold);background:rgba(247,183,49,.12)}.trade-player-option span{display:grid}.trade-player-option small{color:var(--muted)}.trade-hero{display:flex;justify-content:space-between;align-items:center;gap:18px}.trade-offer-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(255,255,255,.035);margin-top:12px}.trade-offer-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.trade-offer-head>div{display:grid;gap:4px}.trade-offer-head span{color:var(--muted);font-size:12px}.trade-sides{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.trade-sides>div{border:1px solid var(--line);border-radius:13px;padding:12px;background:rgba(0,0,0,.12)}.trade-sides h4{margin:0 0 10px}.trade-player-line{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.trade-player-line:last-child{border:0}.trade-player-line span{display:grid}.trade-player-line small{color:var(--muted)}.trade-message{padding:10px 12px;border-left:3px solid var(--gold);background:rgba(247,183,49,.06);border-radius:8px;color:var(--muted)}textarea{width:100%;resize:vertical}.player-score[title]{cursor:help}.average-source-note{font-size:10px;color:var(--muted)}
@media(max-width:700px){.trade-builder-grid,.trade-sides{grid-template-columns:1fr}.trade-hero{align-items:flex-start;flex-direction:column}.trade-hero .btn{width:100%}.bottom-nav{grid-template-columns:repeat(7,1fr)}}


/* v45 prominent league ladder, 21-round calendar and stable player search */
.league-page{display:grid;gap:16px}.league-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,rgba(255,180,0,.13),rgba(21,33,53,.92))}.league-hero h2{font-size:clamp(30px,4vw,48px);margin:4px 0}.league-hero-round{min-width:190px;text-align:center;padding:18px;border:1px solid rgba(255,190,35,.35);border-radius:18px;background:rgba(3,10,22,.55)}.league-hero-round span,.league-hero-round small{display:block;color:var(--muted)}.league-hero-round strong{display:block;font-size:24px;color:var(--gold);margin:6px 0}.league-ladder-card{padding:0;overflow:hidden}.league-ladder-card .lineup-heading{padding:22px 24px 16px}.ladder-header,.ladder-row{display:grid;grid-template-columns:70px minmax(220px,1fr) repeat(4,minmax(80px,110px));align-items:center;gap:8px}.ladder-header{padding:10px 18px;background:rgba(0,0,0,.28);color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ladder-row{padding:15px 18px;border-top:1px solid rgba(255,255,255,.08);transition:.18s}.ladder-row:hover{background:rgba(255,255,255,.035)}.ladder-row.mine{background:rgba(255,183,0,.12);box-shadow:inset 4px 0 var(--gold)}.ladder-row.finals-zone .ladder-rank{color:var(--gold)}.ladder-rank{font-size:18px;font-weight:900;text-align:center}.ladder-team strong,.ladder-team span,.ladder-stat strong,.ladder-stat span{display:block}.ladder-team span,.ladder-stat span{color:var(--muted);font-size:11px;margin-top:3px}.ladder-stat{text-align:center}.ladder-stat.diff.positive strong{color:#50df8a}.ladder-stat.diff.negative strong{color:#ff7c7c}.league-secondary-grid{align-items:start}.league-feature-matchups{display:grid;gap:10px;margin:14px 0}.league-feature-match{display:grid;grid-template-columns:1fr 44px 1fr;align-items:center;gap:8px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025)}.league-feature-match>div strong,.league-feature-match>div span{display:block}.league-feature-match>div span{color:var(--gold);font-weight:900;margin-top:4px}.league-feature-match .right{text-align:right}.league-feature-match>b{text-align:center;color:var(--muted);font-size:12px}.season-format{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.season-format>div{text-align:center;padding:16px 8px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}.season-format strong,.season-format span{display:block}.season-format strong{font-size:28px;color:var(--gold)}.season-format span{font-size:12px;color:var(--muted);margin-top:5px}
@media(max-width:760px){.league-hero{align-items:stretch;flex-direction:column}.league-hero-round{min-width:0}.ladder-header{display:none}.ladder-row{grid-template-columns:42px minmax(130px,1fr) repeat(2,58px);gap:6px}.ladder-row .ladder-stat:nth-of-type(3),.ladder-row .ladder-stat:nth-of-type(4){display:none}.ladder-team strong{font-size:13px}.season-format strong{font-size:22px}}

/* v46 premium visual theme */
:root{
  --bg:#050812;--bg2:#0a1220;--card:#111a2a;--card2:#182438;
  --line:rgba(180,197,224,.13);--line2:rgba(218,228,245,.20);
  --text:#f7f9fd;--muted:#9ca9bd;--gold:#ffbd24;--gold2:#f79b16;
  --green:#35df8b;--red:#ff5c6c;--radius:20px;
  --shadow:0 22px 65px rgba(0,0,0,.34);
}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 50% -10%,#22375b 0,#0a1220 36%,#050812 75%);letter-spacing:-.01em}
h1,h2,h3,.eyebrow,.nav-item,.bottom-item,.btn,.ladder-header{font-family:'Barlow Condensed',Inter,sans-serif}
h1,h2,h3{letter-spacing:.005em}.topbar h2{font-size:34px;font-weight:800}.eyebrow{font-size:13px;letter-spacing:.11em;font-weight:800}
.arena-bg{opacity:.18;filter:saturate(.9) contrast(1.05)}
.content-panel,.hero-card,.modal-card{background:linear-gradient(180deg,rgba(25,38,59,.96),rgba(10,16,27,.96));border-color:rgba(210,224,246,.13);box-shadow:0 26px 80px rgba(0,0,0,.36)}
.side-nav{background:linear-gradient(180deg,rgba(8,14,25,.96),rgba(5,10,19,.94));border-color:rgba(190,209,238,.13);padding:12px}
.nav-item{font-size:17px;letter-spacing:.015em;padding:14px 15px}.nav-item:hover{background:rgba(255,255,255,.05);color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(255,189,36,.20),rgba(255,189,36,.08));box-shadow:inset 3px 0 var(--gold);color:var(--gold)}
.card,.stat-card,.league-row,.player-card{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028));border-color:rgba(201,218,242,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.card{padding:20px}.card h3{font-size:25px;font-weight:800;margin-bottom:12px}.btn{font-size:16px;letter-spacing:.02em;border-radius:13px}.btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));box-shadow:0 12px 26px rgba(247,161,22,.22)}
.user-pill{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-color:rgba(255,255,255,.12)}

.league-page{gap:18px}.league-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);align-items:stretch;padding:28px 30px;background:linear-gradient(120deg,rgba(35,47,66,.98),rgba(11,20,34,.98));border-color:rgba(255,191,36,.24)}
.league-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 12% 10%,rgba(255,189,36,.19),transparent 42%),linear-gradient(110deg,transparent 62%,rgba(60,116,189,.12));pointer-events:none}
.league-hero-copy,.league-hero-metrics{position:relative;z-index:1}.league-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-right:24px}.league-hero h2{font-size:clamp(40px,4.6vw,62px);line-height:.94;font-weight:900;max-width:700px;margin:8px 0 12px}.league-hero p{color:#c4cddd;font-size:16px;margin:0 0 18px;max-width:620px}.league-hero-action{min-width:160px}
.league-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-content:center}.league-hero-metrics>div{min-height:118px;padding:16px 14px;border-radius:16px;background:rgba(4,10,20,.48);border:1px solid rgba(255,255,255,.10);display:flex;flex-direction:column;justify-content:center;text-align:center}.league-hero-metrics span,.league-hero-metrics small{color:var(--muted)}.league-hero-metrics span{font-size:11px;text-transform:uppercase;letter-spacing:.10em;font-weight:800}.league-hero-metrics strong{font-family:'Barlow Condensed',sans-serif;font-size:24px;line-height:1;color:var(--gold);margin:8px 0;overflow:hidden;text-overflow:ellipsis}.league-hero-metrics small{font-size:11px}
.league-hero.dynamic-drafting{border-color:rgba(78,163,255,.38)}.league-hero.dynamic-drafting:before{background:radial-gradient(circle at 10% 10%,rgba(78,163,255,.22),transparent 44%)}.league-hero.dynamic-finals{border-color:rgba(255,189,36,.52);box-shadow:0 26px 80px rgba(247,161,22,.12)}.league-hero.dynamic-complete{border-color:rgba(53,223,139,.34)}

.league-ladder-card{border-color:rgba(255,255,255,.13);box-shadow:0 20px 55px rgba(0,0,0,.25)}.league-ladder-card .lineup-heading{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent)}.ladder-header{background:#0a111e;color:#a9b4c6;font-size:13px}.ladder-row{min-height:68px}.ladder-row:nth-child(even){background:rgba(255,255,255,.018)}.ladder-row:hover{background:rgba(255,189,36,.055);transform:translateX(2px)}.ladder-row.mine{background:linear-gradient(90deg,rgba(255,189,36,.19),rgba(255,189,36,.055));box-shadow:inset 4px 0 var(--gold)}.ladder-team strong{font-size:16px}.ladder-stat strong{font-size:15px}.ladder-rank{font-family:'Barlow Condensed',sans-serif;font-size:21px}
.league-feature-match{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));transition:.18s}.league-feature-match:hover{border-color:rgba(255,189,36,.28);transform:translateY(-1px)}
.season-format>div{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02))}

@media(max-width:1050px){.league-hero{grid-template-columns:1fr}.league-hero-copy{padding-right:0;margin-bottom:18px}.league-hero-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.league-hero{padding:22px 18px}.league-hero h2{font-size:42px}.league-hero-metrics{grid-template-columns:1fr}.league-hero-metrics>div{min-height:82px}.nav-item{font-size:16px}.topbar h2{font-size:30px}.card h3{font-size:23px}}

/* v47 compact application shell redesign */
.app-brand-header{position:relative;z-index:3;width:100%;padding:14px 18px 10px;background:linear-gradient(180deg,rgba(5,10,18,.96),rgba(8,15,27,.82));border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 14px 42px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.app-brand-header__inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}
.app-brand-lockup{display:inline-flex;align-items:center;gap:18px;text-decoration:none;color:#fff;min-width:0}
.app-brand-logo{width:118px;height:auto;display:block;filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}
.app-brand-divider{width:1px;height:46px;background:linear-gradient(180deg,transparent,rgba(255,189,36,.7),transparent)}
.app-brand-copy{display:flex;flex-direction:column;gap:5px;line-height:1}.app-brand-copy strong{font-family:'Barlow Condensed',Inter,sans-serif;font-size:30px;letter-spacing:.12em}.app-brand-copy small{width:max-content;padding:5px 9px;border:1px solid rgba(255,189,36,.45);border-radius:999px;color:var(--gold);font:800 10px/1 Inter,sans-serif;letter-spacing:.14em}
.app-brand-status{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#cdd7e7;font-size:12px;font-weight:800;background:rgba(255,255,255,.035)}.live-dot{width:8px;height:8px;border-radius:50%;background:#46df8b;box-shadow:0 0 0 4px rgba(70,223,139,.12)}
.site-menu-clone-header{display:none!important}.app-shell{padding-top:18px}.app-layout{grid-template-columns:190px minmax(0,1fr);gap:14px}.side-nav{top:16px;border-radius:18px;padding:8px;background:linear-gradient(180deg,rgba(5,11,20,.96),rgba(7,13,23,.90))}.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;font-size:15px}.nav-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:#8fa0b9;font-size:16px;font-family:Inter,sans-serif}.nav-item.active{background:rgba(255,189,36,.09);box-shadow:inset 2px 0 var(--gold)}.nav-item.active .nav-icon{color:var(--gold)}
.content-panel{border-radius:18px}.topbar{padding:16px 18px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}.topbar h2{font-size:31px}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-btn{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.045);color:#d9e3f2;cursor:pointer}.icon-btn span{font-size:10px;color:var(--gold)}.icon-btn i{position:absolute;right:8px;top:7px;width:6px;height:6px;border-radius:50%;background:#ff5656;box-shadow:0 0 0 3px rgba(255,86,86,.13)}
.league-page{gap:14px}.league-hero{grid-template-columns:minmax(0,1fr) auto!important;padding:20px 22px!important;min-height:0}.league-hero-copy{padding-right:12px}.league-hero h2{font-family:Inter,sans-serif!important;font-size:clamp(26px,3vw,38px)!important;line-height:1.05!important;letter-spacing:-.035em!important;margin:5px 0 8px!important}.league-hero p{margin-bottom:12px!important;font-size:14px!important}.league-hero-metrics{display:flex!important;gap:8px;align-items:stretch}.league-hero-metrics>div{min-width:112px;min-height:88px!important;padding:12px 10px!important}.league-hero-metrics strong{font-size:20px!important}.league-hero-action{min-height:40px;padding:9px 14px}
.league-ladder-card{grid-column:auto}.league-secondary-grid{display:grid!important;grid-template-columns:minmax(0,1.8fr) minmax(250px,.72fr)!important;gap:14px!important}.league-secondary-grid>section[style*="grid-column:1/-1"]{grid-column:1/-1!important}.league-secondary-grid .league-ladder-card{grid-column:1/-1}.league-ladder-card .lineup-heading{padding:18px 20px 12px}.ladder-row{min-height:74px;padding-top:17px;padding-bottom:17px}.ladder-team{position:relative;padding-left:12px}.ladder-team:before{content:'';position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--gold),rgba(255,189,36,.25))}
.league-activity-list{display:grid;gap:9px;margin-top:12px}.activity-item{display:flex;gap:11px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025)}.activity-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,189,36,.10);color:var(--gold)}.activity-item strong,.activity-item small{display:block}.activity-item strong{font-size:13px}.activity-item small{font-size:11px;color:var(--muted);margin-top:3px}
.arena-bg{opacity:.10;filter:saturate(.75) blur(1.5px)}
@media(max-width:1050px){.app-layout{grid-template-columns:172px minmax(0,1fr)}.league-secondary-grid{grid-template-columns:1fr!important}.league-hero{grid-template-columns:1fr!important}.league-hero-metrics{margin-top:10px}.app-brand-header__inner{min-height:72px}.app-brand-logo{width:104px}.app-brand-copy strong{font-size:26px}}
@media(max-width:768px){.app-brand-header{padding:8px 12px}.app-brand-header__inner{min-height:58px}.app-brand-logo{width:82px}.app-brand-divider{height:34px}.app-brand-copy strong{font-size:20px}.app-brand-copy small{font-size:8px;padding:4px 7px}.app-brand-status{display:none}.app-shell{padding-top:10px}.league-hero-metrics{display:grid!important;grid-template-columns:repeat(3,1fr)}.league-hero-metrics>div{min-width:0}.topbar-actions .icon-btn{display:none}.league-hero h2{font-size:28px!important}}

/* v48 — Full Court Fantasy brand system and dashboard conversion */
:root{
  --bg:#020817;
  --bg2:#06142a;
  --card:#07182e;
  --card2:#0a203a;
  --panel:#081a31;
  --panel-strong:#0b223f;
  --line:rgba(162,189,226,.16);
  --line2:rgba(207,224,247,.25);
  --text:#f7f9fd;
  --muted:#9aa9bf;
  --gold:#d6a33a;
  --gold2:#f2cc69;
  --gold3:#ad7621;
  --green:#35d995;
  --red:#ff5d68;
  --shadow:0 24px 70px rgba(0,0,0,.44);
}
body.draft-app{background:radial-gradient(circle at 50% -12%,#102a50 0,#061327 32%,#020817 73%,#01040b 100%);color:var(--text)}
body.draft-app:before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,8,23,.06),rgba(2,8,23,.58) 72%,rgba(1,4,11,.9));z-index:0}
.arena-bg{opacity:.16!important;filter:saturate(.62) brightness(.72) blur(1.2px)!important;background-position:center 24%!important}

/* Main brand header */
.app-brand-header{display:none!important}
.fcf-header{position:relative;z-index:20;width:100%;background:linear-gradient(180deg,rgba(3,12,29,.99),rgba(4,17,36,.97));border-bottom:1px solid rgba(214,163,58,.30);box-shadow:0 12px 36px rgba(0,0,0,.36)}
.fcf-header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0,rgba(214,163,58,.3) 10%,rgba(242,204,105,.85) 50%,rgba(214,163,58,.3) 90%,transparent 100%)}
.fcf-header__inner{max-width:1580px;min-height:132px;margin:0 auto;padding:12px 30px;display:grid;grid-template-columns:minmax(400px,auto) 1fr auto;align-items:center;gap:38px}
.fcf-brand{display:flex;align-items:center;gap:18px;color:#fff;text-decoration:none;min-width:0}
.fcf-brand__shield{width:126px;height:126px;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.5))}
.fcf-brand__wordmark{position:relative;display:grid;line-height:.86;min-width:310px;padding-top:3px}
.fcf-brand__wordmark strong,.fcf-brand__wordmark b{font-family:'Barlow Condensed',Impact,sans-serif;font-style:italic;font-weight:900;letter-spacing:.035em;white-space:nowrap}
.fcf-brand__wordmark strong{font-size:38px;color:#fff;text-shadow:0 2px 10px rgba(255,255,255,.08)}
.fcf-brand__wordmark b{font-size:46px;color:var(--gold2);background:linear-gradient(180deg,#f7df92 0,#d4a43f 50%,#b97920 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.fcf-brand__wordmark small{display:flex;align-items:center;justify-content:center;gap:8px;color:#eef3fa;font:900 12px/1 Inter,sans-serif;letter-spacing:.16em;margin-top:7px}
.fcf-brand__wordmark small i{width:74px;height:2px;background:linear-gradient(90deg,transparent,var(--gold2))}.fcf-brand__wordmark small i:last-child{background:linear-gradient(90deg,var(--gold2),transparent)}
.fcf-season-badge{justify-self:start;display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border:1px solid rgba(214,163,58,.66);border-radius:999px;color:#e8b847;background:rgba(214,163,58,.065);font:900 12px/1 Inter,sans-serif;letter-spacing:.1em;white-space:nowrap}
.fcf-season-badge span{font-size:13px}
.fcf-header__account{justify-self:end;display:flex;align-items:center;gap:16px;min-width:0}
.fcf-notification{position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);color:#e6edf8;cursor:pointer}
.fcf-notification svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fcf-notification span{position:absolute;right:6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 4px rgba(242,204,105,.1)}
.fcf-profile-block{display:flex;align-items:center;gap:12px;padding-left:18px;border-left:1px solid rgba(255,255,255,.11)}
.fcf-profile-avatar{width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--gold);border-radius:50%;color:#0a1422;background:linear-gradient(145deg,#f3cd69,#c98e28);font:900 21px/1 Inter,sans-serif}
.fcf-profile-copy{display:flex;flex-direction:column;gap:3px;min-width:90px}.fcf-profile-copy strong{font-size:15px}.fcf-profile-copy small{color:#b2bdd0;font-size:12px}
.fcf-logout{border:0;background:transparent;color:var(--gold2);font-weight:900;cursor:pointer;padding:8px 0;white-space:nowrap}

/* Wider app shell / premium navigation */
.app-shell{max-width:1580px;padding:18px 30px 28px}
.app-layout{grid-template-columns:228px minmax(0,1fr);gap:18px}
.side-nav{top:16px;min-height:calc(100vh - 190px);display:flex;flex-direction:column;border-radius:14px;background:linear-gradient(180deg,rgba(4,14,30,.97),rgba(3,11,24,.95));border-color:rgba(152,181,220,.18);padding:0;overflow:hidden;box-shadow:0 26px 70px rgba(0,0,0,.36)}
.nav-item{position:relative;display:flex;align-items:center;gap:15px;border-radius:0;padding:15px 22px;font-family:Inter,sans-serif!important;font-size:16px;letter-spacing:0;color:#d2dbea;transition:background .16s,color .16s}
.nav-item:hover{background:rgba(255,255,255,.035)}
.nav-item.active{color:#f2c45b;background:linear-gradient(90deg,rgba(214,163,58,.20),rgba(214,163,58,.08));box-shadow:inset 4px 0 #e6ba55}
.nav-icon{width:23px;height:23px;color:#aab7cb;flex:0 0 23px}.nav-item.active .nav-icon{color:#f0c55e}.nav-icon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.side-nav-brand-note{margin:auto 16px 16px;padding:13px 12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(214,163,58,.24);border-radius:10px;background:linear-gradient(145deg,rgba(214,163,58,.08),rgba(6,19,38,.5))}
.side-nav-brand-note img{width:36px;height:40px;object-fit:contain}.side-nav-brand-note span{display:flex;flex-direction:column;gap:4px}.side-nav-brand-note strong{font-size:10px;color:var(--gold2);letter-spacing:.08em}.side-nav-brand-note small{font-size:9px;color:#d7deea;line-height:1.25}
.content-panel{min-height:680px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;overflow:visible}
.topbar{margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(10,31,56,.94),rgba(6,20,39,.94));padding:16px 20px;box-shadow:0 16px 42px rgba(0,0,0,.25)}
body[data-view="dashboard"] .topbar{display:none}
.view{padding:0}

/* Global card and form treatment drawn from the selected logo */
.card,.fcf-card,.modal-card,.draft-panel,.stat-card,.league-row,.player-card{background:linear-gradient(180deg,rgba(9,29,54,.97),rgba(5,18,36,.97));border:1px solid rgba(132,165,207,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 16px 45px rgba(0,0,0,.22)}
.card,.fcf-card{border-radius:13px}
.card{padding:20px}
.card h3,.fcf-card h3{font-family:Inter,sans-serif;font-weight:800;letter-spacing:-.02em}
.eyebrow,.fcf-section-label{color:#e2b24b;font-family:Inter,sans-serif;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.btn{font-family:Inter,sans-serif!important;border-radius:10px;min-height:48px;font-size:14px}
.btn.primary{color:#101522;background:linear-gradient(135deg,#f4d579 0,#d6a33a 55%,#b8781d 100%);box-shadow:0 12px 24px rgba(202,139,32,.25)}
.btn.secondary{background:linear-gradient(180deg,#102441,#091a32);border:1px solid rgba(151,180,220,.32)}
input,select,textarea{background:#031128;border-color:rgba(152,181,220,.26);border-radius:8px;color:#f5f7fb;min-height:43px;padding:10px 12px}
input:focus,select:focus,textarea:focus{border-color:#d7a63f;box-shadow:0 0 0 3px rgba(214,163,58,.12)}

/* Full Court Fantasy dashboard: match the approved concept image */
.fcf-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.fcf-card{position:relative;overflow:hidden;padding:20px}
.fcf-welcome-card{grid-column:span 8;min-height:250px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr);padding:0;background:linear-gradient(105deg,#091d38 0,#0a1f3b 48%,#06172c 100%)}
.fcf-welcome-copy{position:relative;z-index:2;padding:28px 26px;display:flex;flex-direction:column;justify-content:center;border-left:4px solid var(--gold)}
.fcf-welcome-copy h2{font:900 clamp(36px,4.4vw,58px)/.95 Inter,sans-serif;margin:8px 0 14px;letter-spacing:-.055em}
.fcf-welcome-copy p{margin:0 0 18px;color:#b0bed2;line-height:1.5;font-size:15px}.fcf-welcome-copy strong{color:#fff}
.fcf-dashboard-actions{display:flex;gap:12px;flex-wrap:wrap}.fcf-dashboard-actions .btn{min-width:185px}
.fcf-court-visual{position:relative;min-height:250px;background:linear-gradient(90deg,rgba(6,23,44,.8),rgba(4,16,31,.22)),url('mode-arena-bg.png') center 44%/cover no-repeat;filter:saturate(.62) brightness(.8)}
.fcf-court-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#091d38 0,transparent 36%,rgba(3,12,25,.18)),radial-gradient(circle at 70% 32%,rgba(255,255,255,.1),transparent 24%)}
.fcf-quick-actions{grid-column:span 4;display:grid;align-content:start;gap:14px;padding:24px}
.fcf-quick-button{width:100%;min-height:72px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px 16px;border:1px solid rgba(151,180,220,.27);border-radius:10px;background:linear-gradient(180deg,#102441,#091a32);color:#fff;text-align:left;cursor:pointer}
.fcf-quick-button.primary{background:linear-gradient(135deg,#f3d16d,#d29c32);color:#101725;border-color:#edc45b}
.fcf-quick-button>span{width:38px;height:38px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;font-size:22px}.fcf-quick-button>div{display:flex;flex-direction:column;gap:4px}.fcf-quick-button strong{font-size:16px}.fcf-quick-button small{font-size:12px;opacity:.78}.fcf-quick-button>b{font-size:26px;font-weight:400}
.fcf-current-league{grid-column:span 4}.fcf-form-card{grid-column:span 4}.fcf-feed-card{grid-column:span 6;min-height:138px}
.fcf-league-identity{display:flex;align-items:center;gap:16px;margin:14px 0}.fcf-league-identity>img{width:56px;height:64px;object-fit:contain}.fcf-league-identity h3{font-size:23px;margin:0 0 5px}.fcf-league-identity p{margin:0;color:#b0bed2;font-size:12px}.fcf-league-identity p b{color:var(--gold);padding:0 6px}
.fcf-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:14px 0;margin:12px 0 16px;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
.fcf-mini-stats>div{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 8px;border-right:1px solid rgba(255,255,255,.09)}.fcf-mini-stats>div:last-child{border-right:0}.fcf-mini-stats span{font-size:10px;color:#9dacbf;text-transform:uppercase;letter-spacing:.04em}.fcf-mini-stats strong{font-size:16px}
.fcf-outline-action{width:100%;min-height:45px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 13px;border:1px solid rgba(214,163,58,.62);border-radius:8px;background:rgba(214,163,58,.02);color:#efbf55;font-weight:900;text-align:left;cursor:pointer}.fcf-outline-action b{font-size:22px;font-weight:400}
.fcf-form-card h3{font-size:24px;margin:8px 0 14px}.fcf-form-card p{color:#a9b7ca;font-size:13px}.fcf-form-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fcf-form-card .field label{font-size:11px;color:#c2cddd}
.fcf-feed-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.fcf-feed-heading h3{font-size:18px;margin:5px 0 0}.fcf-feed-mark{color:var(--gold);font-size:22px}.fcf-feed-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}.fcf-feed-row:first-of-type{border-top:0}.fcf-feed-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(214,163,58,.28);background:rgba(214,163,58,.08);color:var(--gold2)}.fcf-feed-row div{display:flex;flex-direction:column;gap:3px;min-width:0}.fcf-feed-row strong{font-size:13px}.fcf-feed-row small{font-size:11px;color:#9eacc0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fcf-feed-row time{font-size:10px;color:#8997aa;white-space:nowrap}.fcf-feed-card .text-btn{font-size:11px}

/* Bring secondary pages into the same visual system */
.league-hero,.trade-hero,.waiver-hero,.live-control-card{background:linear-gradient(120deg,rgba(12,37,66,.98),rgba(5,18,35,.98))!important;border-color:rgba(214,163,58,.30)!important}
.ladder-header,.draft-panel h3{background:#031126}
.ladder-row.mine{background:linear-gradient(90deg,rgba(214,163,58,.20),rgba(214,163,58,.045));box-shadow:inset 4px 0 var(--gold)}
.pill.gold{background:linear-gradient(135deg,#f1d06a,#cb9130);color:#101521}
.player-score,.pick-num,.slot-pos,.matchup-roster-total,.projection-team-card strong{color:var(--gold2)}
.bottom-nav{background:rgba(2,9,22,.97);border-top-color:rgba(214,163,58,.26)}
.bottom-item.active{background:rgba(214,163,58,.12);color:var(--gold2)}
.freshFooterV500{color:#7f90a8}.freshFooterV500__links a{color:#bac6d6}.footerSocialV516__icon{color:#d5deea}

/* Public landing rebrand */
.hero-card{max-width:1080px;background:linear-gradient(160deg,rgba(9,28,53,.98),rgba(4,16,31,.98));border-color:rgba(214,163,58,.26);box-shadow:0 30px 100px rgba(0,0,0,.45)}
.hero-card h1{font-family:Inter,sans-serif;letter-spacing:-.06em}.status-grid div{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-color:rgba(151,180,220,.17)}

@media(max-width:1280px){
  .fcf-header__inner{grid-template-columns:minmax(350px,auto) 1fr auto;gap:20px;padding-inline:22px}.fcf-brand__shield{width:106px;height:106px}.fcf-brand__wordmark strong{font-size:31px}.fcf-brand__wordmark b{font-size:38px}.fcf-brand__wordmark{min-width:260px}.fcf-brand__wordmark small i{width:52px}
  .app-shell{padding-inline:20px}.app-layout{grid-template-columns:205px minmax(0,1fr)}
  .fcf-welcome-card{grid-column:span 7}.fcf-quick-actions{grid-column:span 5}
}
@media(max-width:1050px){
  .fcf-header__inner{min-height:104px}.fcf-season-badge{display:none}.fcf-brand__shield{width:92px;height:92px}.fcf-brand__wordmark strong{font-size:28px}.fcf-brand__wordmark b{font-size:34px}.fcf-brand__wordmark small{font-size:9px}.fcf-header__inner{grid-template-columns:1fr auto}
  .app-layout{grid-template-columns:1fr}.side-nav{display:none}.fcf-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.fcf-welcome-card,.fcf-quick-actions,.fcf-current-league,.fcf-form-card,.fcf-feed-card{grid-column:span 1}.fcf-welcome-card{grid-column:1/-1}.bottom-nav:not(.hidden){display:grid!important}
}
@media(max-width:760px){
  .fcf-header__inner{min-height:78px;padding:8px 12px;gap:10px}.fcf-brand{gap:10px}.fcf-brand__shield{width:68px;height:68px}.fcf-brand__wordmark{min-width:0}.fcf-brand__wordmark strong{font-size:20px}.fcf-brand__wordmark b{font-size:24px}.fcf-brand__wordmark small{font-size:7px;margin-top:4px}.fcf-brand__wordmark small i{width:24px;height:1px}.fcf-notification,.fcf-profile-copy,.fcf-logout{display:none}.fcf-profile-block{padding-left:0;border-left:0}.fcf-profile-avatar{width:40px;height:40px;font-size:16px}.fcf-header__account{gap:0}
  .app-shell{padding:10px 10px 88px}.fcf-dashboard{display:block}.fcf-card{margin-bottom:12px}.fcf-welcome-card{display:block;min-height:0}.fcf-welcome-copy{padding:22px 18px;border-left-width:3px}.fcf-welcome-copy h2{font-size:38px}.fcf-welcome-copy p{font-size:14px}.fcf-court-visual{height:150px;min-height:150px}.fcf-quick-actions{padding:18px}.fcf-form-split{grid-template-columns:1fr}.fcf-dashboard-actions .btn{flex:1;min-width:135px}.fcf-mini-stats span{font-size:8px}.fcf-mini-stats strong{font-size:14px}.topbar{padding:13px 15px}.topbar h2{font-size:26px}
  .freshFooterV500{padding-bottom:94px}
}
@media(max-width:460px){
  .fcf-brand__wordmark strong{font-size:17px}.fcf-brand__wordmark b{font-size:21px}.fcf-brand__wordmark small i{display:none}.fcf-brand__shield{width:60px;height:60px}.fcf-header__inner{min-height:70px}.fcf-profile-avatar{width:36px;height:36px}.fcf-dashboard-actions{display:grid;grid-template-columns:1fr 1fr}.fcf-dashboard-actions .btn{min-width:0;padding-inline:10px;font-size:12px}.fcf-welcome-copy h2{font-size:34px}.fcf-league-identity h3{font-size:20px}.fcf-feed-row{grid-template-columns:36px minmax(0,1fr)}.fcf-feed-row time{display:none}.fcf-feed-icon{width:34px;height:34px}.fcf-quick-button{grid-template-columns:36px 1fr auto}.fcf-quick-button>span{width:34px;height:34px}
}

/* v49 — League HQ restoration and title legibility */
.topbar h2,#viewTitle{color:#ffffff!important;font-weight:900!important;text-shadow:0 2px 14px rgba(0,0,0,.55);letter-spacing:-.035em}
#contextLabel{color:#f0c45d!important;font-weight:900!important;text-shadow:0 1px 8px rgba(0,0,0,.45)}
body[data-view="league"] .topbar{background:linear-gradient(180deg,#0b2442,#071b33);border-bottom-color:rgba(214,163,58,.35)}
body[data-view="league"] .topbar h2{font-size:32px!important}
.league-hq{display:grid;gap:16px}
.league-round-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border-color:rgba(214,163,58,.42);background:linear-gradient(110deg,rgba(214,163,58,.12),rgba(8,28,52,.98) 35%,rgba(5,20,39,.98))}
.league-round-copy{min-width:0}.league-round-copy h3{margin:5px 0 4px;font-size:25px;line-height:1.08;color:#fff}.league-round-copy p{margin:0;color:#aebbd0}
.league-round-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto}.league-round-meta>div{min-width:92px;padding:10px 14px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:#06172d;text-align:center}.league-round-meta span{display:block;color:#8f9db2;font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.league-round-meta strong{display:block;color:#efbd52;font-size:18px;margin-top:4px}.league-round-meta .btn{min-width:150px}
.league-hq-grid{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(270px,.85fr);gap:16px;align-items:start}
.league-ladder-primary{min-width:0;padding:20px}.league-ladder-primary h3{font-size:26px;color:#fff}.league-hq-side{display:grid;gap:16px}
.league-glance-card h3{font-size:22px;color:#fff;margin-top:6px}.league-glance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.league-glance-grid>div{min-height:95px;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#071a32}.league-glance-grid span{display:block;color:#8e9cb1;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.league-glance-grid strong{display:block;color:#efbd52;font-size:20px;line-height:1.05;margin:8px 0 3px}.league-glance-grid small{color:#9eacc0;font-size:10px}
.finals-race-list{display:grid;gap:7px;margin-top:12px}.finals-race-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;background:rgba(255,255,255,.035);border-left:3px solid transparent}.finals-race-row.inside{border-left-color:#d9a83e;background:rgba(214,163,58,.075)}.finals-race-row span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#07192e;color:#e8b94f;font-weight:900;font-size:11px}.finals-race-row strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finals-race-row em{font-style:normal;color:#8fa0b7;font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}
.league-activity-card.compact .activity-item{padding:10px 0}.league-activity-card.compact .activity-icon{width:32px;height:32px;font-size:13px}.league-activity-card.compact strong{font-size:11px}.league-activity-card.compact small{font-size:9px}
.league-hq-secondary{margin-top:0}.league-leaders-list{display:grid;gap:9px;margin-top:12px}.league-leader-row{display:grid;grid-template-columns:28px 42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.league-leader-row>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(214,163,58,.14);color:#efbd52;font-weight:900}.league-leader-row>div:not(.player-visual){display:flex;flex-direction:column;gap:2px;min-width:0}.league-leader-row strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-leader-row small{font-size:9px;color:#93a3b8}.league-leader-row>b{color:#efbd52;font-size:15px}
.league-ladder-primary .ladder-row{min-height:66px}.league-ladder-primary .ladder-team strong{font-size:14px}.league-ladder-primary .ladder-header{background:#06162a;color:#aab7ca}.league-ladder-primary .ladder-row.mine{box-shadow:inset 4px 0 0 #efbd52;background:linear-gradient(90deg,rgba(214,163,58,.18),rgba(255,255,255,.035))}
@media(max-width:1050px){.league-hq-grid{grid-template-columns:1fr}.league-hq-side{grid-template-columns:repeat(2,minmax(0,1fr))}.league-activity-card.compact{grid-column:1/-1}}
@media(max-width:768px){body[data-view="league"] .topbar h2{font-size:28px!important}.league-round-strip{display:grid;padding:15px}.league-round-meta{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}.league-round-meta .btn{grid-column:1/-1;width:100%}.league-hq-side{grid-template-columns:1fr}.league-glance-grid{grid-template-columns:1fr 1fr}.league-ladder-primary{overflow-x:auto}.league-ladder-primary .ladder-header,.league-ladder-primary .ladder-row{min-width:650px}.league-round-copy h3{font-size:21px}}
.fcf-form-message{min-height:20px;font-size:13px;font-weight:700;margin-top:2px}
.fcf-form-message.success{color:#70e0a1}
.fcf-form-message.error{color:#ff8d96}
.fcf-card.fcf-attention{animation:fcfAttention .9s ease}
@keyframes fcfAttention{0%,100%{box-shadow:0 0 0 1px rgba(213,168,70,.28)}50%{box-shadow:0 0 0 3px rgba(239,190,72,.75),0 0 28px rgba(222,174,65,.25)}}
.btn.is-loading{cursor:wait;opacity:.9}

/* v52 creation reliability and wordmark alignment */
.fcf-brand__wordmark small{justify-content:center!important;justify-self:center;width:100%;padding-right:0;margin-top:6px!important}
.fcf-brand__wordmark small i{width:52px!important;flex:0 0 52px!important}
.fcf-app-toast{position:fixed;right:24px;bottom:24px;z-index:9999;max-width:min(420px,calc(100vw - 32px));padding:14px 18px;border:1px solid rgba(242,204,105,.55);border-radius:12px;background:#07182d;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.48);font-weight:800;opacity:0;transform:translateY(14px);transition:.2s ease}
.fcf-app-toast.show{opacity:1;transform:translateY(0)}.fcf-app-toast.success{border-color:rgba(55,211,133,.55)}.fcf-app-toast.error{border-color:rgba(255,94,105,.65)}
@media(max-width:700px){.fcf-app-toast{right:16px;bottom:92px}.fcf-brand__wordmark small{justify-content:center!important;padding-right:0}}


/* v53 — verified create-league transition and centred endorsement */
.fcf-brand__wordmark{grid-template-columns:1fr;justify-items:start}
.fcf-brand__wordmark strong,.fcf-brand__wordmark b{display:block;width:100%}
.fcf-brand__wordmark small{display:flex!important;align-items:center!important;justify-content:center!important;justify-self:stretch!important;width:100%!important;padding:0!important;margin:5px 0 0!important;text-align:center!important}
.fcf-brand__wordmark small i{display:block;width:48px!important;height:1px!important;flex:0 0 48px!important}
@media(max-width:760px){.fcf-brand__wordmark small i{width:22px!important;flex-basis:22px!important}}


/* v55 structural wordmark lockup — endorsement belongs to FANTASY, not the whole brand */
.fcf-brand__wordmark{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-width:310px!important;padding-top:3px!important;line-height:.86!important}
.fcf-brand__wordmark>strong{display:block!important;width:auto!important}
.fcf-brand__fantasy-lockup{display:inline-flex!important;flex-direction:column!important;align-items:center!important;width:max-content!important;max-width:100%!important}
.fcf-brand__fantasy-lockup>b{display:block!important;width:auto!important}
.fcf-brand__fantasy-lockup>small{display:block!important;width:100%!important;margin:5px 0 0!important;padding:0!important;text-align:center!important;color:#eef3fa!important;font:900 12px/1 Inter,sans-serif!important;letter-spacing:.16em!important;white-space:nowrap!important}
.fcf-brand__fantasy-lockup>small::before,.fcf-brand__fantasy-lockup>small::after{content:'';display:inline-block;width:34px;height:1px;margin:0 9px 3px;background:linear-gradient(90deg,transparent,var(--gold2))}
.fcf-brand__fantasy-lockup>small::after{background:linear-gradient(90deg,var(--gold2),transparent)}
/* Disable obsolete generic endorsement row rules */
.fcf-brand__wordmark>small{display:none!important}
@media(max-width:1100px){.fcf-brand__wordmark{min-width:260px!important}.fcf-brand__fantasy-lockup>small{font-size:10px!important}.fcf-brand__fantasy-lockup>small::before,.fcf-brand__fantasy-lockup>small::after{width:26px}}
@media(max-width:760px){.fcf-brand__wordmark{min-width:0!important}.fcf-brand__fantasy-lockup>small{font-size:7px!important;margin-top:3px!important}.fcf-brand__fantasy-lockup>small::before,.fcf-brand__fantasy-lockup>small::after{width:12px;margin-inline:5px}}

/* v55 form interaction contract: form controls remain above decorative layers and fully interactive */
.fcf-form-card,.fcf-form-card form,.fcf-form-card .field,.fcf-form-card label{position:relative;z-index:2}
.fcf-form-card input,.fcf-form-card select,.fcf-form-card textarea{position:relative;z-index:3;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;touch-action:manipulation}
.fcf-form-card::before,.fcf-form-card::after{pointer-events:none!important}


/* v56 — readable league heading, post-draft dashboard lineup and full draft ranking coverage */
body[data-view="league"] #viewTitle,
body[data-view="league"] .topbar h2{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  font-size:30px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  color:#fff!important;
  text-shadow:none!important;
  font-stretch:normal!important;
}
.player-score.projected{color:#f2cf78}.player-score.projected:after{content:' PROJ';font-size:8px;letter-spacing:.08em;margin-left:3px;opacity:.8}
.fcf-dashboard-lineup{min-height:250px;padding:18px;background:linear-gradient(145deg,#081a31,#061427);display:flex;flex-direction:column;gap:11px;border-left:1px solid rgba(218,169,62,.3)}
.fcf-lineup-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.09);padding-bottom:11px}
.fcf-lineup-head span{display:block;color:#d9ab47;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.fcf-lineup-head strong{font-size:17px;color:#fff}.fcf-lineup-five{display:grid;gap:7px;flex:1}
.fcf-lineup-player{display:grid;grid-template-columns:32px 38px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:6px 9px;border-radius:11px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:#fff;text-align:left;cursor:pointer;transition:.15s ease}
.fcf-lineup-player:hover{border-color:rgba(218,169,62,.55);background:rgba(218,169,62,.08);transform:translateX(2px)}
.fcf-lineup-player .player-visual.small{width:34px;height:34px;min-width:34px;border-radius:9px}.fcf-lineup-pos{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:rgba(218,169,62,.13);border:1px solid rgba(218,169,62,.4);color:#efc45f;font-size:10px;font-weight:1000}
.fcf-lineup-name{min-width:0}.fcf-lineup-name strong,.fcf-lineup-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fcf-lineup-name strong{font-size:13px}.fcf-lineup-name small{margin-top:2px;color:#9eadc2;font-size:10px}
.fcf-lineup-status{display:flex;align-items:center;gap:7px;padding-top:3px;color:#aebbd0;font-size:10px}.fcf-lineup-status strong{color:#fff;margin-right:auto}.status-dot{width:7px;height:7px;border-radius:50%;background:#e2aa3e}.status-dot.ready{background:#39d98a;box-shadow:0 0 0 4px rgba(57,217,138,.1)}
@media(max-width:760px){body[data-view="league"] #viewTitle,body[data-view="league"] .topbar h2{font-size:25px!important}.fcf-dashboard-lineup{min-height:0}.fcf-lineup-player{grid-template-columns:30px 36px minmax(0,1fr)}}
/* v57 dashboard starting-five court */
.fcf-dashboard-lineup.court-mode{padding:16px 18px 12px;min-height:355px;overflow:hidden}
.fcf-lineup-court{position:relative;flex:1;min-height:285px;border-radius:14px;overflow:hidden;border:1px solid rgba(218,169,62,.28);background:
 linear-gradient(rgba(7,18,34,.15),rgba(7,18,34,.24)),
 repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 54px),
 linear-gradient(90deg,#7b4a20,#a86c31 22%,#8f5927 48%,#b27739 72%,#75441f);
 box-shadow:inset 0 0 45px rgba(0,0,0,.38)}
.fcf-lineup-court:before{content:"";position:absolute;inset:10px;border:2px solid rgba(255,255,255,.58);border-radius:3px;pointer-events:none}
.fcf-lineup-court:after{content:"";position:absolute;left:50%;top:10px;bottom:10px;border-left:2px solid rgba(255,255,255,.58);pointer-events:none}
.court-markings span{position:absolute;z-index:1;pointer-events:none}
.court-centre{width:72px;height:72px;border:2px solid rgba(255,255,255,.58);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.court-key{width:112px;height:65px;border:2px solid rgba(255,255,255,.58);left:50%;transform:translateX(-50%)}
.court-key.top{top:10px;border-top:0}.court-key.bottom{bottom:10px;border-bottom:0}
.court-player{position:absolute;z-index:3;width:142px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;text-align:center;transform:translate(-50%,-50%);transition:transform .18s ease,filter .18s ease}
.court-player:hover{transform:translate(-50%,-50%) scale(1.04);filter:brightness(1.08)}
.court-pg{left:29%;top:27%}.court-sg{left:71%;top:27%}.court-sf{left:22%;top:72%}.court-pf{left:50%;top:72%}.court-c{left:78%;top:72%}
.court-player-photo{position:relative;display:grid;place-items:center;width:72px;height:72px;margin:0 auto -8px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#172941,#091629);border:2px solid #e0ae45;box-shadow:0 8px 18px rgba(0,0,0,.42)}
.court-player-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.court-player-photo b{display:none;font-size:20px;color:#efc45f}.court-player-photo.fallback b,.court-player-photo.empty b{display:block}.court-player-photo.empty{border-style:dashed;background:rgba(5,18,35,.72)}
.court-position{position:relative;z-index:2;display:inline-grid;place-items:center;min-width:36px;height:25px;padding:0 8px;border-radius:8px;background:#0b1c32;border:1px solid rgba(218,169,62,.7);color:#f1c65d;font-size:11px;font-weight:1000;box-shadow:0 3px 10px rgba(0,0,0,.35)}
.court-player-label{display:block;margin:-2px auto 0;padding:12px 8px 7px;min-height:47px;border-radius:9px;background:linear-gradient(180deg,#0d2746,#07182d);border:1px solid rgba(255,255,255,.1);box-shadow:0 7px 16px rgba(0,0,0,.35)}
.court-player-label strong,.court-player-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.court-player-label strong{font-size:12px}.court-player-label small{margin-top:2px;color:#aebbd0;font-size:10px}
.status-dot.pending{background:#dba93d;box-shadow:0 0 0 4px rgba(219,169,61,.13)}
@media(max-width:980px){.fcf-dashboard-lineup.court-mode{min-height:330px}.fcf-lineup-court{min-height:260px}.court-player{width:120px}.court-player-photo{width:61px;height:61px}.court-player-label strong{font-size:11px}}
@media(max-width:620px){.fcf-dashboard-lineup.court-mode{padding:12px;min-height:350px}.fcf-lineup-court{min-height:285px}.court-player{width:98px}.court-player-photo{width:52px;height:52px}.court-position{height:21px;min-width:31px;font-size:9px}.court-player-label{padding:10px 5px 5px}.court-player-label strong{font-size:9px}.court-player-label small{font-size:8px}.court-pg{left:28%}.court-sg{left:72%}.court-sf{left:18%}.court-c{left:82%}}

/* v59 — approved spacious court-lineup composition */
@media(min-width:1051px){
  .fcf-welcome-card{grid-template-columns:minmax(280px,.72fr) minmax(570px,1.48fr);min-height:470px}
  .fcf-welcome-copy{padding:38px 32px}
  .fcf-welcome-copy h2{font-size:58px}
  .fcf-dashboard-lineup.court-mode{min-height:470px;padding:20px 20px 14px;gap:13px;border-left:1px solid rgba(218,169,62,.35)}
  .fcf-lineup-head{padding-bottom:13px}
  .fcf-lineup-head span{font-size:11px}.fcf-lineup-head strong{font-size:22px}
  .fcf-lineup-court{min-height:366px;border-radius:12px}
  .fcf-lineup-court:before{inset:8px;border-width:2px}
  .fcf-lineup-court:after{top:8px;bottom:8px}
  .court-key{width:132px;height:76px}.court-key.top{top:8px}.court-key.bottom{bottom:8px}
  .court-centre{width:86px;height:86px}
  .court-player{width:158px}
  .court-pg{left:29%;top:25%}.court-sg{left:71%;top:25%}
  .court-sf{left:19%;top:72%}.court-pf{left:50%;top:72%}.court-c{left:81%;top:72%}
  .court-player-photo{width:88px;height:88px;margin-bottom:-10px;border-width:3px;background:#0c1f38}
  .court-player-photo img{object-fit:contain;object-position:center bottom;background:linear-gradient(180deg,#172842,#09172b)}
  .court-player-photo b{font-size:24px}
  .court-position{min-width:48px;height:27px;font-size:13px;border-radius:8px}
  .court-player-label{width:150px;min-height:76px;margin-top:-3px;padding:15px 10px 9px;border-radius:9px}
  .court-player-label strong{font-size:13px;line-height:1.25}
  .court-player-label small{font-size:10px;line-height:1.25;margin-top:3px}
  .court-player-team{color:#c0cad8!important}
  .court-player-average{color:#fff!important}
  .fcf-lineup-status{font-size:11px;padding-top:2px}
}

/* Keep verified player photography uncropped and readable. */
.court-player-photo.has-photo img{object-fit:contain;object-position:center bottom}
.court-player-photo.fallback,.court-player-photo.empty{background:linear-gradient(145deg,#142944,#07172c)}
.court-player.empty .court-player-label{opacity:.88}
.court-player-empty-copy{color:#9eacc1!important}

@media(min-width:1051px) and (max-width:1280px){
  .fcf-welcome-card{grid-template-columns:minmax(255px,.68fr) minmax(500px,1.42fr)}
  .fcf-dashboard-lineup.court-mode{min-height:440px}
  .fcf-lineup-court{min-height:338px}
  .court-player{width:144px}.court-player-photo{width:78px;height:78px}.court-player-label{width:138px}
}

@media(max-width:1050px){
  .fcf-dashboard-lineup.court-mode{min-height:430px;padding:16px}
  .fcf-lineup-court{min-height:335px}
  .court-player{width:138px}.court-player-photo{width:76px;height:76px;object-fit:contain}
  .court-player-label{min-height:67px;padding:13px 8px 8px}
}

@media(max-width:620px){
  .fcf-dashboard-lineup.court-mode{min-height:405px;padding:12px 10px 10px}
  .fcf-lineup-court{min-height:310px}
  .court-player{width:105px}
  .court-player-photo{width:56px;height:56px}
  .court-player-label{width:102px;min-height:57px;padding:11px 5px 6px}
  .court-player-label strong{font-size:9px}.court-player-label small{font-size:8px}
  .court-pg{left:27%;top:25%}.court-sg{left:73%;top:25%}
  .court-sf{left:17%;top:72%}.court-pf{left:50%;top:72%}.court-c{left:83%;top:72%}
}

/* v60 — approved mock court composition, desktop density tuned to match 90% browser view */
@media (min-width:1281px){
  .fcf-dashboard{gap:14px}
  .fcf-welcome-card{grid-column:span 9;grid-template-columns:280px minmax(0,1fr);min-height:500px}
  .fcf-quick-actions{grid-column:span 3}
  .fcf-welcome-copy{padding:32px 28px}
  .fcf-welcome-copy h2{font-size:52px}
  .fcf-dashboard-actions .btn{min-width:176px}
  .fcf-dashboard-lineup.court-mode{min-height:500px;padding:18px 20px 12px;gap:10px;border-left:1px solid rgba(218,169,62,.30)}
  .fcf-lineup-head{min-height:54px}
  .fcf-lineup-head strong{font-size:23px}
  .fcf-lineup-head .text-btn{font-size:14px;white-space:nowrap}
  .fcf-lineup-court{min-height:400px;border-radius:4px;border:0;background:url('assets/fcf-lineup-court-v64.png') center/cover no-repeat;box-shadow:inset 0 0 42px rgba(0,0,0,.35)}
  .fcf-lineup-court:before,.fcf-lineup-court:after,.court-markings{display:none!important}
  .court-player{width:168px}
  .court-pg{left:28%;top:24%}.court-sg{left:72%;top:24%}
  .court-sf{left:18%;top:72%}.court-pf{left:50%;top:72%}.court-c{left:82%;top:72%}
  .court-player-photo{width:94px;height:94px;margin-bottom:-7px;border:3px solid #dcae47;background:#0a1a2f;box-shadow:0 10px 24px rgba(0,0,0,.45)}
  .court-player-photo img{object-fit:contain!important;object-position:center bottom;background:linear-gradient(180deg,#21314a,#0b192c)}
  .court-position{height:27px;min-width:50px;font-size:13px;border-radius:7px;margin-bottom:0}
  .court-player-label{width:158px;min-height:72px;margin-top:0;padding:13px 10px 9px;border-radius:8px;background:linear-gradient(180deg,#0c2746,#07182c);border:1px solid rgba(255,255,255,.11);box-shadow:0 8px 18px rgba(0,0,0,.38)}
  .court-player-label strong{font-size:14px;line-height:1.25}.court-player-label small{font-size:11px;line-height:1.25;margin-top:3px}
  .fcf-lineup-status{min-height:25px}
}
@media (min-width:1051px) and (max-width:1280px){
  .fcf-welcome-card{grid-template-columns:250px minmax(0,1fr)}
  .fcf-dashboard-lineup.court-mode{min-height:440px;padding:15px 16px 10px}
  .fcf-lineup-court{min-height:344px;border-radius:4px;border:0;background:url('assets/fcf-lineup-court-v64.png') center/cover no-repeat}
  .fcf-lineup-court:before,.fcf-lineup-court:after,.court-markings{display:none!important}
  .court-player{width:142px}.court-player-photo{width:78px;height:78px}.court-player-label{width:136px;min-height:64px}
}
@media (max-width:1050px){
  .fcf-lineup-court{background:url('assets/fcf-lineup-court-v64.png') center/cover no-repeat!important;border-radius:5px}
  .fcf-lineup-court:before,.fcf-lineup-court:after,.court-markings{display:none!important}
}


/* v61 — permanent mock-match fix. v60 rules were previously not loaded by index.html. */
@media (min-width: 1281px){
  .app-shell{max-width:1840px;padding:14px 18px 42px}
  .app-layout{grid-template-columns:240px minmax(0,1fr);gap:16px}
  .fcf-dashboard{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
  .fcf-welcome-card{grid-column:span 9;grid-template-columns:300px minmax(0,1fr);min-height:488px}
  .fcf-quick-actions{grid-column:span 3}
  .fcf-welcome-copy{padding:34px 28px}
  .fcf-welcome-copy h2{font-size:54px;line-height:.95}
  .fcf-dashboard-lineup.court-mode{min-height:488px;padding:16px 18px 10px}
  .fcf-lineup-head{min-height:58px;padding-bottom:10px}
  .fcf-lineup-court{min-height:392px;background-image:linear-gradient(rgba(2,9,18,.05),rgba(2,9,18,.13)),url('assets/fcf-lineup-court-v64.png')!important;background-position:center top!important;background-size:cover!important;border-radius:0!important;box-shadow:inset 0 0 34px rgba(0,0,0,.28)!important}
  .court-pg{left:28%;top:24%}.court-sg{left:72%;top:24%}
  .court-sf{left:18%;top:73%}.court-pf{left:50%;top:73%}.court-c{left:82%;top:73%}
  .court-player{width:164px}
  .court-player-photo{width:90px;height:90px}
  .court-player-label{width:154px;min-height:68px;padding:12px 9px 8px}
  .court-player-label strong{font-size:13px}.court-player-label small{font-size:10px}
}
/* Emulate the preferred 90% desktop density without relying on browser zoom. */
@media (min-width: 1500px){
  .fcf-header__inner,.app-shell{max-width:1880px}
  .fcf-header__inner{min-height:142px}
  .fcf-brand__shield{width:122px;height:122px}
  .side-nav{font-size:.94rem}
  .content-panel{min-width:0}
}

/* v62 — approved mock court asset + true 90% desktop density */
@media (min-width: 1200px){
  html{zoom:.9}
}
@media (min-width:1281px){
  .fcf-header__inner,.app-shell{max-width:1900px}
  .app-shell{padding:14px 20px 46px}
  .app-layout{grid-template-columns:240px minmax(0,1fr);gap:16px}
  .fcf-dashboard{gap:14px}
  .fcf-welcome-card{grid-column:span 9;grid-template-columns:300px minmax(0,1fr);min-height:500px}
  .fcf-quick-actions{grid-column:span 3}
  .fcf-dashboard-lineup.court-mode{min-height:500px;padding:16px 18px 10px;gap:10px;overflow:visible}
  .fcf-lineup-head{min-height:58px;padding-bottom:10px}
  .fcf-lineup-court{min-height:400px;background:url('assets/fcf-lineup-court-v64.png') center/100% 100% no-repeat!important;border:0!important;border-radius:0!important;box-shadow:inset 0 0 34px rgba(0,0,0,.24)!important;overflow:visible!important}
  .fcf-lineup-court:before,.fcf-lineup-court:after,.court-markings{display:none!important}
  .court-player{width:164px}
  .court-pg{left:28%;top:23%}.court-sg{left:72%;top:23%}
  .court-sf{left:18%;top:75%}.court-pf{left:50%;top:75%}.court-c{left:82%;top:75%}
  .court-player-photo{width:92px;height:92px;margin-bottom:-7px;border:3px solid #dcae47;background:#0a1a2f;box-shadow:0 10px 24px rgba(0,0,0,.45)}
  .court-player-photo img{object-fit:contain!important;object-position:center bottom!important;background:linear-gradient(180deg,#21314a,#0b192c)}
  .court-position{height:27px;min-width:50px;font-size:13px;border-radius:7px}
  .court-player-label{width:158px;min-height:70px;margin-top:0;padding:13px 10px 9px;border-radius:8px}
  .court-player-label strong{font-size:14px;line-height:1.22}.court-player-label small{font-size:11px;line-height:1.22;margin-top:3px}
}
@media (min-width:1051px) and (max-width:1280px){
  .fcf-lineup-court{background:url('assets/fcf-lineup-court-v64.png') center/100% 100% no-repeat!important;border:0!important;border-radius:0!important}
  .fcf-lineup-court:before,.fcf-lineup-court:after,.court-markings{display:none!important}
}
@media (max-width:1050px){
  .fcf-lineup-court{background:url('assets/fcf-lineup-court-v64.png') center/100% 100% no-repeat!important}
}

/* v63 — approved perspective court asset and true 90% desktop presentation */
@media (min-width: 1200px) {
  html {
    zoom: .9;
  }
}

@media (min-width: 1281px) {
  .fcf-header__inner,
  .app-shell {
    max-width: 1900px;
  }

  .app-shell {
    padding: 14px 20px 46px;
  }

  .app-layout {
    grid-template-columns: 240px minmax(0,1fr);
    gap: 16px;
  }

  .fcf-dashboard {
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: 14px;
  }

  .fcf-welcome-card {
    grid-column: span 9;
    grid-template-columns: 292px minmax(0,1fr);
    min-height: 500px;
  }

  .fcf-quick-actions {
    grid-column: span 3;
  }

  .fcf-welcome-copy {
    padding: 34px 28px;
  }

  .fcf-dashboard-lineup.court-mode {
    min-height: 500px;
    padding: 16px 18px 10px;
    gap: 10px;
    overflow: hidden;
  }

  .fcf-lineup-head {
    min-height: 58px;
    padding-bottom: 10px;
  }

  .fcf-lineup-court {
    position: relative;
    min-height: 400px;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background-image:
      linear-gradient(rgba(3,10,19,.02),rgba(3,10,19,.08)),
      url('assets/fcf-lineup-court-v64.png') !important;
    background-size: cover !important;
    background-position: center 63% !important;
    background-repeat: no-repeat !important;
    box-shadow: inset 0 0 32px rgba(0,0,0,.20) !important;
  }

  .fcf-lineup-court:before,
  .fcf-lineup-court:after,
  .court-markings {
    display: none !important;
  }

  .court-player {
    width: 164px;
    z-index: 3;
  }

  .court-pg { left: 29%; top: 26%; }
  .court-sg { left: 71%; top: 26%; }
  .court-sf { left: 18%; top: 73%; }
  .court-pf { left: 50%; top: 73%; }
  .court-c  { left: 82%; top: 73%; }

  .court-player-photo {
    width: 92px;
    height: 92px;
    margin-bottom: -7px;
    border: 3px solid #dcae47;
    background: #0a1a2f;
    box-shadow: 0 10px 24px rgba(0,0,0,.45);
  }

  .court-player-photo img {
    object-fit: contain !important;
    object-position: center bottom !important;
    background: linear-gradient(180deg,#21314a,#0b192c);
  }

  .court-position {
    height: 27px;
    min-width: 50px;
    font-size: 13px;
    border-radius: 7px;
  }

  .court-player-label {
    width: 158px;
    min-height: 70px;
    margin-top: 0;
    padding: 13px 10px 9px;
    border-radius: 8px;
    background: linear-gradient(180deg,#0c2746,#07182c);
    border: 1px solid rgba(255,255,255,.11);
    box-shadow: 0 8px 18px rgba(0,0,0,.38);
  }

  .court-player-label strong {
    font-size: 14px;
    line-height: 1.22;
  }

  .court-player-label small {
    font-size: 11px;
    line-height: 1.22;
    margin-top: 3px;
  }
}

@media (min-width: 1051px) and (max-width: 1280px) {
  .fcf-lineup-court {
    background-image:
      linear-gradient(rgba(3,10,19,.02),rgba(3,10,19,.08)),
      url('assets/fcf-lineup-court-v64.png') !important;
    background-size: cover !important;
    background-position: center 63% !important;
    background-repeat: no-repeat !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .fcf-lineup-court:before,
  .fcf-lineup-court:after,
  .court-markings { display:none !important; }
}

@media (max-width: 1050px) {
  .fcf-lineup-court {
    background-image:
      linear-gradient(rgba(3,10,19,.02),rgba(3,10,19,.08)),
      url('assets/fcf-lineup-court-v64.png') !important;
    background-size: cover !important;
    background-position: center 63% !important;
    background-repeat: no-repeat !important;
  }
  .fcf-lineup-court:before,
  .fcf-lineup-court:after,
  .court-markings { display:none !important; }
}

/* v99 — flow-safe desktop scaling and public landing layout.
   The previous transform/negative-margin combination detached the footer from
   normal document flow on shorter desktop screens. */
@media (min-width:1200px){
  html{zoom:1!important}
  body{overflow-x:hidden}
  body.is-private{zoom:.9}
}
body.is-public{min-height:100vh;display:flex;flex-direction:column}
body.is-public .fcf-header{flex:0 0 auto}
body.is-public #app{flex:1 0 auto;width:100%;padding-top:34px;padding-bottom:0}
body.is-public .freshFooterV500{flex:0 0 auto;margin-top:26px;margin-bottom:28px}
@media (min-width:769px) and (max-height:820px){
  body.is-public .fcf-header__inner{min-height:132px}
  body.is-public #app{padding-top:28px}
  body.is-public .hero-card{padding:30px 32px}
  body.is-public .hero-card h1{font-size:clamp(44px,5.2vw,66px);line-height:.94;margin-top:10px}
  body.is-public .hero-card p{margin-bottom:20px;font-size:16px}
  body.is-public .status-grid{margin-top:22px}
  body.is-public .status-grid div{padding:14px}
  body.is-public .freshFooterV500{margin-top:22px;margin-bottom:22px}
}

@media (min-width:1281px){
  .fcf-dashboard-lineup.court-mode{
    min-height:500px;
    padding:16px 18px 10px;
    overflow:hidden;
  }
  .fcf-lineup-court{
    min-height:400px;
    background:#000 url('assets/fcf-lineup-court-v64.png') center center/cover no-repeat!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .fcf-lineup-court:before,.fcf-lineup-court:after,.court-markings{display:none!important}
  .court-pg{left:28%;top:25%}.court-sg{left:72%;top:25%}
  .court-sf{left:18%;top:74%}.court-pf{left:50%;top:74%}.court-c{left:82%;top:74%}
}
@media (min-width:1051px) and (max-width:1280px){
  .fcf-lineup-court{background:#000 url('assets/fcf-lineup-court-v64.png') center center/cover no-repeat!important}
}
@media (max-width:1050px){
  .fcf-lineup-court{background:#000 url('assets/fcf-lineup-court-v64.png') center center/cover no-repeat!important}
}


/* v65: pre-draft starting five artwork */
.pre-draft-lineup-promo{
  min-height:500px;
  padding:0;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(218,169,62,.28);
  border-radius:14px;
  display:flex;
  flex-direction:column;
}
.pre-draft-lineup-image{
  display:block;
  flex:1;
  min-height:0;
  width:100%;
  padding:0;
  border:0;
  background:#000;
  cursor:pointer;
  overflow:hidden;
}
.pre-draft-lineup-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:450px;
  object-fit:cover;
  object-position:center;
}
.pre-draft-lineup-image:hover img{filter:brightness(1.06)}
.pre-draft-lineup-image:focus-visible{outline:3px solid #e2aa3e;outline-offset:-3px}
.pre-draft-status{
  min-height:38px;
  padding:8px 12px;
  background:#07172d;
  border-top:1px solid rgba(255,255,255,.08);
}
.pre-draft-status span:last-child{color:#e7b744;font-weight:800}
@media(max-width:1050px){
  .pre-draft-lineup-promo{min-height:420px}
  .pre-draft-lineup-image img{min-height:370px}
}
@media(max-width:620px){
  .pre-draft-lineup-promo{min-height:350px}
  .pre-draft-lineup-image img{min-height:300px;object-position:center top}
  .pre-draft-status{font-size:9px}
}

/* v66 — unified readable page-title typography across every private page */
#viewTitle,
.topbar #viewTitle,
.topbar h2{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:28px!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
  font-stretch:normal!important;
  color:#fff!important;
  text-shadow:none!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#contextLabel{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-shadow:none!important;
}
@media(max-width:760px){
  #viewTitle,.topbar #viewTitle,.topbar h2{font-size:24px!important;line-height:1.12!important}
}

/* Show the pre-draft starting-five artwork immediately after account login,
   even before the user has created or joined a league. */
.no-league-promo{width:100%;height:100%}
.no-league-promo .pre-draft-lineup-image{min-height:0}

/* v67: historical draft intelligence */
.player-database-card .pill{white-space:nowrap}.player-db-stats>div:first-child{border-color:rgba(240,181,52,.4);background:rgba(240,181,52,.07)}

/* v71 verified local data pipeline */
.player-visual img,.court-player-photo img{background:linear-gradient(180deg,#21314a,#0b192c)}

/* v72 — production backend and shared league status */
.fcf-backend-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);color:#b8c1d1;font-size:10px;font-weight:900;letter-spacing:.11em;white-space:nowrap}
.fcf-backend-badge.green{border-color:rgba(44,211,140,.42);background:rgba(44,211,140,.12);color:#69e4ad}
.fcf-backend-badge.gold{border-color:rgba(247,183,49,.45);background:rgba(247,183,49,.12);color:#f7c55e}
.backend-settings-card{border-color:rgba(247,183,49,.28);background:linear-gradient(135deg,rgba(247,183,49,.08),rgba(7,18,38,.94) 42%)}
.backend-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.backend-status-grid>div{display:grid;gap:6px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035);min-width:0}
.backend-status-grid span{color:#8791a3;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.backend-status-grid strong{overflow:hidden;color:#f6f8fc;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
#authMessage:empty{display:none}
@media(max-width:900px){.fcf-backend-badge{display:none}.backend-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.backend-status-grid{grid-template-columns:1fr}.backend-status-grid>div{padding:12px}}

/* v73 server-authoritative live draft room */
.draft-sync-card{margin-bottom:14px;border-color:rgba(66,211,146,.28);background:linear-gradient(135deg,rgba(15,37,49,.98),rgba(11,27,39,.98))}
.draft-sync-card p{margin-bottom:0}
.draft-board .pick .player-meta{display:inline-block;margin-top:3px}
.draft-clock.urgent{box-shadow:0 0 0 3px rgba(255,94,94,.12),0 0 28px rgba(255,94,94,.16)}

/* v76 launch controls */
.auth-mode-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:4px}
.auth-mode-links .mini-btn{border:0;background:transparent;color:var(--gold,#e7b94b);padding:4px 8px;cursor:pointer}
.notification-list{display:grid;gap:8px;max-height:50vh;overflow:auto;margin:12px 0}
#notificationPrefs .feature-row{cursor:pointer}
#notificationPrefs input[type="checkbox"]{width:18px;height:18px;accent-color:#e7b94b}
#cloudBackupList,#cloudAuditList{display:grid;gap:8px;max-height:360px;overflow:auto}


/* v77 — visual restoration: backend status remains in More, approved header and dark headshot presentation preserved. */

/* v84 live-centre production cleanup */
.live-player-row.premium{grid-template-columns:46px minmax(0,1fr) auto 64px!important}
.live-player-row.premium>.player-visual,.live-player-row.premium>.player-initial{grid-column:1}
.live-player-row.premium>div:nth-of-type(2){grid-column:2;min-width:0}
.live-player-row.premium .live-player-status{grid-column:3;justify-self:end;width:auto;min-width:76px;justify-content:center}
.live-player-row.premium .live-score{grid-column:4}
@media(max-width:800px){.live-player-row.premium{grid-template-columns:42px minmax(0,1fr) 58px!important}.live-player-row.premium .live-player-status{display:none}.live-player-row.premium .live-score{grid-column:3}}

.live-matchup-summary>.btn#backToMatchup{margin-top:4px}
#openLiveCentre{margin-top:16px;margin-bottom:4px}
.matchup-history-controls #openLiveCentre{margin:0}


/* v85 official schedule presentation */
.game-centre-card .game-clock{min-width:130px}
.game-centre-card .game-status.upcoming{letter-spacing:.08em}
@media (max-width:760px){.game-centre-card .game-clock{min-width:0}}


/* v86 — live fixture bridge, replay diagnostics and fixture-card readability */
.featured-game{padding-top:16px!important}
.featured-game .game-status,.featured-game .game-clock{position:static!important;inset:auto!important;padding:0!important}
.game-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;margin-bottom:14px}
.game-card-head .game-status{flex:0 0 auto;line-height:1.2}
.game-card-head .game-clock{flex:1 1 auto;min-width:0!important;text-align:right;white-space:normal;line-height:1.25}
.live-bridge-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin:0 0 14px;border:1px solid rgba(62,213,149,.26);border-radius:14px;background:linear-gradient(135deg,rgba(14,47,48,.92),rgba(10,29,43,.96))}
.live-bridge-strip>div{display:grid;gap:4px;min-width:0}
.live-bridge-strip strong{color:#f6f8fc;font-size:14px}
.live-bridge-strip span{color:#aeb9c9;font-size:12px;line-height:1.45}
.controlled-replay-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:rgba(247,183,49,.35);background:linear-gradient(135deg,rgba(247,183,49,.08),rgba(7,18,38,.96) 42%)}
.controlled-replay-card p{margin-bottom:0}
.controlled-replay-status{display:grid;justify-items:end;gap:10px;min-width:280px}
.bridge-diagnostics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.bridge-diagnostics-grid>div{display:grid;gap:5px;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}
.bridge-diagnostics-grid strong{font-size:21px;color:#f4bd43}
.bridge-diagnostics-grid span{color:#9da9ba;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:900px){
  .live-bridge-strip,.controlled-replay-card{align-items:stretch;flex-direction:column}
  .controlled-replay-status{justify-items:start;min-width:0}
  .bridge-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .game-card-head{gap:8px;flex-direction:column}
  .game-card-head .game-clock{text-align:left}
  .bridge-diagnostics-grid{grid-template-columns:1fr 1fr}
}


/* v88 — halftime projection-state accuracy and compact fixture scrolling */
@media (max-width:1500px){
  .game-card-list{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;overflow-y:hidden;padding:0 0 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(247,183,49,.7) rgba(255,255,255,.08);overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .game-card-list::-webkit-scrollbar{height:9px}
  .game-card-list::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:999px}
  .game-card-list::-webkit-scrollbar-thumb{background:rgba(247,183,49,.72);border-radius:999px}
  .game-card-list .game-centre-card{flex:0 0 240px;min-width:240px;scroll-snap-align:start}
}
@media (max-width:760px){
  .game-card-list .game-centre-card{flex-basis:220px;min-width:220px}
}

/* v89 — saved-average badge binding correction */


/* v90 — clean player portraits: club logos remain in text/inline metadata, never over the headshot. */
.player-visual{overflow:hidden}
.player-visual>.team-visual{display:none!important}
.matchup-player-row .player-visual,.live-player-row .player-visual{border-radius:50%;border-color:rgba(231,185,75,.58);box-shadow:0 0 0 2px rgba(231,185,75,.07),inset 0 1px 0 rgba(255,255,255,.08)}
.matchup-player-row .player-visual img,.live-player-row .player-visual img{object-position:center top}

/* v91 — restore clear spacing between matchup portraits and player text. */
.matchup-player-row{grid-template-columns:38px 44px minmax(0,1fr) auto auto 64px;column-gap:14px}
.matchup-player-row .player-visual.small{width:44px;height:44px;min-width:44px}
.matchup-player-info{padding-left:2px}
@media(max-width:900px){
  .matchup-player-row{grid-template-columns:36px 42px minmax(0,1fr) auto 58px;column-gap:12px}
  .matchup-player-row .player-visual.small{width:42px;height:42px;min-width:42px}
}
@media(max-width:520px){
  .matchup-player-row{grid-template-columns:34px 38px minmax(0,1fr) 54px;column-gap:10px}
  .matchup-player-row .player-visual.small{width:38px;height:38px;min-width:38px}
  .matchup-player-info{padding-left:1px}
}

/* v92 — premium leading/winner treatment for the league matchup strip. */
.match-side.matchup-winner{
  position:relative;
  isolation:isolate;
  padding:9px 11px;
  margin:-9px -11px;
  border:1px solid rgba(235,187,74,.42);
  border-radius:13px;
  outline:0;
  background:linear-gradient(100deg,rgba(235,187,74,.16) 0%,rgba(235,187,74,.055) 58%,rgba(235,187,74,.018) 100%);
  box-shadow:inset 3px 0 0 rgba(239,190,73,.96),inset 0 1px 0 rgba(255,255,255,.09),0 8px 22px rgba(201,151,42,.10);
}
.match-side.right.matchup-winner{
  background:linear-gradient(260deg,rgba(235,187,74,.16) 0%,rgba(235,187,74,.055) 58%,rgba(235,187,74,.018) 100%);
  box-shadow:inset -3px 0 0 rgba(239,190,73,.96),inset 0 1px 0 rgba(255,255,255,.09),0 8px 22px rgba(201,151,42,.10);
}
.match-side.matchup-winner::before{
  content:"";
  position:absolute;
  top:0;
  left:14px;
  right:14px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,221,137,.78),transparent);
  pointer-events:none;
}
.match-side.matchup-winner strong{
  color:#fff3cf;
  text-shadow:0 1px 12px rgba(235,187,74,.14);
}
.match-side.matchup-winner span{
  color:#09111f;
  border-color:rgba(255,224,142,.68);
  background:linear-gradient(180deg,#f4ce69 0%,#dba83b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 12px rgba(219,168,59,.20);
}
@media(max-width:768px){
  .match-side.right.matchup-winner{
    background:linear-gradient(100deg,rgba(235,187,74,.16) 0%,rgba(235,187,74,.055) 58%,rgba(235,187,74,.018) 100%);
    box-shadow:inset 3px 0 0 rgba(239,190,73,.96),inset 0 1px 0 rgba(255,255,255,.09),0 8px 22px rgba(201,151,42,.10);
  }
}

/* v93 — rolling team-tip-off locks and current-season per-game averages */
.rolling-lock-card{
  border-color:rgba(240,193,69,.38);
  background:linear-gradient(135deg,rgba(240,193,69,.055),rgba(8,28,51,.96) 48%);
}
.lineup-lock-note{
  display:block;
  margin-top:4px;
  color:#9fb0c7;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.01em;
}
.lineup-lock-note.is-locked{color:#f2c552;}
.lineup-player-card.player-locked{
  border-color:rgba(240,193,69,.22);
  background:linear-gradient(90deg,rgba(240,193,69,.035),rgba(13,38,67,.92));
}
.locked-player-pill{
  color:#f4ca5b;
  border-color:rgba(240,193,69,.38);
  background:rgba(240,193,69,.09);
}
.season-average-pill{white-space:nowrap;}
@media(max-width:760px){
  .lineup-lock-note{font-size:.66rem;}
  .season-average-pill{font-size:.68rem;}
}

/* v94 — Players page switches to NBL27 per-game stats after first appearance */
/* v95 — stable public player filters and production-copy cleanup */


/* v96 — Players controls remain mounted during cloud synchronisation. */
.player-browser-filter-card{position:relative;z-index:20;isolation:isolate;overflow:visible!important;}
.player-browser-filter-card::before,.player-browser-filter-card::after{pointer-events:none!important;}
.player-browser-filters{z-index:30!important;pointer-events:auto!important;}
.player-browser-filters input,.player-browser-filters select{z-index:31!important;pointer-events:auto!important;user-select:auto!important;-webkit-user-select:auto!important;}
.player-db-footer.public-player-actions .mini-btn{white-space:nowrap;min-width:max-content;}


/* v97 persistent player/waiver browsers and public card polish */
.player-browser-filter-card,.waiver-browser-card{position:relative;z-index:40;isolation:isolate;overflow:visible!important}
.player-browser-filter-card::before,.player-browser-filter-card::after,.waiver-browser-card::before,.waiver-browser-card::after{pointer-events:none!important}
.player-browser-filters,.waiver-browser-filters{position:relative;z-index:50;display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(155px,1fr));gap:10px;pointer-events:auto!important}
.player-browser-filters input,.player-browser-filters select,.waiver-browser-filters input,.waiver-browser-filters select{position:relative;z-index:51;pointer-events:auto!important;touch-action:manipulation;user-select:auto!important;-webkit-user-select:auto!important}
.player-browser-grid,.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.interactive-player-card{cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.interactive-player-card:hover,.interactive-player-card:focus-visible{transform:translateY(-1px);border-color:rgba(231,185,75,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 34px rgba(0,0,0,.24),0 0 0 2px rgba(231,185,75,.07);outline:none}
.player-database-card{min-height:318px;grid-template-rows:auto auto 1fr auto}
.player-db-footer.public-player-actions{justify-content:flex-end;min-height:30px;margin-top:auto}
.player-card-view-label{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#f2c65d;font-size:12px;font-weight:1000;letter-spacing:.01em;padding:8px 11px;border-radius:999px;border:1px solid rgba(231,185,75,.32);background:rgba(231,185,75,.08)}
.player-card-view-label b{font-size:17px;line-height:1;transform:translateY(-1px)}
.waiver-browser-filters{margin-top:14px}
.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}

.waiver-player-main{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-areas:'photo copy' 'value value';align-items:start;column-gap:12px;row-gap:13px}
.waiver-player-main>.player-visual{grid-area:photo;width:58px;height:58px;min-width:58px;border-radius:16px;align-self:start;margin:0}

.waiver-player-copy>strong{display:block;font-size:16px;line-height:1.12;margin:0 0 5px;overflow-wrap:anywhere}

.waiver-player-copy .team-visual{width:23px;height:23px;min-width:23px}


.waiver-player-average{grid-area:value;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(132,165,207,.18)}
.waiver-player-average strong{color:#f0bd4e;font-size:18px;line-height:1}
.waiver-player-average span{color:var(--muted);font-size:11px;font-weight:900;text-align:right}
.waiver-player-average.projected strong{font-size:16px}
.waiver-player-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.waiver-player-actions .btn{min-height:43px;padding:10px 16px;flex:1;max-width:170px}
.waiver-player-actions .player-card-view-label{padding:7px 10px}
.player-detail-card .recent-game-list>div:not(.empty) span{font-weight:850;color:#dce5f2}
@media(max-width:1050px){.waiver-browser-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.waiver-browser-filters input{grid-column:1/-1}.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}}
@media(max-width:700px){.waiver-browser-filters{grid-template-columns:1fr}.waiver-browser-filters input{grid-column:auto}.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.waiver-player-actions .btn{max-width:none}.player-database-card{min-height:auto}}

/* v98 waiver cards: use the full card width and normalise official portraits */
.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}

.waiver-player-main{grid-template-columns:72px minmax(0,1fr);grid-template-areas:'photo copy' 'value value';column-gap:13px;row-gap:12px;align-items:start}
.waiver-player-main>.player-visual{width:72px;height:78px;min-width:72px;border-radius:16px;align-self:start;background:linear-gradient(180deg,rgba(38,57,82,.96),rgba(10,25,45,.98))}
.waiver-player-main>.player-visual img{object-fit:contain;object-position:center bottom;padding:3px 3px 0;background:transparent}

.waiver-player-copy>strong{font-size:16px;line-height:1.12;margin-bottom:6px}
.waiver-player-average{width:100%;box-sizing:border-box}
.waiver-player-actions{display:grid;grid-template-columns:1fr;width:100%;gap:0}
.waiver-player-actions .btn{width:100%;max-width:none;min-height:46px}
@media(max-width:1050px){.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}}
@media(max-width:700px){.waiver-player-main{grid-template-columns:66px minmax(0,1fr)}.waiver-player-main>.player-visual{width:66px;height:72px;min-width:66px}}


/* v102 — verified portraits first; safe official-profile fallback */
.player-visual.browser-portrait img{
  width:100%;height:100%;padding:0!important;
  object-fit:cover!important;object-position:center 12%!important;
  transform:scale(1.08);transform-origin:center 20%;
}
.player-visual.browser-portrait.portrait-zoom-medium img{transform:scale(1.2);object-position:center 10%!important}
.player-visual.browser-portrait.portrait-zoom-strong img{transform:scale(1.34);object-position:center 8%!important}
.waiver-player-main>.player-visual{overflow:hidden}
.waiver-player-main>.player-visual img{padding:0!important;object-fit:cover!important;object-position:center 12%!important}

.league-round-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:12px;min-width:0}
.league-title-invite{display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid rgba(239,189,82,.42);border-radius:14px;background:linear-gradient(135deg,rgba(239,189,82,.16),rgba(239,189,82,.035));box-shadow:0 10px 26px rgba(0,0,0,.2)}
.league-title-invite>div:first-child{display:flex;flex-direction:column;min-width:120px}
.league-title-invite span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#aeb9ca}
.league-title-invite strong{font-family:'Barlow Condensed',Inter,sans-serif;font-size:28px;line-height:1;color:#efbd52;letter-spacing:.08em;margin-top:3px}
.league-title-invite-actions{display:flex;gap:7px}.league-title-invite-actions .btn{padding:9px 11px;white-space:nowrap}
.league-hq-main{display:grid;gap:16px;min-width:0;align-content:start}
.league-main-cards,.league-hq-lower{align-items:start;gap:16px}
.league-main-cards>section,.league-hq-lower>section{min-width:0}
@media(max-width:1450px){.league-round-strip{align-items:flex-start}.league-round-actions{flex-direction:column;align-items:stretch}.league-title-invite{justify-content:space-between}.league-round-meta{justify-content:flex-end}}
@media(max-width:1050px){.league-hq-main{gap:14px}.league-main-cards{grid-template-columns:1fr!important}.league-title-invite{width:100%}}
@media(max-width:768px){.league-round-actions{width:100%}.league-title-invite{display:grid;grid-template-columns:1fr}.league-title-invite-actions{display:grid;grid-template-columns:1fr 1fr}.league-title-invite-actions .btn{width:100%}.league-main-cards,.league-hq-lower{grid-template-columns:1fr!important}.league-hq-lower>section{grid-column:1!important}}

/* v103 — readable, complete mobile navigation */
@media (max-width:1050px){
  .bottom-nav{
    display:flex!important;
    align-items:stretch;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    grid-template-columns:none!important;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .bottom-nav::-webkit-scrollbar{display:none}
  .bottom-nav.hidden{display:none!important}
  .bottom-item{
    flex:0 0 auto;
    min-width:76px;
    min-height:48px;
    padding:10px 10px;
    border-radius:14px;
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
    font-size:13px;
    line-height:1.1;
    letter-spacing:0;
    white-space:nowrap;
    color:#e0e7f2;
  }
  .bottom-item.active{
    color:#f4c860;
    background:rgba(214,163,58,.18);
    box-shadow:inset 0 0 0 1px rgba(230,186,85,.16);
  }
  .content-panel{margin-bottom:86px}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
}
@media (max-width:430px){
  .bottom-item{min-width:74px;font-size:13px;padding-inline:9px}
}

/* v104 — compact five-tab mobile navigation + small More sheet */
@media (max-width:1050px){
  .bottom-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:90!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    flex-direction:initial!important;
    align-items:stretch!important;
    gap:4px!important;
    height:auto!important;
    min-height:64px!important;
    max-height:82px!important;
    overflow:visible!important;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;
    background:rgba(2,9,22,.98)!important;
    border-top:1px solid rgba(214,163,58,.28)!important;
    box-shadow:0 -12px 30px rgba(0,0,0,.34)!important;
  }
  .bottom-nav.hidden{display:none!important}
  .bottom-item{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    width:auto!important;
    min-width:0!important;
    min-height:50px!important;
    padding:5px 2px!important;
    border-radius:11px!important;
    font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
    font-size:11px!important;
    line-height:1.05!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    color:#dbe4f1!important;
  }
  .bottom-item.active{
    color:#f3c659!important;
    background:rgba(214,163,58,.16)!important;
    box-shadow:inset 0 0 0 1px rgba(230,186,85,.14)!important;
  }
  .bottom-nav-icon{display:block;font-size:17px;line-height:1;font-weight:900}
  .content-panel{margin-bottom:72px!important}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))!important}
  .mobile-more-menu{
    position:fixed;
    z-index:89;
    left:10px;
    right:10px;
    bottom:calc(72px + env(safe-area-inset-bottom));
    max-height:min(62vh,430px);
    overflow:auto;
    padding:12px;
    border:1px solid rgba(214,163,58,.32);
    border-radius:18px;
    background:linear-gradient(180deg,#0b1d34,#061225);
    box-shadow:0 20px 54px rgba(0,0,0,.55);
  }
  .mobile-more-menu.hidden{display:none!important}
  .mobile-more-menu__head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px;color:#f4c860}
  .mobile-more-menu__head strong{font-size:18px}
  .mobile-more-menu__head button{width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.07);color:#fff;font-size:24px;line-height:1;cursor:pointer}
  .mobile-more-menu__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mobile-more-menu__grid button{min-width:0;text-align:left;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.045);color:#fff;cursor:pointer}
  .mobile-more-menu__grid button span{display:block;font-size:14px;font-weight:900}
  .mobile-more-menu__grid button small{display:block;margin-top:3px;color:#9facbf;font-size:10px;line-height:1.25}
}
@media (max-width:390px){
  .bottom-item{font-size:10px!important}
  .bottom-nav-icon{font-size:16px}
  .mobile-more-menu__grid{grid-template-columns:1fr}
}
@media (min-width:1051px){.mobile-more-menu{display:none!important}}


/* v105 — mobile Players page stays inside the viewport */
@media (max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  :is(body[data-view="players"],body[data-view="waivers"]) .app-shell,
  :is(body[data-view="players"],body[data-view="waivers"]) .app-layout,
  :is(body[data-view="players"],body[data-view="waivers"]) .content-panel,
  :is(body[data-view="players"],body[data-view="waivers"]) #viewRoot,
  :is(body[data-view="players"],body[data-view="waivers"]) .view,
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-filter-card,
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-grid,
  :is(body[data-view="players"],body[data-view="waivers"]) .player-database-card{min-width:0!important;max-width:100%!important;width:100%!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .view{padding:10px!important;overflow-x:hidden!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-filters{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;width:100%!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-filters input,
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-filters select{grid-column:auto!important;min-width:0!important;width:100%!important;font-size:16px!important;padding:11px 12px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-database-card{padding:13px!important;gap:11px!important;overflow:hidden!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-head{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-width:0!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-head>.pill{grid-column:1/-1;justify-self:start;margin:0!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy{min-width:0!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy>strong{font-size:20px!important;line-height:1.08!important;overflow-wrap:anywhere}
  :is(body[data-view="players"],body[data-view="waivers"]) .club-line{font-size:12px!important;white-space:normal!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;min-width:0!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats>div{min-width:0!important;padding:9px 6px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats>div:first-child{grid-column:1/-1}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats strong{font-size:16px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-hero{display:block!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-hero h3{font-size:22px!important}
}

/* v105 — More is an opt-in sheet and never appears during initial page render */
.mobile-more-menu.hidden{display:none!important}


/* v107 — compact mobile player directory cards with status and positions in the footer */
.player-db-positions-mobile,.player-db-status-mobile,.player-db-mobile-footer-meta{display:none}
.player-db-footer.public-player-actions{justify-content:space-between}
.player-db-footer-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.player-card-roster-action{flex:0 0 auto;white-space:nowrap}
.player-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 18px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}
.player-detail-actions>div{display:grid;gap:3px;min-width:0}
.player-detail-actions strong{font-size:14px}
.player-detail-actions span{color:var(--muted);font-size:11px;line-height:1.35}
.player-detail-actions.is-note{justify-content:flex-start}
@media (max-width:700px){
  :is(body[data-view="players"],body[data-view="waivers"]) .player-database-card{padding:12px!important;gap:9px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-head{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy{display:grid!important;gap:5px!important;min-width:0!important;flex:1 1 auto!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy>strong{font-size:20px!important;line-height:1.06!important;overflow-wrap:anywhere}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy .club-line{margin:0!important;min-width:0!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-status-desktop,
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-desktop{display:none!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats>div{grid-column:auto!important;min-width:0!important;padding:8px 4px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats>div:nth-child(1),
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats>div:nth-child(2){grid-column:span 3!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats>div:nth-child(n+3){grid-column:span 2!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats strong{font-size:15px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats span{font-size:9px!important;line-height:1.15!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-footer.public-player-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:28px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-view-label{flex:0 0 auto;padding:6px 8px!important;font-size:11px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-footer-right{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-mobile-footer-meta{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-roster-action{min-width:42px!important;padding:5px 7px!important;font-size:10px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-mobile{display:flex!important;flex-wrap:nowrap!important;gap:4px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-mobile .position-chip{height:22px!important;min-width:27px!important;padding:0 5px!important;border-radius:7px!important;font-size:10px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-status-mobile{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;margin:0!important;padding:4px 6px!important;font-size:9px!important;line-height:1!important;letter-spacing:.02em!important}
  .player-detail-actions{align-items:stretch;gap:10px;padding:11px 12px}
  .player-detail-actions .btn{flex:0 0 auto;padding-left:13px;padding-right:13px}
}
@media (max-width:370px){
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-footer.public-player-actions{gap:5px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-view-label{padding:5px 6px!important;font-size:10px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-footer-right{gap:4px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-mobile-footer-meta{gap:4px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-roster-action{min-width:38px!important;padding:4px 5px!important;font-size:9px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-mobile{gap:3px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-mobile .position-chip{height:21px!important;min-width:25px!important;padding:0 4px!important;font-size:9px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-status-mobile{padding:4px 5px!important;font-size:8px!important}
  .player-detail-actions{display:grid}
  .player-detail-actions .btn{width:100%}
}

/* v109 — player-card alignment only (v108 baseline) */
/* Desktop: place eligible positions in the bottom action row, matching mobile. */
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-desktop{display:none!important}
:is(body[data-view="players"],body[data-view="waivers"]) .player-database-card{grid-template-rows:auto 1fr auto}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-mobile-footer-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-mobile{display:flex;align-items:center;flex-wrap:nowrap;gap:4px}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-status-mobile{display:none}

/* Mobile: centre Sign/Trade text inside its pill without changing the action. */
@media(max-width:700px){
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-roster-action{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-status-mobile{display:inline-flex!important}
}


/* v110 — positions moved into the player identity line on desktop and mobile */
:is(body[data-view="players"],body[data-view="waivers"]) .club-line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  column-gap:8px!important;
  row-gap:5px!important;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-club-copy{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-inline{
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:4px;
  flex:0 0 auto;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-inline .position-chip{
  height:23px;
  min-width:28px;
  padding:0 6px;
  border-radius:7px;
  font-size:10px;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-footer-right{
  margin-left:auto;
}
@media(max-width:700px){
  :is(body[data-view="players"],body[data-view="waivers"]) .club-line{
    column-gap:7px!important;
    row-gap:4px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-club-copy{
    gap:7px;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-inline{
    gap:3px;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-inline .position-chip{
    height:21px;
    min-width:25px;
    padding:0 4px;
    font-size:9px;
  }
}

/* v111 — centre player position labels inside header pills on all screen sizes */
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-head .player-db-positions-inline .position-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  box-sizing:border-box;
}

/* v112 — league scoring-format selector and true 9-category presentation */
.scoring-format-field small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4;font-weight:700}
.scoring-format-pill{align-self:flex-start;white-space:nowrap}
.league-format-summary{display:grid;gap:12px;align-content:start}.league-format-summary .pill{justify-self:start}.league-format-summary p{margin:0}
.category-player-directory .player-browser-hero{border-color:rgba(247,183,49,.28)}
.player-database-card.category-mode-card{border-color:rgba(247,183,49,.17)}
.player-db-stats.category-player-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.player-db-stats.category-player-stats>div{grid-column:auto!important;min-width:0!important;padding:9px 5px!important;background:rgba(255,255,255,.035)!important;border-color:var(--line)!important}
.player-db-stats.category-player-stats>div:first-child{grid-column:auto!important;background:rgba(255,255,255,.035)!important;border-color:var(--line)!important}
.player-db-stats.category-player-stats strong{font-size:15px!important;line-height:1.1}.player-db-stats.category-player-stats span{font-size:9px!important;letter-spacing:.04em}
.player-db-stats.category-player-stats>div:nth-child(7),.player-db-stats.category-player-stats>div:nth-child(8){background:rgba(247,183,49,.07)!important;border-color:rgba(247,183,49,.24)!important}
.category-detail-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-7px 0 18px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035)}
.category-detail-note strong,.category-detail-note span{display:block}.category-detail-note span{color:var(--muted);font-size:11px;text-align:right}
.category-game-list>div:not(.empty){align-items:center;gap:14px}.category-game-list strong{text-align:right;font-size:12px}
.category-matchup-page{grid-template-columns:minmax(0,1fr)}
.category-matchup-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.category-matchup-hero h3{font-size:28px;margin:5px 0 8px}.category-matchup-hero p{margin:0}
.category-overall-score{display:grid;place-items:center;min-width:145px;padding:17px;border:1px solid rgba(247,183,49,.34);border-radius:18px;background:rgba(247,183,49,.10)}.category-overall-score strong{font-size:32px;color:var(--gold);line-height:1}.category-overall-score span{margin-top:5px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.category-scorecard{padding:0;overflow:hidden}.category-scorecard-head,.category-score-row{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);align-items:center;text-align:center}.category-scorecard-head{padding:14px 18px;background:#06162a;color:#aab7ca;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.category-score-row{min-height:64px;padding:10px 18px;border-top:1px solid var(--line)}.category-score-row>strong{font-size:19px}.category-score-row>span{display:grid;gap:2px}.category-score-row b{color:var(--gold);font-size:14px}.category-score-row small{color:var(--muted);font-size:10px}.category-score-row .category-winner{color:#60e79b;text-shadow:0 0 18px rgba(96,231,155,.22)}
@media(max-width:768px){
  .player-browser-hero .scoring-format-pill{margin-top:10px}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats>div{grid-column:auto!important;padding:7px 3px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats strong{font-size:14px!important}
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats span{font-size:8px!important}
  .category-detail-note{display:grid}.category-detail-note span{text-align:left}
  .category-game-list>div:not(.empty){display:grid}.category-game-list strong{text-align:left;line-height:1.35}
  .category-matchup-hero{display:grid}.category-overall-score{width:100%;min-width:0}
  .category-scorecard-head,.category-score-row{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);padding-left:9px;padding-right:9px}.category-score-row>strong{font-size:16px}.category-score-row small{display:none}
  .league-round-meta{grid-template-columns:repeat(3,1fr)!important}.league-round-meta>div{min-width:0;padding-left:7px;padding-right:7px}.league-round-meta .btn{grid-column:1/-1!important}
}

/* v113 — multi-league switcher and league collection */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-title{min-width:0}
.league-switcher-mount{margin-left:auto;min-width:260px;max-width:420px}
.league-switcher{display:flex;align-items:center;gap:10px;padding:7px 9px 7px 12px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(7,14,28,.72);box-shadow:0 10px 28px rgba(0,0,0,.16)}
.league-switcher>span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.league-switcher select{min-width:0;flex:1;border:0!important;background:transparent!important;padding:5px 28px 5px 4px!important;font-weight:800;color:var(--text);box-shadow:none!important;cursor:pointer}
.league-switcher select:focus{outline:2px solid rgba(247,183,49,.45);outline-offset:2px}
.league-switcher-empty{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:var(--muted);font-size:12px;font-weight:800}
.fcf-my-leagues{grid-column:1/-1}
.league-switch-list{display:grid;gap:10px;margin-top:14px}
.league-switch-row{display:flex;align-items:center;gap:16px;padding:14px 15px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}
.league-switch-row.active{border-color:rgba(247,183,49,.42);background:linear-gradient(90deg,rgba(247,183,49,.09),rgba(255,255,255,.025))}
.league-switch-main{min-width:0;flex:1;display:grid;gap:5px}
.league-switch-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.league-switch-title strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.league-switch-main>span{font-size:12px;color:var(--muted)}
.league-switch-title .pill{font-size:9px;padding:4px 7px}
.league-switch-title .pill.current{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.16)}
.league-switch-row .btn{flex:0 0 auto;min-width:82px}
@media(max-width:760px){
  .topbar{align-items:flex-start;gap:10px}
  .topbar-title{flex:1}
  .league-switcher-mount{min-width:0;width:min(48vw,210px);max-width:none}
  .league-switcher{padding:6px 8px;display:block}
  .league-switcher>span{display:none}
  .league-switcher select{width:100%;font-size:11px;padding-right:20px!important}
  .fcf-my-leagues .fcf-feed-heading{align-items:flex-start}
  .league-switch-row{align-items:flex-start;padding:12px;gap:10px}
  .league-switch-title{gap:6px}
  .league-switch-title strong{width:100%;font-size:14px}
  .league-switch-main>span{line-height:1.45}
  .league-switch-row .btn{min-width:70px;padding-left:10px;padding-right:10px}
}
@media(max-width:430px){
  .topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .league-switcher-mount{width:100%}
  .league-switcher{width:100%}
}

/* v114 — keep native league-switcher options readable in light and dark browser menus */
.league-switcher select{
  color-scheme:dark;
}
.league-switcher select option{
  background-color:#081629;
  color:#f7f9fc;
  font-weight:800;
}
.league-switcher select option:checked{
  background-color:#d8a82f;
  color:#071426;
}

/* v115 — category-aware draft room and waiver wire */
.draft-panel-title{
  display:flex;
  align-items:center;
  gap:10px;
  padding-right:12px;
  background:#031126;
  border-bottom:1px solid var(--line);
}
.draft-panel-title h3{
  flex:1;
  min-width:0;
  margin:0;
  border:0;
  background:transparent;
}
.draft-panel-title .pill{
  flex:0 0 auto;
  padding:5px 8px;
  font-size:10px;
}
.draft-player-copy{min-width:0;flex:1}
.draft-category-status{
  margin-left:auto;
  flex:0 0 auto;
  padding:5px 7px;
  font-size:9px;
  white-space:nowrap;
}
.compact-category-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}
.compact-category-stats>div{
  min-width:0;
  padding:7px 4px;
  border:1px solid rgba(132,165,207,.16);
  border-radius:9px;
  background:rgba(255,255,255,.028);
  text-align:center;
}
.compact-category-stats strong{
  display:block;
  color:#f4ca65;
  font-size:11px;
  line-height:1.05;
  white-space:nowrap;
}
.compact-category-stats span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.05em;
}
.category-draft-card{padding:11px}
.category-draft-card .player-top{align-items:flex-start}
.category-draft-card .btn{min-height:41px;padding-top:9px;padding-bottom:9px}
.waiver-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.category-waiver-card{grid-template-rows:auto auto auto;gap:12px}
.category-waiver-card .waiver-player-main{
  grid-template-columns:72px minmax(0,1fr) auto;
  grid-template-areas:'photo copy status';
  column-gap:13px;
  row-gap:0;
}
.waiver-category-status{
  grid-area:status;
  align-self:start;
  justify-self:end;
  padding:5px 7px;
  font-size:9px;
  white-space:nowrap;
}
.waiver-category-stats{margin-top:0}
.category-waiver-page .waiver-browser-card>.small-note{margin-top:10px}
@media(max-width:760px){
  .waiver-hero-actions{width:100%;justify-content:space-between}
  .waiver-hero-actions .btn{width:auto;flex:1}
  .category-waiver-card .waiver-player-main{
    grid-template-columns:66px minmax(0,1fr) auto;
  }
  .draft-category-status,.waiver-category-status{font-size:8px;padding:4px 6px}
}
@media(max-width:430px){
  .category-waiver-card .waiver-player-main{
    grid-template-columns:62px minmax(0,1fr);
    grid-template-areas:'photo copy' 'status status';
    row-gap:8px;
  }
  .waiver-category-status{justify-self:start}
}

/* v117 — category matchup projections and long draft timers */
.category-matchup-page-v117{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.category-matchup-page-v117>.card[style*="grid-column:1/-1"]{grid-column:1/-1}
.category-score-pill{display:grid!important;place-items:center;gap:1px;min-width:82px}
.category-score-pill strong{font-size:25px;line-height:1}
.category-score-pill small{font-size:9px;font-weight:950;letter-spacing:.1em}
.category-record-pill{min-width:68px;padding:8px 10px;border:1px solid rgba(247,183,49,.28);border-radius:999px;background:rgba(247,183,49,.1);color:var(--gold);font-size:12px;font-weight:950;text-align:center;white-space:nowrap}
.category-league-matchup-row .match-side span{min-width:58px}
.category-projection-card{padding:0;overflow:hidden}
.category-projection-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px}
.category-projection-heading h3{margin:5px 0 7px;font-size:25px}
.category-projection-heading p{margin:0;max-width:760px}
.category-scorecard.embedded{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.category-projection-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}
.category-projection-summary h3{margin:4px 0 7px}
.category-projection-summary p{margin:0}
.category-roster-panel .matchup-roster-head{align-items:center}
.category-roster-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.category-roster-summary span{padding:6px 8px;border:1px solid rgba(247,183,49,.22);border-radius:9px;background:rgba(247,183,49,.08);color:var(--gold);font-size:10px;font-weight:900}
.category-starter-row{display:grid;grid-template-columns:34px 45px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border-top:1px solid var(--line)}
.category-starter-row.empty-slot{grid-template-columns:34px minmax(0,1fr);min-height:66px}
.category-starter-copy{display:grid;gap:3px;min-width:0}
.category-starter-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-starter-copy span{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-starter-metrics{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.category-starter-metrics span{display:grid;min-width:43px;padding:5px 6px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.025);color:var(--muted);font-size:8px;font-weight:900;text-align:center}
.category-starter-metrics b{color:var(--text);font-size:11px;line-height:1.1}
.draft-clock{min-width:86px;font-variant-numeric:tabular-nums}

@media(max-width:900px){
  .category-matchup-page-v117{grid-template-columns:1fr}
  .category-matchup-page-v117>.card{grid-column:1!important}
  .category-projection-heading{display:grid;padding:18px}
  .category-projection-heading .category-overall-score{width:100%;min-width:0}
  .category-projection-summary{align-items:flex-start}
  .category-starter-row{grid-template-columns:32px 42px minmax(0,1fr)}
  .category-starter-metrics{grid-column:2/-1;justify-content:flex-start;padding-left:0}
  .category-roster-summary{justify-content:flex-start}
}

@media(max-width:560px){
  .category-matchup-team-card{align-items:center}
  .category-score-pill{min-width:68px}
  .category-league-matchup-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .category-league-matchup-row .match-side{min-width:0}
  .category-league-matchup-row .match-side strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .category-record-pill{min-width:58px;padding:7px 6px;font-size:10px}
  .category-projection-heading h3{font-size:21px}
  .category-projection-summary{display:grid}
  .category-starter-row{padding:10px 8px;gap:7px}
  .category-starter-metrics{gap:4px}
  .category-starter-metrics span{min-width:39px;padding:5px 4px}
  .draft-clock{font-size:18px;min-width:80px}
}

/* v118 — full-height waiver cards and ten-team league cap */
.category-waiver-card{
  height:100%;
  min-height:304px;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-content:stretch;
}
.category-waiver-card .waiver-player-main,
.category-waiver-card .waiver-category-stats,
.category-waiver-card .waiver-player-actions{
  width:100%;
  min-width:0;
}
.category-waiver-card .waiver-category-stats{
  align-self:stretch;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(42px,1fr));
  gap:7px;
  margin:0;
}
.category-waiver-card .waiver-category-stats>div{
  min-height:42px;
  padding:8px 5px;
  display:grid;
  place-content:center;
}
.category-waiver-card .waiver-category-stats strong{font-size:12px}
.category-waiver-card .waiver-category-stats span{font-size:8px}
.category-waiver-card .waiver-player-actions,
.category-waiver-card .waiver-player-actions .btn{
  width:100%;
  max-width:none;
}
.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
@media(max-width:700px){
  .category-waiver-card{min-height:296px}
  .category-waiver-card .waiver-category-stats{grid-template-rows:repeat(3,minmax(40px,1fr))}
}

/* v119 — equal-height League HQ rows and readable fixture View controls */
.league-main-cards,
.league-hq-lower{
  align-items:stretch;
}
.league-main-cards>section,
.league-hq-lower>section{
  height:100%;
}
.league-main-cards>section{
  display:flex;
  flex-direction:column;
}
.league-main-cards>section .btn.full{
  margin-top:auto;
}
.season-round-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
}
.season-round-top>strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.season-round-top>.mini-btn{
  width:auto;
  min-width:58px;
  height:34px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  line-height:1;
  flex:0 0 auto;
}
@media(max-width:768px){
  .league-main-cards>section,
  .league-hq-lower>section{height:auto}
  .season-round-top{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
  .season-round-top>.mini-btn{min-width:56px;padding:0 10px}
}
@media(max-width:430px){
  .season-round-top{grid-template-columns:minmax(0,1fr) auto}
  .season-round-top>.pill{grid-row:2;grid-column:1;justify-self:start}
  .season-round-top>.mini-btn{grid-row:1 / span 2;grid-column:2;align-self:center}
}


/* v120 — category readability, selected live game scoring and overflow containment */
.category-score-pill{display:flex!important;align-items:center!important;justify-content:center!important;min-width:72px!important;min-height:48px!important;padding:0 14px!important}
.category-score-pill strong{display:block;width:100%;font-size:25px;line-height:1;text-align:center}
.category-win-count{display:inline-flex!important;align-items:center;justify-content:center;min-width:48px;min-height:34px;padding:7px 13px!important;border-radius:999px!important;text-align:center!important;font-size:15px!important;line-height:1!important}
.category-starter-metrics{gap:8px}
.category-starter-metrics span{min-width:52px;padding:7px 8px;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:#aebbd0;font-size:9px;line-height:1.15;letter-spacing:.025em}
.category-starter-metrics b{font-size:14px;line-height:1.05;color:#f6f8fc}
.category-starter-row{min-height:72px}
.live-centre-page,.live-centre-page>*{min-width:0}
.live-games-card{min-width:0;max-width:100%;overflow:hidden}
.live-games-card .game-card-list{width:100%;max-width:100%;min-width:0}
.game-centre-card{appearance:none;-webkit-appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;min-width:0}
.game-centre-card.selected{border-color:rgba(247,183,49,.95);box-shadow:0 0 0 2px rgba(247,183,49,.18),0 14px 30px rgba(0,0,0,.22)}
.game-open-label{display:block;margin-top:12px;color:var(--gold);font-size:11px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.live-game-detail{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);min-width:0}
.live-game-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.live-game-detail-head h3{margin:3px 0 5px}.live-game-detail-head p{margin:0;color:var(--muted)}
.live-game-player-list{display:grid;gap:8px;min-width:0}
.live-game-fantasy-row,.live-game-category-row{display:grid;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);min-width:0}
.live-game-fantasy-row{grid-template-columns:44px minmax(150px,1fr) auto auto 70px}
.live-game-category-row{grid-template-columns:44px minmax(160px,1fr) auto auto minmax(660px,1.8fr)}
.live-game-player-copy{min-width:0}.live-game-player-copy strong,.live-game-player-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-game-player-copy span{font-size:11px;color:var(--muted);font-weight:800;margin-top:3px}
.live-game-source{font-size:10px;font-weight:950;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.live-game-source.is-live{color:#55e99a}
.live-game-fantasy-score{color:var(--gold);font-size:22px;text-align:right}
.live-game-category-values{display:grid;grid-template-columns:repeat(9,minmax(52px,1fr));gap:5px;min-width:0}
.live-game-category-values span{display:grid;place-items:center;padding:6px 4px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(255,255,255,.035);min-width:0}
.live-game-category-values b{font-size:12px;color:#f6f8fc;white-space:nowrap}.live-game-category-values small{font-size:8px;color:#aebbd0;font-weight:950;margin-top:2px}
.live-game-starter-pill{font-size:8px;padding:5px 7px}
.live-category-player-row{display:grid;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);min-width:0}
.live-category-player-row .category-starter-metrics{flex-wrap:nowrap}
.lead-margin.is-category{font-size:28px;letter-spacing:.02em}
@media(max-width:1100px){
  .live-game-category-row{grid-template-columns:42px minmax(150px,1fr) auto auto}
  .live-game-category-values{grid-column:1/-1;overflow-x:auto;grid-template-columns:repeat(9,minmax(58px,1fr));padding-bottom:4px}
}
@media(max-width:760px){
  .category-score-pill{min-width:58px!important;min-height:44px!important;padding:0 10px!important}
  .category-starter-metrics span{min-width:48px;padding:7px 6px}.category-starter-metrics b{font-size:13px}
  .live-game-detail-head{display:grid}.live-game-fantasy-row{grid-template-columns:40px minmax(0,1fr) auto}.live-game-fantasy-row .live-game-starter-pill,.live-game-fantasy-row .live-game-source{display:none}.live-game-fantasy-score{grid-column:3;grid-row:1}
  .live-game-category-row{grid-template-columns:40px minmax(0,1fr) auto}.live-game-category-row .live-game-starter-pill{display:none}.live-game-category-row .live-game-source{grid-column:3;grid-row:1}
  .live-category-player-row{grid-template-columns:40px minmax(0,1fr)}.live-category-player-row .category-starter-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}
}


/* v121 — cleaner category cards, full-width waiver order and rebuilt Live Centre */

/* Category rank remains available as a sort option, but repetitive rank pills are removed from player cards. */
.category-mode-card .player-db-head{grid-template-columns:auto minmax(0,1fr)!important}
.category-mode-card .player-db-copy{padding-right:0!important}

/* Full-width waiver priority uses the space rather than leaving an empty second column. */
.category-waiver-page .waiver-priority-card,
.waiver-priority-card{grid-column:1/-1!important}
.waiver-priority-card .waiver-priority-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
}
.waiver-priority-card .waiver-priority-row{height:100%;min-height:50px}

/* Category waiver cards fill every grid cell cleanly. */
.waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.category-waiver-card{
  height:100%;
  min-height:338px;
  grid-template-rows:auto minmax(178px,1fr) auto!important;
  gap:14px!important;
  align-content:stretch;
}
.category-waiver-card .waiver-player-main{
  grid-template-columns:72px minmax(0,1fr)!important;
  grid-template-areas:'photo copy'!important;
  align-items:start;
}
.category-waiver-card 
.category-waiver-card .waiver-category-stats{
  height:100%;
  min-height:178px;
  margin:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:8px;
}
.category-waiver-card .waiver-category-stats>div{
  height:100%;
  min-height:50px;
  display:grid;
  place-content:center;
  padding:8px 5px;
}
.category-waiver-card .waiver-category-stats strong{font-size:14px}
.category-waiver-card .waiver-category-stats span{font-size:9px}
.category-waiver-card .waiver-player-actions{margin-top:0}
.category-waiver-card .waiver-player-actions .btn{min-height:48px}

/* Live Centre is now a contained dashboard rather than a wide stat sheet. */
.live-centre-page{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
  overflow:visible;
}
.live-centre-page>.card{min-width:0}
.live-games-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.live-games-toolbar .tab-row{margin:0}
.live-games-toolbar>span{color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}
.live-games-card .game-card-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:12px!important;
  overflow:visible!important;
  padding:0!important;
  scroll-snap-type:none!important;
}
.live-games-card .game-centre-card{
  min-width:0!important;
  width:100%!important;
  flex:none!important;
  min-height:164px;
  padding:43px 14px 13px;
}
.live-games-card .featured-game .game-clock{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-game-detail{margin-top:20px;padding-top:20px}
.live-game-player-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.live-game-player-card{
  min-width:0;
  padding:13px;
  border:1px solid rgba(132,165,207,.18);
  border-radius:15px;
  background:linear-gradient(180deg,rgba(13,35,62,.92),rgba(7,22,41,.94));
  display:grid;
  gap:12px;
}
.live-game-player-card-head{display:flex;align-items:center;gap:10px;min-width:0}
.live-game-player-card-head>.player-visual{flex:0 0 auto}
.live-game-player-card-head .live-game-player-copy{flex:1;min-width:0}
.live-player-tags{display:flex;align-items:flex-end;gap:5px;flex-direction:column;flex:0 0 auto}
.live-player-tag{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:#9facc0;font-size:8px;font-weight:1000;letter-spacing:.05em;white-space:nowrap}
.live-player-tag.starter,.live-player-tag.live{border-color:rgba(79,226,151,.38);background:rgba(79,226,151,.11);color:#62ecaa}
.live-game-category-values{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  overflow:visible!important;
  padding:0!important;
}
.live-game-category-values span{min-height:46px;padding:7px 4px!important}
.live-game-category-values b{font-size:14px!important}
.live-game-category-values small{font-size:8px!important}
.live-game-player-score{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;border:1px solid rgba(247,183,49,.24);background:rgba(247,183,49,.075)}
.live-game-player-score strong{font-size:26px;color:var(--gold);line-height:1}
.live-game-player-score span{font-size:9px;color:var(--muted);font-weight:1000;letter-spacing:.06em}

.live-matchup-summary,.lead-summary-card{height:100%}
.live-matchup-summary>.btn{margin-top:auto}
.live-starters-card,.live-league-watch-card{overflow:hidden}
.live-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.live-overview-player-card{
  position:relative;
  min-width:0;
  padding:13px;
  border:1px solid rgba(132,165,207,.18);
  border-radius:15px;
  background:rgba(255,255,255,.026);
  display:grid;
  gap:11px;
}
.live-overview-player-head{display:flex;align-items:center;gap:10px;min-width:0}
.live-overview-player-head>div{min-width:0}
.live-overview-player-head strong,.live-overview-player-head span,.live-overview-player-head em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-overview-player-head strong{font-size:15px}
.live-overview-player-head span{margin-top:3px;color:var(--muted);font-size:10px;font-weight:800}
.live-overview-player-head em{margin-top:3px;color:#e3b94f;font-size:8px;font-style:normal;font-weight:1000;letter-spacing:.05em;text-transform:uppercase}
.live-overview-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.live-overview-metrics span{display:grid;place-items:center;min-width:0;min-height:44px;padding:6px 3px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.032)}
.live-overview-metrics b{font-size:13px;color:#f4f7fb;line-height:1}
.live-overview-metrics small{margin-top:3px;font-size:7px;color:#9facc0;font-weight:1000}
.live-overview-rank{position:absolute;top:10px;right:10px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#071426;font-size:11px;font-weight:1000}
.live-overview-fantasy-score{font-size:28px;color:var(--gold);line-height:1}
.live-overview-fantasy-label{color:var(--muted);font-size:8px;font-weight:1000;letter-spacing:.08em}
.live-secondary-card{background:rgba(7,22,41,.82)}
.live-centre-tools .hero-actions{margin:0}

@media(max-width:1100px){
  .live-game-player-list{grid-template-columns:1fr}
  .live-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .live-centre-page{grid-template-columns:1fr}
  .live-centre-page>.card{grid-column:1!important}
  .live-overview-grid{grid-template-columns:1fr}
  .live-games-card .game-card-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  .waiver-priority-card .waiver-priority-list{grid-template-columns:1fr}
  .category-waiver-card{min-height:320px}
  .category-waiver-card .waiver-player-main{grid-template-columns:66px minmax(0,1fr)!important}
  .category-waiver-card .waiver-category-stats{min-height:165px}
  .live-games-toolbar{align-items:flex-start;flex-direction:column}
  .live-games-card .game-card-list{grid-template-columns:1fr!important}
  .live-game-detail-head{display:grid}
  .live-game-player-list{grid-template-columns:1fr}
  .live-game-player-card-head{align-items:flex-start}
  .live-player-tags{align-items:flex-end}
  .live-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.draft-recap-rank{display:inline-flex;align-items:center;justify-content:center;color:var(--gold);font-weight:1000;font-size:13px}

/* v122 — compact mobile document flow and complete Home dashboard rows */
@media (min-width:1051px){
  body[data-view="dashboard"] .fcf-current-league{
    grid-column:span 4;
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  body[data-view="dashboard"] .fcf-current-league .fcf-outline-action{
    margin-top:auto;
  }
  body[data-view="dashboard"] .fcf-my-leagues{
    grid-column:span 8;
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-list{
    flex:1;
  }
  body[data-view="dashboard"] .fcf-dashboard>.fcf-form-card{
    grid-column:span 6;
  }
}

@media (min-width:761px) and (max-width:1050px){
  body[data-view="dashboard"] .fcf-current-league,
  body[data-view="dashboard"] .fcf-my-leagues,
  body[data-view="dashboard"] .fcf-dashboard>.fcf-form-card{
    grid-column:span 1;
  }
  body[data-view="dashboard"] .fcf-current-league,
  body[data-view="dashboard"] .fcf-my-leagues{
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  body[data-view="dashboard"] .fcf-current-league .fcf-outline-action{
    margin-top:auto;
  }
}

@media (max-width:760px){
  /* Footer follows the final card instead of waiting for desktop min-heights. */
  body.is-private .content-panel{
    min-height:0!important;
  }
  body.is-private .app-shell{
    padding-bottom:0!important;
  }
  body.is-private .app-layout{
    min-height:0!important;
  }
  body.is-private #viewRoot,
  body.is-private .view{
    min-height:0!important;
  }
  body.is-private .freshFooterV500{
    margin-top:14px!important;
    margin-bottom:0!important;
    padding-bottom:94px!important;
  }
}


/* v123 — definitive waiver-card width reset */
body[data-view="waivers"] .waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
body[data-view="waivers"] .waiver-player-grid>.waiver-card-v123{
  justify-self:stretch!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body[data-view="waivers"] .waiver-card-v123{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:14px!important;
  height:100%!important;
  min-height:390px!important;
  padding:16px!important;
}
body[data-view="waivers"] .waiver-card-v123>*{
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body[data-view="waivers"] .waiver-card-v123 .waiver-player-main{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  grid-template-areas:'photo copy'!important;
  align-items:start!important;
  column-gap:13px!important;
  width:100%!important;
}
body[data-view="waivers"] .waiver-card-v123 
body[data-view="waivers"] .category-waiver-card.waiver-card-v123 .waiver-category-stats{
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,minmax(48px,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  min-height:176px!important;
  margin:0!important;
}
body[data-view="waivers"] .category-waiver-card.waiver-card-v123 .waiver-category-stats>div{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:48px!important;
  padding:8px 4px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
body[data-view="waivers"] .category-waiver-card.waiver-card-v123 .waiver-category-stats strong{
  font-size:14px!important;
  line-height:1!important;
}
body[data-view="waivers"] .category-waiver-card.waiver-card-v123 .waiver-category-stats span{
  margin-top:4px!important;
  font-size:9px!important;
}
body[data-view="waivers"] .waiver-card-v123 .waiver-player-actions{
  flex:0 0 auto!important;
  display:block!important;
  width:100%!important;
  margin-top:auto!important;
}
body[data-view="waivers"] .waiver-card-v123 .waiver-player-actions .btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  min-height:48px!important;
  margin:0!important;
}
body[data-view="waivers"] .waiver-card-v123:not(.category-waiver-card) .waiver-player-average{
  width:100%!important;
  max-width:none!important;
}
@media(max-width:1180px){
  body[data-view="waivers"] .waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
}
@media(max-width:700px){
  body[data-view="waivers"] .waiver-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  body[data-view="waivers"] .waiver-card-v123{min-height:330px!important}
  body[data-view="waivers"] .waiver-card-v123 .waiver-player-main{grid-template-columns:66px minmax(0,1fr)!important}
  body[data-view="waivers"] .category-waiver-card.waiver-card-v123 .waiver-category-stats{min-height:165px!important}
}

/* v126 — advanced player analysis foundation */
.advanced-player-detail-card{width:min(980px,96vw);max-height:92vh;padding:24px;scrollbar-gutter:stable}
.standard-player-summary,.advanced-analysis-shell,.player-game-log-section{border:1px solid rgba(132,165,207,.2);border-radius:18px;background:rgba(2,15,30,.34);padding:17px;margin-top:16px}
.standard-player-summary>.player-db-stats.detail{margin:12px 0 0}
.standard-player-summary>.category-detail-note,.standard-player-summary>.threshold-grid{margin-top:14px}
.advanced-analysis-shell{background:linear-gradient(150deg,rgba(19,49,82,.82),rgba(5,19,37,.92));border-color:rgba(231,185,75,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.advanced-analysis-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.advanced-analysis-head h3{font-size:22px;margin:4px 0 5px}
.advanced-analysis-head p{color:var(--muted);font-size:12px;margin:0;line-height:1.45}
.advanced-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
.advanced-section-title>div{display:grid;gap:3px}
.advanced-section-title span{color:#f0bd4e;font-size:10px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}
.advanced-section-title strong{font-size:16px;line-height:1.15}
.advanced-section-title small{color:var(--muted);font-size:10px;text-align:right;line-height:1.35}
.advanced-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:16px}
.advanced-metric-grid>div,.advanced-role-grid>div{display:grid;align-content:center;min-width:0;padding:12px;border:1px solid rgba(132,165,207,.2);border-radius:14px;background:rgba(255,255,255,.035)}
.advanced-metric-grid span,.advanced-role-grid span{color:var(--muted);font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.05em}
.advanced-metric-grid strong{font-family:'Barlow Condensed',Inter,sans-serif;color:#f0bd4e;font-size:25px;line-height:1;margin:7px 0 4px}
.advanced-metric-grid small,.advanced-role-grid small{color:#8fa0b8;font-size:9px;line-height:1.25}
.advanced-profile-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px}
.advanced-profile-grid>section{min-width:0;padding:14px;border:1px solid rgba(132,165,207,.17);border-radius:16px;background:rgba(0,0,0,.12)}
.advanced-z-list{display:grid;gap:8px}
.advanced-z-row{display:grid;grid-template-columns:90px minmax(100px,1fr) 48px;align-items:center;gap:9px}
.advanced-z-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
.advanced-z-label strong{color:#eef3fb;font-size:11px}
.advanced-z-label span{color:#8fa0b8;font-size:9px;white-space:nowrap}
.advanced-z-track{position:relative;height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.advanced-z-track>i{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.32);z-index:2}
.advanced-z-track>b{position:absolute;top:0;bottom:0;border-radius:999px}
.advanced-z-track>b.positive{background:linear-gradient(90deg,#d5a632,#49d7a1)}
.advanced-z-track>b.negative{background:linear-gradient(90deg,#ef646f,#a4515a)}
.advanced-z-row>em{font-style:normal;font-size:10px;font-weight:1000;text-align:right}
.advanced-z-row>em.positive{color:#53dca6}.advanced-z-row>em.negative{color:#ff7a82}
.advanced-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.advanced-role-grid strong{color:#eef3fb;font-size:18px;margin:5px 0 3px}
.advanced-strength-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(132,165,207,.15)}
.advanced-strength-columns>div>span{display:block;color:#8fa0b8;font-size:9px;font-weight:1000;text-transform:uppercase;margin-bottom:7px}
.advanced-strength-columns>div>div{display:flex;flex-wrap:wrap;gap:6px}
.advanced-insight-chip{display:inline-flex;align-items:center;min-height:27px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:1000;border:1px solid rgba(132,165,207,.2)}
.advanced-insight-chip.strength{color:#55dda8;background:rgba(73,215,161,.08);border-color:rgba(73,215,161,.26)}
.advanced-insight-chip.weakness{color:#ff8b91;background:rgba(239,100,111,.08);border-color:rgba(239,100,111,.25)}
.advanced-insight-chip.neutral{color:#aeb9ca;background:rgba(255,255,255,.04)}
.advanced-breakdown{margin-top:14px;padding-top:14px;border-top:1px solid rgba(132,165,207,.15)}
.advanced-contribution-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.advanced-contribution-grid>div{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 10px;border-radius:12px;background:rgba(73,215,161,.06);border:1px solid rgba(73,215,161,.16)}
.advanced-contribution-grid>div.negative{background:rgba(239,100,111,.06);border-color:rgba(239,100,111,.18)}
.advanced-contribution-grid span{color:#aeb9ca;font-size:9px;font-weight:1000}.advanced-contribution-grid strong{color:#55dda8;font-size:12px}.advanced-contribution-grid .negative strong{color:#ff8b91}
.player-game-log-section h3{margin:0 0 12px}
@media(max-width:900px){.advanced-metric-grid{grid-template-columns:repeat(3,1fr)}.advanced-profile-grid{grid-template-columns:1fr}.advanced-contribution-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.advanced-player-detail-card{width:100%;max-height:94vh;padding:18px 13px}.advanced-analysis-head{display:grid}.advanced-analysis-head .pill{justify-self:start}.advanced-metric-grid{grid-template-columns:1fr 1fr}.advanced-metric-grid strong{font-size:22px}.advanced-profile-grid>section{padding:11px}.advanced-z-row{grid-template-columns:72px minmax(70px,1fr) 40px;gap:7px}.advanced-z-label{display:grid;gap:1px}.advanced-z-label span{font-size:8px}.advanced-role-grid,.advanced-strength-columns{grid-template-columns:1fr 1fr}.advanced-contribution-grid{grid-template-columns:1fr 1fr}.advanced-section-title{align-items:flex-start}.advanced-section-title small{display:none}.standard-player-summary,.advanced-analysis-shell,.player-game-log-section{padding:13px}}


/* v128 — Pro entitlement and feature-gating foundation */
.player-card-view-label{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.player-card-pro-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:18px;padding:0 7px;border-radius:999px;background:rgba(231,185,75,.14);border:1px solid rgba(231,185,75,.42);color:#f0bd4e;font-style:normal;font-size:8px;font-weight:1000;letter-spacing:.08em}
.advanced-analysis-locked{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(17,42,70,.94),rgba(5,18,35,.96));border-color:rgba(231,185,75,.4)}
.advanced-analysis-locked:after{content:'PRO';position:absolute;right:-24px;bottom:-34px;color:rgba(240,189,78,.045);font-family:'Barlow Condensed',Inter,sans-serif;font-size:132px;font-weight:1000;line-height:1;pointer-events:none}
.locked-analysis-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:8px 0 15px;filter:saturate(.6)}
.locked-analysis-preview>div{display:grid;gap:7px;padding:13px;border-radius:14px;border:1px solid rgba(132,165,207,.18);background:rgba(255,255,255,.03)}
.locked-analysis-preview span{color:var(--muted);font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.05em}
.locked-analysis-preview strong{color:#f0bd4e;font-size:24px}
.pro-season-price{display:inline-block;margin-left:10px;color:#aebbd0;font-size:11px}
.pro-plan-modal{width:min(560px,94vw)}
.pro-plan-modal>p{color:var(--muted);line-height:1.55}
.pro-feature-list{display:grid;gap:9px;margin:18px 0}
.pro-feature-list>div{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:13px;border:1px solid rgba(132,165,207,.18);background:rgba(255,255,255,.025)}
.pro-feature-list span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(75,214,157,.14);color:#50dba4;font-weight:1000}
.pro-feature-list strong{font-size:13px}
.pro-price-row{display:flex;align-items:flex-end;gap:9px;margin:18px 0}
.pro-price-row strong{font-family:'Barlow Condensed',Inter,sans-serif;color:#f0bd4e;font-size:38px;line-height:1}
.pro-price-row span{color:var(--muted);font-size:12px;padding-bottom:4px}
.pro-membership-card{border-color:rgba(231,185,75,.28);background:linear-gradient(150deg,rgba(19,49,82,.78),rgba(5,19,37,.9))}
.pro-membership-card>p{color:var(--muted);line-height:1.5}
.pro-entitlement-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}
.pro-entitlement-grid>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;border:1px solid rgba(132,165,207,.17);border-radius:12px;background:rgba(255,255,255,.025)}
.pro-entitlement-grid span{color:#cbd5e5;font-size:11px}.pro-entitlement-grid strong{color:#f0bd4e;font-size:10px;letter-spacing:.06em}
.player-browser-filters option:disabled{color:#8c94a1}
@media(max-width:620px){.locked-analysis-preview{grid-template-columns:1fr 1fr}.pro-season-price{display:block;margin:9px 0 0}.pro-entitlement-grid{grid-template-columns:1fr}.pro-plan-modal{width:100%}}


/* v128 — secure Pro checkout and billing lifecycle */
.billing-status-panel{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 13px;border:1px solid rgba(132,165,207,.18);border-radius:13px;background:rgba(255,255,255,.025)}
.billing-status-panel p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.billing-action-message{min-height:18px;margin-top:9px;color:#62dfa9;font-size:12px;font-weight:800;text-align:center}
.billing-action-message.error{color:#ff8d8d}
.pro-plan-modal .btn[disabled]{cursor:not-allowed;opacity:.56}
@media(max-width:620px){.billing-status-panel{align-items:flex-start;flex-direction:column;gap:8px}.pro-plan-modal .pro-price-row strong{font-size:34px}}


/* v129 subscription readiness and billing admin controls */
.billing-admin-panel{border-color:rgba(234,179,8,.34);background:linear-gradient(180deg,rgba(7,22,43,.98),rgba(3,14,29,.98))}
.billing-admin-head,.billing-control-row,.billing-test-controls,.billing-search-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.billing-admin-head{justify-content:space-between;margin-bottom:18px}.billing-admin-head p{margin:.35rem 0 0;color:var(--muted)}
.billing-readiness-grid,.billing-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 20px}
.billing-readiness-grid>div,.billing-account-grid>div{padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:rgba(2,12,27,.58);min-width:0}
.billing-readiness-grid span,.billing-account-grid span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.billing-readiness-grid strong,.billing-account-grid strong{display:block;margin-top:5px;overflow-wrap:anywhere}
.billing-admin-layout,.billing-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.billing-admin-column,.billing-history-section{padding:16px;border:1px solid rgba(148,163,184,.14);border-radius:14px;background:rgba(1,10,24,.42)}
.billing-admin-column h4,.billing-history-section h4{margin:0 0 12px}.billing-admin-column .feature-row>div{display:grid;gap:3px}.billing-admin-column .feature-row small{color:var(--muted);line-height:1.35}
.billing-search-form input{flex:1;min-width:220px}.billing-subscriber-result{margin-top:12px}.billing-search-result{width:100%;display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.17);background:rgba(2,12,27,.6);color:inherit;text-align:left;border-radius:10px;margin-top:8px}.billing-search-result span{color:var(--muted)}
.billing-account-card{padding:14px;border:1px solid rgba(234,179,8,.22);border-radius:13px;background:rgba(2,12,27,.68)}.billing-account-card .lineup-heading span{display:block;color:var(--muted);margin-top:3px}.billing-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0}.billing-account-grid .mono{font-size:.72rem}
.billing-control-row label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.78rem}.billing-control-row input{width:74px}.billing-test-controls{margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.14)}
.billing-account-activity{margin-top:16px}.billing-account-activity h5,.billing-history-grid h5{margin:0 0 8px}.billing-history-section{margin-top:18px}.billing-event-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(148,163,184,.1)}.billing-event-row:last-child{border-bottom:0}.billing-event-row strong,.billing-event-row span{display:block}.billing-event-row>div>span{margin-top:3px;color:var(--muted);font-size:.72rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}
@media(max-width:900px){.billing-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-admin-layout,.billing-history-grid{grid-template-columns:1fr}.billing-account-grid{grid-template-columns:1fr}.billing-control-row .btn{flex:1 1 150px}.billing-search-form{align-items:stretch}.billing-search-form input,.billing-search-form button{width:100%}}


/* v130 commissioner operations centre */
.league-operations-card{margin:16px 0;grid-column:1/-1}.commissioner-control-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;margin:16px 0}.commissioner-control-grid label{display:grid;gap:7px;font-weight:700}.commissioner-control-grid textarea{min-height:88px;resize:vertical}.league-announcement{padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04);margin-top:14px}.league-announcement p{margin:6px 0 0}.league-announcement.muted{opacity:.72}.commissioner-activity-list{margin-top:16px}.btn.danger{background:#a92c3a;border-color:#cc4352;color:#fff}.danger-pill{background:rgba(220,62,77,.18)!important;border-color:rgba(255,105,120,.45)!important;color:#ff9ca8!important}@media(max-width:760px){.commissioner-control-grid{grid-template-columns:1fr}.commissioner-control-grid .hero-actions{display:grid;grid-template-columns:1fr}.league-operations-card{margin-top:12px}}

/* v131 commissioner manager controls */
.commissioner-managers-card{grid-column:1/-1}.manager-admin-list{display:grid;gap:10px;margin-top:14px}.manager-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.25fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(5,12,25,.38)}.manager-admin-identity{display:grid;gap:3px}.manager-admin-identity span,.manager-name-field span{font-size:.78rem;color:var(--muted)}.manager-name-field{display:grid;gap:5px}.manager-name-field input{width:100%}.manager-admin-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.danger-mini{border-color:rgba(255,95,95,.5)!important;color:#ffb1b1!important}@media(max-width:760px){.manager-admin-row{grid-template-columns:1fr;align-items:stretch}.manager-admin-actions{justify-content:flex-start}.manager-name-field input{min-height:44px}}


/* v132 commissioner roster correction */
.commissioner-roster-card{grid-column:1/-1}.roster-correction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.roster-correction-grid label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.roster-correction-grid select,.roster-correction-grid input{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#101722;color:#fff;padding:10px 12px;text-transform:none;letter-spacing:normal;font-weight:600}.commissioner-roster-card .hero-actions{margin-top:16px}@media(max-width:700px){.roster-correction-grid{grid-template-columns:1fr}.commissioner-roster-card .hero-actions .btn{width:100%}}

/* v133 commissioner score correction */
.commissioner-score-card{grid-column:1/-1}.correction-reason{grid-column:1/-1}


/* v134 simplified commissioner and platform-admin separation */
.commissioner-advanced{grid-column:1/-1;background:rgba(7,15,29,.72);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:0 18px 18px;margin-top:2px}
.commissioner-advanced>summary{cursor:pointer;font-weight:800;padding:18px 2px;list-style:none}
.commissioner-advanced>summary::-webkit-details-marker{display:none}
.commissioner-advanced>summary::after{content:'+';float:right;font-size:22px;line-height:1}
.commissioner-advanced[open]>summary::after{content:'−'}
.commissioner-advanced .commissioner-roster-card{margin:4px 0 0}
.platform-admin-panel{border-color:rgba(255,184,0,.34)!important}
.platform-admin-notice{margin:14px 0;padding:14px 16px;border-radius:14px;background:rgba(33,150,243,.10);border:1px solid rgba(78,168,255,.22)}
.platform-admin-notice p{margin:5px 0 0;color:var(--muted)}
.platform-admin-panel .commissioner-score-card,.platform-admin-panel .platform-recovery-card{margin-top:16px;background:rgba(4,10,22,.55)}

/* v135 Player Hub foundation */
.player-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.player-hub-panel{border:1px solid rgba(255,255,255,.09);background:rgba(8,18,34,.72);border-radius:18px;padding:16px}.player-trend-chart{height:150px;display:flex;align-items:flex-end;gap:7px;padding:18px 4px 0}.player-trend-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.player-trend-column span{display:block;width:100%;max-width:28px;min-height:8px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#ffc94a,#f08a24)}.player-trend-column small{font-size:10px;color:var(--muted)}.player-hub-mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.player-hub-mini-metrics>div{background:rgba(255,255,255,.045);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px}.player-hub-mini-metrics span{font-size:11px;color:var(--muted)}.player-hub-mini-metrics strong{font-size:15px}.player-comparison-panel{margin:16px 0}.player-comparison-panel select{max-width:280px}.comparison-head,.comparison-row{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center;gap:10px;text-align:center}.comparison-head{padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.1)}.comparison-head span,.comparison-row span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em}.comparison-row{padding:11px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.comparison-row:last-child{border-bottom:0}.comparison-winner{color:#69e6a6}.advanced-player-detail-card{max-width:980px}.player-game-log-section{margin-top:16px}@media(max-width:700px){.player-hub-grid{grid-template-columns:1fr}.player-hub-mini-metrics{grid-template-columns:1fr}.comparison-head,.comparison-row{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr)}.player-comparison-panel select{width:100%;max-width:none;margin-top:8px}.advanced-section-title{align-items:flex-start;flex-direction:column}.player-trend-chart{height:120px}}

/* v136 Player Hub form, projection and insights */
.player-projection-panel,.player-insights-panel{min-height:220px}.projection-primary{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin-top:14px}.projection-primary>div{padding:14px;border-radius:14px;background:rgba(255,255,255,.045);display:flex;flex-direction:column;gap:4px}.projection-primary span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.projection-primary strong{font-size:28px;line-height:1}.projection-primary small{color:var(--muted);font-size:11px}.projection-windows{grid-template-columns:repeat(4,minmax(0,1fr))}.player-insight-list{display:grid;gap:10px;margin:16px 0}.player-insight-list>div{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.045)}.player-insight-list i{font-style:normal;color:#69e6a6;font-weight:900}.player-insight-list span{line-height:1.45}.insights-locked p{color:var(--muted);line-height:1.55}.insights-locked .btn{margin-top:8px}@media(max-width:700px){.projection-primary{grid-template-columns:1fr}.projection-windows{grid-template-columns:repeat(2,minmax(0,1fr))}.player-projection-panel,.player-insights-panel{min-height:0}}

/* v137 Player Hub season splits and searchable game log */
.player-season-splits{margin:16px 0}.season-split-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:13px}.season-split-grid>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:13px;background:rgba(255,255,255,.045);min-width:0}.season-split-grid span,.season-split-grid small{color:var(--muted);font-size:11px}.season-split-grid strong{font-size:17px;overflow-wrap:anywhere}.game-log-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}.game-log-heading h3{margin:0 0 3px}.game-log-heading p{margin:0;color:var(--muted);font-size:12px}.game-log-controls{display:flex;gap:8px}.game-log-controls input{min-width:210px}.game-log-controls select{min-width:110px}.filterable-game-row span:first-child{display:flex;flex-direction:column;gap:2px}.filterable-game-row span:first-child strong{font-size:13px}.filterable-game-row small{color:var(--muted);font-size:10px;text-transform:none;letter-spacing:0}
@media(max-width:760px){.season-split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-log-heading{align-items:stretch;flex-direction:column}.game-log-controls{display:grid;grid-template-columns:1fr 110px}.game-log-controls input{min-width:0;width:100%}}
@media(max-width:430px){.season-split-grid{grid-template-columns:1fr}.game-log-controls{grid-template-columns:1fr}.game-log-controls select{width:100%}}


/* v138 player discovery and rankings */
.player-discovery-grid{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}
.player-discovery-card{min-width:0}
.player-discovery-card h3{margin:4px 0 14px}
.position-leader-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.position-leader-strip button{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:12px;padding:10px 7px;color:inherit;text-align:center;cursor:pointer;min-width:0}
.position-leader-strip button:hover,.player-discovery-row:hover{border-color:rgba(244,192,63,.55);background:rgba(244,192,63,.08)}
.position-leader-strip span{display:block;color:#f4c03f;font-size:.72rem;font-weight:900}
.position-leader-strip strong{display:block;margin-top:5px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.position-leader-strip small{display:block;margin-top:3px;color:var(--muted);font-size:.65rem}
.player-discovery-list{display:grid;gap:7px}
.player-discovery-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;width:100%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:12px;padding:8px;color:inherit;text-align:left;cursor:pointer}
.player-discovery-row span{min-width:0}
.player-discovery-row strong,.player-discovery-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-discovery-row small{margin-top:2px;color:var(--muted);font-size:.72rem}
.player-discovery-row b{color:#f4c03f;font-size:1.2rem}
@media(max-width:1050px){.player-discovery-grid{grid-template-columns:1fr 1fr}.player-discovery-card:first-child{grid-column:1/-1}}
@media(max-width:700px){.player-discovery-grid{grid-template-columns:1fr}.player-discovery-card:first-child{grid-column:auto}.position-leader-strip{grid-template-columns:repeat(5,minmax(68px,1fr));overflow-x:auto;padding-bottom:4px}.player-browser-filters{grid-template-columns:1fr 1fr}.player-browser-filters input{grid-column:1/-1}}
/* v139 Draft Assistant & lineup intelligence */
.draft-assistant-card{margin-bottom:14px}.draft-needs-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.draft-need{padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.035)}.draft-need span,.draft-need small{display:block}.draft-need strong{display:block;margin:3px 0}.draft-need.priority strong{color:#ffcc55}.draft-need.depth strong{color:#8dd6ff}.draft-need.covered strong{color:#8ee5a6}.draft-best-list{display:grid;gap:7px}.draft-best-row{width:100%;display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;text-align:left;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px;color:inherit}.draft-best-row:hover{border-color:rgba(255,204,85,.5)}.draft-best-row small{display:block;opacity:.7;margin-top:2px}.draft-best-row em{font-style:normal;font-weight:800}.draft-rank-strip{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.draft-rank-strip span{font-size:10px;font-weight:800;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.08)}.draft-rank-strip .trend-up{color:#8ee5a6}.draft-rank-strip .trend-down{color:#ff9a9a}.draft-fit-note{display:block;margin-top:4px;color:#ffcc55}.lineup-suggestion{padding:13px;border-radius:10px;background:rgba(255,204,85,.08);border:1px solid rgba(255,204,85,.22);margin:12px 0}.lineup-suggestion strong,.lineup-suggestion span{display:block}.lineup-suggestion span{opacity:.78;margin-top:3px}.lineup-suggestion.neutral{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.1)}.lineup-trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lineup-trend-grid button{text-align:left;padding:11px;border-radius:10px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);color:inherit}.lineup-trend-grid strong,.lineup-trend-grid span,.lineup-trend-grid small{display:block}.lineup-trend-grid span{margin-top:4px}.lineup-trend-grid small{opacity:.7;margin-top:2px}@media(max-width:760px){.draft-needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lineup-trend-grid{grid-template-columns:1fr}.draft-best-row{grid-template-columns:28px 1fr}.draft-best-row em{grid-column:2}}

/* v140 Trade Centre decision support */
.trade-builder-evaluation{margin:14px 0;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}.trade-builder-evaluation h3{margin:3px 0 10px}.trade-evaluation{margin:14px 0;padding:14px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.09)}.trade-evaluation.compact{padding:10px}.trade-evaluation-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.trade-evaluation-head>div span,.trade-evaluation-head>div strong{display:block}.trade-evaluation-head>div span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.trade-evaluation-head>div strong{margin-top:3px}.trade-eval-sides{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.trade-eval-side{padding:11px;border-radius:11px;background:rgba(255,255,255,.04)}.trade-eval-side span,.trade-eval-side strong,.trade-eval-side small{display:block}.trade-eval-side span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.trade-eval-side strong{font-size:22px;margin:3px 0}.trade-eval-side small{color:var(--muted)}.trade-impact-list{display:grid;gap:7px;margin-top:10px}.trade-impact-row{display:flex;justify-content:space-between;gap:12px;padding:10px;border-top:1px solid rgba(255,255,255,.07)}.trade-impact-row strong,.trade-impact-row span{display:block}.trade-impact-row span,.trade-impact-row small{font-size:11px;color:var(--muted)}.trade-eval-note{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.trade-modal-card{max-width:900px}@media(max-width:700px){.trade-eval-sides{grid-template-columns:1fr}.trade-impact-row{flex-direction:column}.trade-evaluation-head{align-items:flex-start}}

/* v141 — matchup centre live insights and league context */
.matchup-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.matchup-context-team{border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(5,13,29,.48);padding:16px;display:grid;gap:14px}
.matchup-context-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.matchup-context-head>div{min-width:0}.matchup-context-head strong,.matchup-context-head span{display:block}.matchup-context-head strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matchup-context-head span{font-size:12px;color:var(--muted);margin-top:3px}
.matchup-form-strip{display:flex;gap:7px;min-height:30px;align-items:center}.matchup-form-strip small{color:var(--muted)}
.form-result{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:1000;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05)}.form-result.w{background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.42);color:#6ee7b7}.form-result.l{background:rgba(248,113,113,.13);border-color:rgba(248,113,113,.4);color:#fca5a5}.form-result.d{background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.4);color:#fcd34d}
.matchup-context-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.matchup-context-stats span{padding:11px;border-radius:13px;background:rgba(255,255,255,.04);text-align:center}.matchup-context-stats small,.matchup-context-stats strong{display:block}.matchup-context-stats small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.matchup-context-stats strong{margin-top:5px;color:var(--gold);font-size:16px}
.previous-meeting-card{margin-top:14px;padding:15px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);display:flex;align-items:center;justify-content:space-between;gap:18px}.previous-meeting-score{display:flex;align-items:center;gap:10px;text-align:center}.previous-meeting-score span{font-size:13px;color:var(--muted)}.previous-meeting-score b{font-size:18px;color:#fff;margin:0 4px}.previous-meeting-score em{font-style:normal;color:var(--gold);font-weight:900}
@media(max-width:760px){.matchup-context-grid{grid-template-columns:1fr}.previous-meeting-card{align-items:flex-start;flex-direction:column}.previous-meeting-score{width:100%;justify-content:space-between}.matchup-context-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:430px){.matchup-context-stats{grid-template-columns:1fr}.previous-meeting-score{display:grid;grid-template-columns:1fr auto 1fr}.previous-meeting-score span:first-child{text-align:left}.previous-meeting-score span:last-child{text-align:right}}


/* v142 — completed-season review */
.season-review-card{border-color:rgba(244,192,63,.3)!important;background:linear-gradient(145deg,rgba(29,21,7,.82),rgba(6,14,28,.93))!important;margin-top:16px}.season-review-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.09)}.season-review-hero h3{font-size:clamp(1.55rem,2.3vw,2.35rem);margin:5px 0 8px}.season-review-hero p{max-width:820px;color:var(--muted);line-height:1.55}.season-review-trophy{min-width:150px;text-align:center;padding:16px 20px;border-radius:18px;background:rgba(244,192,63,.1);border:1px solid rgba(244,192,63,.27)}.season-review-trophy span,.season-review-trophy strong,.season-review-trophy small{display:block}.season-review-trophy span{font-size:34px}.season-review-trophy strong{font-size:22px;margin:6px 0;color:var(--gold)}.season-review-trophy small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:900}.season-awards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.season-award{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:13px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.season-award>span{font-size:24px;text-align:center}.season-award small,.season-award strong,.season-award em{display:block}.season-award small{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900;letter-spacing:.06em}.season-award strong{margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.season-award em{font-style:normal;color:var(--gold);font-size:11px;margin-top:3px}.season-review-columns{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.season-review-columns>div{min-width:0;padding:15px;border-radius:16px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07)}.season-review-ladder,.season-team-reports{display:grid;gap:7px}.season-review-ladder-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border-radius:12px;background:rgba(255,255,255,.035)}.season-review-ladder-row.champion{background:rgba(244,192,63,.1);border:1px solid rgba(244,192,63,.22)}.season-review-ladder-row>b{font-size:15px;text-align:center}.season-review-ladder-row strong,.season-review-ladder-row span{display:block}.season-review-ladder-row span{color:var(--muted);font-size:11px;margin-top:2px}.season-review-ladder-row em{font-style:normal;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:900}.season-team-report{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(65px,.55fr));gap:8px;align-items:center;padding:10px 11px;border-radius:12px;background:rgba(255,255,255,.035)}.season-team-report>div:first-child strong,.season-team-report>div:first-child span{display:block}.season-team-report>div:first-child span{font-size:11px;color:var(--muted);margin-top:2px}.season-team-report>div:not(:first-child){text-align:center}.season-team-report small,.season-team-report b{display:block}.season-team-report small{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:900}.season-team-report b{font-size:12px;margin-top:3px}.season-review-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08)}.season-review-footer>span{color:var(--muted);font-size:12px}@media(max-width:900px){.season-awards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-review-columns{grid-template-columns:1fr}}@media(max-width:620px){.season-review-hero{grid-template-columns:1fr}.season-review-trophy{width:100%}.season-awards-grid{grid-template-columns:1fr}.season-team-report{grid-template-columns:minmax(0,1fr) repeat(3,58px);gap:5px}.season-review-ladder-row{grid-template-columns:30px minmax(0,1fr)}.season-review-ladder-row em{display:none}.season-review-footer{align-items:stretch;flex-direction:column}.season-review-footer .btn{width:100%}}@media(max-width:430px){.season-team-report{grid-template-columns:1fr 1fr 1fr}.season-team-report>div:first-child{grid-column:1/-1}.season-team-report>div:not(:first-child){text-align:left}}


/* v143 — league and franchise history */
.league-history-card{overflow:hidden}.league-history-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;margin-top:18px}.history-section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:4px 0 10px}.history-section-heading strong{font-size:.98rem}.history-section-heading span{font-size:.75rem;color:var(--muted);text-align:right}.history-season-list{display:grid;gap:10px}.history-season-card{border:1px solid rgba(255,255,255,.09);background:rgba(9,17,34,.7);border-radius:16px;padding:14px}.history-season-card.latest{border-color:rgba(246,194,67,.38);box-shadow:inset 0 0 0 1px rgba(246,194,67,.08)}.history-season-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.history-season-head small{display:block;color:var(--gold);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.history-season-head strong{display:block;font-size:1.08rem;margin-top:3px}.history-season-head span{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}.history-season-head b{font-size:.65rem;letter-spacing:.08em;color:var(--gold);border:1px solid rgba(246,194,67,.24);padding:5px 7px;border-radius:999px}.history-season-meta{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.history-season-meta span{font-size:.72rem;background:rgba(255,255,255,.055);border-radius:999px;padding:5px 8px}.history-season-card p{font-size:.8rem;color:var(--muted);margin:0;line-height:1.45}.franchise-legacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.franchise-legacy-card{border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(17,29,53,.84),rgba(8,15,29,.82));border-radius:16px;padding:13px}.franchise-legacy-title{display:flex;align-items:center;gap:10px}.franchise-legacy-title>span{font-size:1.3rem}.franchise-legacy-title strong,.franchise-legacy-title small{display:block}.franchise-legacy-title small{font-size:.68rem;color:var(--muted);margin-top:2px}.franchise-legacy-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.franchise-legacy-stats div{background:rgba(255,255,255,.045);border-radius:10px;padding:7px 5px;text-align:center}.franchise-legacy-stats b,.franchise-legacy-stats span{display:block}.franchise-legacy-stats b{font-size:.82rem}.franchise-legacy-stats span{font-size:.58rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.history-detail-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:18px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.rivalry-history-list,.history-transaction-list,.history-trade-list{display:grid;gap:7px}.rivalry-history-row,.history-transaction-row,.history-trade-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);border-radius:12px;padding:9px 10px}.rivalry-history-row strong,.rivalry-history-row span,.history-transaction-row strong,.history-transaction-row span,.history-trade-row strong,.history-trade-row span{display:block}.rivalry-history-row span,.history-transaction-row span,.history-trade-row span{font-size:.68rem;color:var(--muted);margin-top:2px}.rivalry-history-row em,.history-trade-row em{font-size:.68rem;color:var(--gold);font-style:normal;text-align:right;white-space:nowrap}.history-transaction-row{justify-content:flex-start}.history-transaction-row>b{width:34px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(246,194,67,.12);color:var(--gold);font-size:.72rem}.history-trade-row>div{min-width:0}.history-trade-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
@media(max-width:1000px){.league-history-layout{grid-template-columns:1fr}.history-detail-grid{grid-template-columns:1fr 1fr}.history-detail-grid>div:first-child{grid-column:1/-1}}
@media(max-width:680px){.franchise-legacy-grid,.history-detail-grid{grid-template-columns:1fr}.history-detail-grid>div:first-child{grid-column:auto}.history-section-heading{align-items:start}.history-section-heading span{max-width:45%;font-size:.66rem}.franchise-legacy-stats{grid-template-columns:repeat(2,1fr)}.history-season-meta{gap:5px}.history-season-meta span{font-size:.65rem}.rivalry-history-row{align-items:flex-start}.rivalry-history-row em{white-space:normal;max-width:35%}}

/* v144 — records centre and achievements */
.records-centre-card{overflow:hidden;border-color:rgba(75,181,255,.22)!important;background:linear-gradient(145deg,rgba(8,20,38,.94),rgba(9,15,28,.96))!important}.records-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0}.records-summary div{text-align:center;padding:13px 9px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035)}.records-summary strong,.records-summary span{display:block}.records-summary strong{font-size:1.18rem;color:var(--gold)}.records-summary span{margin-top:3px;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.records-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.record-tile{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035)}.record-tile>span{font-size:1.45rem;text-align:center}.record-tile small,.record-tile strong,.record-tile em{display:block}.record-tile small{font-size:.61rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}.record-tile strong{margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-tile em{margin-top:3px;font-size:.7rem;font-style:normal;color:var(--gold)}.records-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.records-franchise-list,.achievement-list{display:grid;gap:8px}.records-franchise-row{display:grid;grid-template-columns:28px minmax(150px,1fr) repeat(3,minmax(65px,.55fr));align-items:center;gap:8px;padding:10px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065)}.records-franchise-row>b{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:rgba(246,194,67,.12);color:var(--gold)}.records-franchise-row strong,.records-franchise-row span{display:block}.records-franchise-row span{font-size:.62rem;color:var(--muted);margin-top:2px}.records-franchise-row>div:not(:nth-child(2)){text-align:center}.achievement-franchise{padding:11px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065)}.achievement-franchise>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.achievement-franchise>div:first-child span{font-size:.68rem;color:var(--muted)}.achievement-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.achievement-badges>div{display:grid;grid-template-columns:25px minmax(0,1fr);column-gap:7px;align-items:center;padding:8px;border-radius:10px;background:rgba(246,194,67,.065)}.achievement-badges>div>span{grid-row:1/3;font-size:1.05rem}.achievement-badges strong,.achievement-badges small{display:block}.achievement-badges strong{font-size:.72rem}.achievement-badges small{font-size:.58rem;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.records-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.records-columns{grid-template-columns:1fr}.records-franchise-row{grid-template-columns:28px minmax(130px,1fr) repeat(3,62px)}}@media(max-width:620px){.records-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.records-grid{grid-template-columns:1fr}.records-franchise-row{grid-template-columns:26px minmax(0,1fr) 62px}.records-franchise-row>div:nth-child(4),.records-franchise-row>div:nth-child(5){display:none}.achievement-badges{grid-template-columns:1fr}}
/* v145 keeper/dynasty foundation */
.league-type-card{grid-column:1/-1}.keeper-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.keeper-settings-grid label,.league-type-field label,.keeper-count-create label{display:grid;gap:7px}.keeper-settings-grid span,.league-type-field label>span,.keeper-count-create label>span{font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#9eabc4)}.is-hidden{display:none!important}@media(max-width:720px){.keeper-settings-grid{grid-template-columns:1fr}}


/* v146 mobile dashboard and notification centre */
.v146-command-centre,.v146-notification-centre{grid-column:1/-1}
.v146-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.v146-command-card{display:grid;grid-template-columns:44px minmax(0,1fr) 34px;align-items:center;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(3,16,34,.58)}
.v146-command-card>div:nth-child(2){min-width:0}
.v146-command-card span,.v146-command-card small{display:block;color:var(--muted);font-size:.77rem}
.v146-command-card strong{display:block;margin:3px 0;color:#fff;white-space:normal}
.v146-command-card>button{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;font-size:1.25rem;cursor:pointer}
.v146-command-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(246,183,35,.13);border:1px solid rgba(246,183,35,.28);color:#f6b723;font-weight:900}
.v146-dashboard-announcement{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(246,183,35,.09);border:1px solid rgba(246,183,35,.22)}
.v146-dashboard-announcement strong{flex:0 0 auto;color:#f6b723}
.v146-dashboard-announcement span{color:#eaf1fb}
.v146-quick-strip{display:flex;gap:8px;overflow-x:auto;padding-top:12px;scrollbar-width:none}
.v146-quick-strip::-webkit-scrollbar{display:none}
.v146-quick-strip button{white-space:nowrap;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045);color:#fff;padding:9px 13px;cursor:pointer}
.v146-notification-preview{display:grid;gap:8px;margin:12px 0}
.v146-notification-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.v146-notification-row>span{color:#f6b723}
.v146-notification-row strong,.v146-notification-row small{display:block}
.v146-notification-row small{color:var(--muted);margin-top:2px}
.v146-notification-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){
  .fcf-dashboard{display:block}
  .fcf-dashboard>.fcf-card{margin-bottom:12px}
  .v146-command-grid{grid-template-columns:1fr}
  .v146-command-card{grid-template-columns:40px minmax(0,1fr) 32px;padding:12px}
  .v146-command-icon{width:40px;height:40px}
  .v146-dashboard-announcement{display:block}
  .v146-dashboard-announcement strong{display:block;margin-bottom:4px}
  .v146-notification-actions .btn{flex:1 1 145px}
}


/* v147 launch-readiness hardening */
.fcf-skip-link{position:fixed;left:16px;top:-80px;z-index:10000;padding:12px 16px;border-radius:10px;background:#fff;color:#041225;font-weight:900;box-shadow:0 8px 30px rgba(0,0,0,.35);transition:top .18s ease}
.fcf-skip-link:focus{top:16px}
.fcf-connection-banner{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:9999;max-width:min(92vw,680px);padding:10px 16px;border-radius:12px;background:#7a1f1f;color:#fff;font-weight:800;text-align:center;box-shadow:0 10px 28px rgba(0,0,0,.35)}
.fcf-connection-banner.is-online{background:#176b3a}
.fcf-runtime-error{position:fixed;right:16px;bottom:90px;z-index:9998;width:min(420px,calc(100vw - 32px));padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(5,16,34,.97);box-shadow:0 18px 44px rgba(0,0,0,.45)}
.fcf-runtime-error h3{margin:0 0 6px}.fcf-runtime-error p{margin:0 0 12px;color:var(--muted,#b8c5d8)}
.fcf-runtime-actions{display:flex;gap:8px;flex-wrap:wrap}
.launch-check-list{display:grid;gap:8px;margin-top:12px}.launch-check-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.045)}
.launch-check-row span:last-child{text-align:right}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #f5c84c;outline-offset:3px}
img{max-width:100%}
@media (max-width:720px){.fcf-connection-banner{top:8px;font-size:.86rem}.fcf-runtime-error{bottom:82px}.launch-check-row{align-items:flex-start;flex-direction:column;gap:3px}.launch-check-row span:last-child{text-align:left}}
@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* v148 production monitoring and beta diagnostics */
.beta-diagnostics-card textarea{width:100%;resize:vertical;min-height:120px}.monitoring-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.monitoring-health-grid>div{padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}.monitoring-health-grid span{display:block;font-size:.78rem;opacity:.7;margin-bottom:6px}.monitoring-health-grid strong{font-size:1rem}.diagnostic-report-row{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.09)}.diagnostic-report-row:last-child{border-bottom:0}.diagnostic-report-row span,.diagnostic-report-row small{display:block;opacity:.7;margin-top:3px}.diagnostic-report-row p{margin:8px 0;white-space:pre-wrap}@media(max-width:760px){.monitoring-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-monitoring-card .grid.two{grid-template-columns:1fr}}

/* v156 regression recovery: preserve the intended Home dashboard hierarchy. */
.fcf-dashboard > .fcf-welcome-card{order:1}
.fcf-dashboard > .fcf-quick-actions{order:2}
.fcf-dashboard > .fcf-current-league{order:3}
.fcf-dashboard > .fcf-my-leagues{order:4}
.fcf-dashboard > .v146-command-centre{order:5}
.fcf-dashboard > .v146-notification-centre{order:6}
.fcf-dashboard > .fcf-form-card,
.fcf-dashboard > .fcf-feed-card{order:7}
#betaReportStatus.success{color:var(--green,#22c55e)}
#betaReportStatus.error{color:var(--danger,#ef4444)}

/* v156 — simplified Home regression recovery.
   Home hierarchy is source-rendered: welcome/lineup + quick actions, current league,
   my leagues, then creation/join and secondary activity. Command/notification
   summary panels are intentionally not rendered on Home. */
.fcf-dashboard>.fcf-welcome-card{order:1}
.fcf-dashboard>.fcf-quick-actions{order:2}
.fcf-dashboard>.fcf-current-league{order:3}
.fcf-dashboard>.fcf-my-leagues{order:4}
.fcf-dashboard>.fcf-form-card{order:5}
.fcf-dashboard>.fcf-feed-card{order:6}
.court-player-photo.fallback{background:linear-gradient(145deg,#172941,#091629)}
.court-player-photo.fallback b{display:block}

/* v156 — intent-driven Home actions.
   Create/Join are actions, not permanent dashboard furniture. */
.fcf-dashboard-action-panel[hidden]{display:none!important}
.fcf-action-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.fcf-action-panel-heading h3{margin-top:8px}
.fcf-panel-close{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.fcf-panel-close:hover,.fcf-panel-close:focus-visible{border-color:rgba(247,183,49,.65);color:var(--gold)}
.fcf-dashboard>.fcf-dashboard-action-panel:not([hidden]){grid-column:1/-1;order:5;max-width:760px;width:100%;justify-self:center}
.fcf-dashboard>.fcf-feed-card{order:6}

/* v156 — dashboard player profile routing.
   Filled Starting 5 cards are player-profile actions; Manage lineup remains separate. */
.court-player[data-dashboard-player]{cursor:pointer}
.court-player[data-dashboard-player]:focus-visible{outline:3px solid rgba(247,183,49,.75);outline-offset:3px}

/* v156 — regression recovery invariants */

/* Pills must contain their own labels everywhere. */
.pill{
  max-width:100%;
  min-width:0;
  flex:0 1 auto;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  text-align:center;
  justify-content:center;
  line-height:1.15;
}

/* The matchup probability callout must wrap instead of colliding. */
.win-probability-callout{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  min-width:0;
}
.win-probability-callout strong{flex:0 0 auto}
.win-probability-callout span{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.2;
}
.projection-summary>div,.projection-team-card{min-width:0}

/* More is intentionally progressive-disclosure: everyday settings first. */
.production-settings-page{display:grid;gap:16px}
.settings-primary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.settings-disclosure{padding:0;overflow:visible}
.settings-disclosure>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
}
.settings-disclosure>summary::-webkit-details-marker{display:none}
.settings-disclosure>summary span{display:grid;gap:4px;min-width:0}
.settings-disclosure>summary small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.settings-disclosure>summary strong{font-size:1rem}
.settings-disclosure>summary b{font-size:24px;transition:transform .18s ease}
.settings-disclosure[open]>summary b{transform:rotate(90deg)}
.settings-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 16px 16px}
.settings-secondary-grid>.card{min-width:0}
.production-settings-page .feature-row{min-width:0}
.production-settings-page .feature-row>span:last-child{min-width:0;max-width:58%;overflow-wrap:anywhere;text-align:right}

@media(max-width:980px){
  .settings-primary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .settings-primary-grid,.settings-secondary-grid{grid-template-columns:1fr}
  .production-settings-page .feature-row{align-items:flex-start}
  .production-settings-page .feature-row>span:last-child{max-width:55%}
  .win-probability-callout{align-items:flex-start}
}
@media(max-width:430px){
  .production-settings-page .feature-row{gap:8px}
  .production-settings-page .feature-row>span:last-child{max-width:52%}
}

/* v156 usability simplification */

/* Commissioner rows: actions have real width; buttons never become tiny circular pills. */
.manager-admin-row{
  grid-template-columns:minmax(150px,.9fr) minmax(220px,1.35fr) minmax(230px,auto)!important;
  align-items:end!important;
}
.manager-admin-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(104px,1fr))!important;
  gap:8px!important;
  min-width:230px!important;
  width:auto!important;
}
.manager-admin-actions .mini-btn{
  width:100%!important;
  min-width:104px!important;
  min-height:38px!important;
  height:auto!important;
  padding:8px 10px!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.15!important;
  border-radius:10px!important;
}
.manager-admin-actions .danger-mini{grid-column:1/-1}

/* Progressive disclosure for secondary/admin information. */
.league-admin-disclosure,.league-secondary-disclosure{grid-column:1/-1;padding:0;overflow:hidden}
.league-admin-disclosure>summary,.league-secondary-disclosure>summary,
.league-projections-disclosure>summary,.matchup-round-controls>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;min-width:0
}
.league-admin-disclosure>summary::-webkit-details-marker,.league-secondary-disclosure>summary::-webkit-details-marker,
.league-projections-disclosure>summary::-webkit-details-marker,.matchup-round-controls>summary::-webkit-details-marker{display:none}
.league-admin-disclosure>summary span,.league-secondary-disclosure>summary span,.league-projections-disclosure>summary span{display:grid;gap:3px;min-width:0}
.league-admin-disclosure>summary small,.league-secondary-disclosure>summary small,.league-projections-disclosure>summary small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.league-admin-disclosure>summary b,.league-secondary-disclosure>summary b,.league-projections-disclosure>summary b,.matchup-round-controls>summary b{font-size:22px;transition:transform .18s ease}
.league-admin-disclosure[open]>summary b,.league-secondary-disclosure[open]>summary b,.league-projections-disclosure[open]>summary b,.matchup-round-controls[open]>summary b{transform:rotate(90deg)}
.league-admin-disclosure-body,.league-secondary-body{padding:0 18px 18px}
.league-next-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px}
.league-next-actions h3{margin:4px 0 5px}.league-next-actions p{margin:0;color:var(--muted)}
.league-fixture-disclosure{grid-column:1/-1}

/* Simplified matchup hierarchy. */
.category-matchup-page-v156{display:grid;gap:16px;min-width:0}.category-matchup-page-v156>*{min-width:0}
.category-matchup-toolbar{display:grid;gap:12px}
.category-toolbar-main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-width:0}
.category-toolbar-main>div:first-child{min-width:0}.category-toolbar-main h3{margin:4px 0 6px}.category-toolbar-main p{margin:0;color:var(--muted);max-width:700px}
.category-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0}
.compact-round-select{display:flex;align-items:center;gap:8px}.compact-round-select>span{font-size:11px;font-weight:900;color:var(--gold);text-transform:uppercase}.compact-round-select select{min-width:145px}
.matchup-round-controls{border-top:1px solid rgba(255,255,255,.08)}
.matchup-round-controls>summary{padding:10px 0 0}.matchup-round-controls .hero-actions{margin-top:12px}
.league-projections-disclosure{padding:0;overflow:hidden}.league-projections-disclosure .league-matchup-list{padding:0 18px 18px}

.category-league-matchup-row.simplified{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(72px,auto) minmax(0,1fr)!important;
  gap:14px!important;align-items:center!important;min-width:0;padding:12px 14px!important
}
.category-league-matchup-row.simplified .category-league-team{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-league-matchup-row.simplified .category-league-team.right{text-align:right}
.category-league-matchup-row.simplified .category-record-pill{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;justify-self:center!important;
  width:auto!important;min-width:72px!important;max-width:100%!important;height:auto!important;min-height:34px!important;
  padding:8px 12px!important;white-space:nowrap!important;overflow:hidden!important;line-height:1!important;box-sizing:border-box!important
}

@media(max-width:900px){
  .manager-admin-row{grid-template-columns:1fr!important}
  .manager-admin-actions{min-width:0!important;width:100%!important}
  .category-toolbar-main{flex-direction:column}.category-toolbar-actions{justify-content:flex-start;width:100%}
}
@media(max-width:600px){
  .manager-admin-actions{grid-template-columns:1fr!important}.manager-admin-actions .danger-mini{grid-column:auto}
  .league-next-actions{display:grid}.league-next-actions .hero-actions{width:100%}.league-next-actions .btn{flex:1}
  .category-toolbar-actions{align-items:stretch}.compact-round-select{width:100%;justify-content:space-between}.compact-round-select select{flex:1;min-width:0}.category-toolbar-actions>.btn{width:100%}
  .category-league-matchup-row.simplified{grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr)!important;gap:7px!important;padding:10px!important}
  .category-league-matchup-row.simplified .category-record-pill{min-width:62px!important;padding:7px 6px!important;font-size:11px!important}
}

/* v156 — task-first Draft Room
   One canonical draft record: Draft Board.
   Player selection is the primary task and appears first. */
.draft-shell-v156{
  display:grid!important;
  grid-template-columns:minmax(0,1.8fr) minmax(250px,.7fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.draft-shell-v156 .draft-players-primary{grid-column:1;grid-row:1;min-width:0}
.draft-shell-v156 .draft-side-stack{grid-column:2;grid-row:1;display:grid;gap:14px;min-width:0;align-content:start}
.draft-shell-v156 .draft-board-primary{grid-column:1/-1;grid-row:2;min-width:0}
.draft-shell-v156 .draft-best-available-card{margin:0!important}
.draft-shell-v156 .draft-board{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  max-height:none!important;
  overflow:visible!important;
}
.draft-shell-v156 .pick{min-width:0}
.draft-shell-v156 .pick>div:last-child{min-width:0}
.draft-shell-v156 .pick strong,.draft-shell-v156 .player-meta{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block
}
.draft-my-team .roster-slot{min-width:0}
.draft-my-team .roster-slot strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Completed drafts still use exactly the same board; no Top 8 or duplicate history slabs. */
.draft-recap,.draft-history{display:none!important}

@media(max-width:1000px){
  .draft-shell-v156{grid-template-columns:minmax(0,1fr)!important}
  .draft-shell-v156 .draft-players-primary,
  .draft-shell-v156 .draft-side-stack,
  .draft-shell-v156 .draft-board-primary{grid-column:1!important;grid-row:auto!important}
  .draft-shell-v156 .draft-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .draft-shell-v156 .draft-side-stack{grid-template-columns:1fr}
  .draft-shell-v156 .draft-board{grid-template-columns:1fr!important}
}

/* v156 — Draft heading containment */
.draft-shell-v156 .draft-panel{overflow:hidden}
.draft-shell-v156 .draft-panel-title{
  box-sizing:border-box!important;
  min-height:62px!important;
  padding:12px 12px 10px!important;
  align-items:center!important;
  overflow:hidden!important;
}
.draft-shell-v156 .draft-panel-title>div{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
.draft-shell-v156 .draft-panel-title .eyebrow{
  position:static!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.15!important;
}
.draft-shell-v156 .draft-panel-title h3{
  position:static!important;
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.2!important;
}

/* v156 — Live Centre task hierarchy */
.live-centre-page-v156{display:grid;gap:16px;min-width:0}
.live-centre-page-v156>*{min-width:0}
.live-centre-hero-compact{display:flex;align-items:center;justify-content:space-between;gap:18px}
.live-centre-hero-compact h3{margin:4px 0 6px}
.live-centre-hero-compact p{margin:0;color:var(--muted);max-width:720px}
.live-matchup-primary{border-color:rgba(247,183,49,.38);box-shadow:0 10px 34px rgba(0,0,0,.14)}
.live-matchup-primary .matchup-feature-grid{margin-top:12px}
.live-matchup-lead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.live-matchup-lead>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.live-matchup-lead span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.live-matchup-lead strong{color:var(--gold);font-size:24px;white-space:nowrap}
.live-matchup-lead p{margin:0;color:var(--muted);text-align:right;min-width:0}
.live-games-disclosure,.live-secondary-disclosure{padding:0;overflow:hidden}
.live-games-disclosure>summary,.live-secondary-disclosure>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;min-width:0
}
.live-games-disclosure>summary::-webkit-details-marker,.live-secondary-disclosure>summary::-webkit-details-marker{display:none}
.live-games-disclosure>summary span,.live-secondary-disclosure>summary span{display:grid;gap:3px;min-width:0}
.live-games-disclosure>summary small,.live-secondary-disclosure>summary small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.live-games-disclosure>summary strong,.live-secondary-disclosure>summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-games-disclosure>summary b,.live-secondary-disclosure>summary b{font-size:22px;transition:transform .18s ease}
.live-games-disclosure[open]>summary b,.live-secondary-disclosure[open]>summary b{transform:rotate(90deg)}
.live-disclosure-body{padding:0 18px 18px;min-width:0}
.live-disclosure-body .game-card-list{min-width:0}

@media(max-width:760px){
  .live-centre-hero-compact{align-items:flex-start;flex-direction:column}
  .live-matchup-lead{align-items:flex-start;flex-direction:column}
  .live-matchup-lead p{text-align:left}
}
/* v180: instant live H2H + matchup information hierarchy */
.live-matchup-instant{grid-column:1/-1}
.live-primary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.live-matchup-scorebar{margin-top:12px}
.live-instant-rosters{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.matchup-primary-card .matchup-inline-projection{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.matchup-secondary-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}
.matchup-secondary-disclosure>summary::-webkit-details-marker{display:none}
.matchup-secondary-disclosure>summary span{display:grid;gap:3px}.matchup-secondary-disclosure>summary small{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.matchup-secondary-disclosure>summary strong{font-size:16px}
@media(max-width:900px){.live-primary-actions{justify-content:flex-start}.live-matchup-instant .lineup-heading{align-items:flex-start}.live-instant-rosters{grid-template-columns:1fr}}

/* v180 — shared matchup round history */
.matchup-page-v180{display:grid;gap:16px;min-width:0}
.matchup-page-v180>*{min-width:0}
.matchup-history-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0
}
.matchup-history-toolbar h3{margin:4px 0 0}
.matchup-history-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.matchup-history-select{display:flex;align-items:center;gap:8px;min-width:0}
.matchup-history-select>span{font-size:10px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}
.matchup-history-select select{min-width:190px;max-width:250px}
.matchup-score-v180,.live-h2h-score-v180{
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;margin-top:14px
}
.matchup-score-v180 article,.live-h2h-score-v180 article{
  border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(255,255,255,.035);min-width:0
}
.matchup-score-v180 article.right,.live-h2h-score-v180 article.right{text-align:right}
.matchup-score-v180 article span,.live-h2h-score-v180 article span{display:block;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.matchup-score-v180 article strong,.live-h2h-score-v180 article strong{display:block;margin-top:7px;color:var(--gold);font-size:28px}
.matchup-score-v180>div,.live-h2h-score-v180>div{text-align:center;display:grid;gap:4px}
.matchup-score-v180>div b,.live-h2h-score-v180>div b{color:var(--gold);font-size:11px}
.matchup-score-v180>div small,.live-h2h-score-v180>div small{color:var(--muted);max-width:220px}
.live-primary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.live-centre-page-v180{display:grid;gap:16px;min-width:0}
.live-centre-page-v180>*{min-width:0}

/* v180 — Players and Waivers use one browsing system */
.player-browser-page-v180,.waiver-browser-page-v180{display:grid;gap:14px;min-width:0}
.unified-player-browser-head{
  display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0
}
.unified-player-browser-head>div:first-child{min-width:0}
.unified-player-browser-head h3{margin:4px 0 5px}
.unified-player-browser-head p{margin:0;color:var(--muted)}
.unified-player-filter-card{padding:14px}
.unified-player-filter-card .player-browser-filters,
.unified-player-filter-card .waiver-browser-filters{
  display:grid!important;
  grid-template-columns:minmax(220px,2fr) repeat(4,minmax(130px,1fr))!important;
  gap:9px!important;
  margin:0!important;
}
.waiver-browser-page-v180 .unified-player-filter-card .waiver-browser-filters{
  grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr))!important
}
.unified-player-filter-card .small-note{margin-top:9px}
.unified-player-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
}
.unified-player-card,

.unified-player-card .player-db-head{min-width:0}
.unified-player-card .player-db-copy{min-width:0}
.unified-player-card .player-db-copy>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.unified-player-card .player-db-footer{margin-top:auto;min-width:0}
.waiver-claim-inline{margin-left:auto;min-width:78px}
.waiver-secondary-disclosure{padding:0;overflow:hidden}
.waiver-secondary-disclosure>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px
}
.waiver-secondary-disclosure>summary::-webkit-details-marker{display:none}
.waiver-secondary-disclosure>summary span{display:grid;gap:3px}
.waiver-secondary-disclosure>summary small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.waiver-secondary-disclosure>summary b{font-size:22px;transition:transform .18s ease}
.waiver-secondary-disclosure[open]>summary b{transform:rotate(90deg)}

@media(max-width:1100px){
  .unified-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unified-player-filter-card .player-browser-filters,
  .unified-player-filter-card .waiver-browser-filters,
  .waiver-browser-page-v180 .unified-player-filter-card .waiver-browser-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .matchup-history-toolbar,.unified-player-browser-head{align-items:flex-start;flex-direction:column}
  .matchup-history-controls,.live-primary-actions{width:100%;justify-content:flex-start}
  .matchup-history-select{flex:1}
  .matchup-history-select select{min-width:0;max-width:none;flex:1}
  .matchup-score-v180,.live-h2h-score-v180{grid-template-columns:1fr;gap:8px}
  .matchup-score-v180 article.right,.live-h2h-score-v180 article.right{text-align:left}
  .matchup-score-v180>div,.live-h2h-score-v180>div{text-align:left}
  .unified-player-grid{grid-template-columns:1fr!important}
  .unified-player-filter-card .player-browser-filters,
  .unified-player-filter-card .waiver-browser-filters,
  .waiver-browser-page-v180 .unified-player-filter-card .waiver-browser-filters{grid-template-columns:1fr!important}
}
\n/* v180 — Live Centre interaction and H2H card parity */
.live-games-disclosure[open]>.live-disclosure-body{display:block}
.live-games-toolbar .game-tab{min-width:88px;text-align:center}

/* Both H2H teams use an identical five-column row. Optional score deltas no longer alter geometry. */
.matchup-roster-panel-v180{min-width:0}
.matchup-player-row-v180{
  display:grid!important;
  grid-template-columns:38px 36px minmax(0,1fr) 72px 64px!important;
  align-items:center!important;
  column-gap:10px!important;
  min-height:58px!important;
  padding:10px 14px!important;
  box-sizing:border-box!important;
}
.matchup-player-visual-fixed,.matchup-player-visual-spacer{width:36px;height:36px;display:grid;place-items:center;overflow:hidden}
.matchup-player-visual-fixed>.player-visual,.matchup-player-visual-fixed>.player-initial{width:34px!important;height:34px!important;min-width:34px!important;margin:0!important}
.matchup-player-row-v180 .matchup-player-info{min-width:0!important;padding:0!important}
.matchup-player-row-v180 .matchup-player-info strong{font-size:13px!important;line-height:1.2!important;margin:0!important}
.matchup-player-row-v180 .matchup-player-info span{font-size:10px!important;line-height:1.25!important;margin-top:3px!important}
.matchup-player-row-v180 .matchup-player-status{
  width:68px!important;min-width:68px!important;max-width:68px!important;
  min-height:28px!important;padding:6px 5px!important;box-sizing:border-box!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  font-size:10px!important;line-height:1!important
}
.matchup-player-row-v180 .matchup-player-score{
  width:64px!important;min-width:64px!important;text-align:right!important;
  font-size:16px!important;line-height:1!important;font-variant-numeric:tabular-nums
}
.matchup-roster-panel-v180 .matchup-roster-head{min-height:58px;box-sizing:border-box}
.matchup-roster-panel-v180 .matchup-roster-total{width:72px;text-align:right;font-variant-numeric:tabular-nums}

@media(max-width:900px){
  .matchup-player-row-v180{grid-template-columns:36px 34px minmax(0,1fr) 68px 58px!important}
  .matchup-player-row-v180 .matchup-player-status{width:64px!important;min-width:64px!important;max-width:64px!important}
  .matchup-player-row-v180 .matchup-player-score{width:58px!important;min-width:58px!important}
}
@media(max-width:560px){
  .matchup-player-row-v180{grid-template-columns:34px 32px minmax(0,1fr) 54px!important;gap:7px!important;padding:9px 10px!important}
  .matchup-player-row-v180 .matchup-player-status{display:none!important}
  .matchup-player-row-v180 .matchup-player-score{width:54px!important;min-width:54px!important}
}

/* v180 — mobile lineup hierarchy and matchup empty-slot polish */
.category-starter-row.empty-slot .empty-starter-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  gap:3px;
}
.category-starter-row.empty-slot .empty-starter-copy strong,
.category-starter-row.empty-slot .empty-starter-copy span{
  display:block;
  white-space:normal;
}
.category-starter-row.empty-slot .empty-starter-copy span{
  opacity:.68;
  font-size:.9em;
}
@media (max-width: 760px){
  .franchise-lineup-view{
    gap:10px;
  }
  .franchise-lineup-view > .card{
    padding:14px;
  }
  .franchise-lineup-view .franchise-summary-card,
  .franchise-lineup-view .roster-status-card{
    padding:12px 14px;
  }
  .franchise-lineup-view .franchise-summary-card p,
  .franchise-lineup-view .roster-status-card p{
    margin:5px 0 0;
    line-height:1.35;
  }
  .franchise-lineup-view .lineup-heading{
    margin-bottom:8px;
  }
  .franchise-lineup-view .lineup-list{
    gap:7px;
  }
  .franchise-lineup-view .lineup-player-card{
    min-height:0;
    padding:8px 9px;
    gap:8px;
  }
  .franchise-lineup-view .lineup-card-main{
    gap:8px;
    min-width:0;
  }
  .franchise-lineup-view .player-visual.small{
    width:42px;
    height:42px;
    min-width:42px;
  }
  .franchise-lineup-view .lineup-player-copy{
    min-width:0;
  }
  .franchise-lineup-view .lineup-player-copy strong{
    font-size:.92rem;
    line-height:1.05;
  }
  .franchise-lineup-view .lineup-player-copy > span{
    font-size:.72rem;
    line-height:1.1;
  }
  .franchise-lineup-view .pos-chip-row{
    margin-top:3px;
  }
  .franchise-lineup-view .pos-chip{
    font-size:.61rem;
    padding:2px 5px;
  }
  .franchise-lineup-view .avg-pill{
    padding:6px 8px;
    font-size:.72rem;
    white-space:nowrap;
  }
  .franchise-lineup-view .btn.compact{
    min-height:30px;
    padding:5px 9px;
    font-size:.72rem;
  }
  .franchise-lineup-view .lineup-intelligence-card{
    margin-top:2px;
  }
  .category-starter-row.empty-slot{
    align-items:center;
    column-gap:12px;
  }
  .category-starter-row.empty-slot .empty-starter-copy strong{
    font-size:1rem;
    line-height:1.1;
  }
  .category-starter-row.empty-slot .empty-starter-copy span{
    font-size:.78rem;
    line-height:1.2;
  }
}

/* v180 — account avatar menu */
.fcf-profile-block{position:relative}
.fcf-profile-avatar{border:2px solid var(--gold);cursor:pointer;padding:0}
.fcf-account-menu{
  position:absolute;
  z-index:1200;
  right:0;
  top:calc(100% + 10px);
  width:220px;
  padding:8px;
  border:1px solid rgba(214,163,58,.42);
  border-radius:12px;
  background:#081a31;
  box-shadow:0 18px 45px rgba(0,0,0,.48);
}
.fcf-account-menu[hidden]{display:none!important}
.fcf-account-menu__identity{display:none;padding:8px 10px 10px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:5px}
.fcf-account-menu__identity strong,.fcf-account-menu__identity small{display:block}
.fcf-account-menu__identity small{margin-top:3px;color:#aebbd0;font-size:11px}
.fcf-account-menu>button{
  width:100%;border:0;border-radius:8px;background:transparent;color:#fff;text-align:left;
  padding:11px 10px;font-weight:900;cursor:pointer;
}
.fcf-account-menu>button:hover{background:rgba(214,163,58,.13);color:var(--gold2)}
@media(max-width:760px){
  .fcf-account-menu{position:fixed;right:12px;top:72px;width:min(240px,calc(100vw - 24px));}
  .fcf-account-menu__identity{display:block}
}
@media(max-width:460px){.fcf-account-menu{top:66px}}

/* v180 — compact mobile player directory: one-screen scanning instead of oversized cards */
@media (max-width:700px){
  :is(body[data-view="players"],body[data-view="waivers"]) .player-browser-grid{
    gap:8px!important;
    margin-top:10px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-database-card{
    min-height:0!important;
    padding:9px 10px!important;
    gap:7px!important;
    border-radius:13px!important;
    grid-template-rows:auto auto auto!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-head{
    min-height:48px!important;
    gap:9px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-visual.large{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    border-radius:13px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-visual.large .team-visual{
    width:20px!important;
    height:20px!important;
    right:-4px!important;
    bottom:-4px!important;
    border-radius:6px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy{
    gap:2px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy>strong{
    font-size:16px!important;
    line-height:1.05!important;
    letter-spacing:-.02em!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy .club-line{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    font-size:11px!important;
    line-height:1.1!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-club-copy{
    font-size:11px!important;
    gap:4px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-club-copy .team-visual.inline{
    width:18px!important;
    height:18px!important;
    flex-basis:18px!important;
    border-radius:5px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-inline .position-chip{
    height:18px!important;
    min-width:22px!important;
    padding:0 4px!important;
    font-size:8px!important;
    border-radius:5px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    margin:0!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats>div,
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats>div:nth-child(n+3){
    grid-column:auto!important;
    min-height:38px!important;
    padding:5px 3px!important;
    border-radius:8px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats strong{
    font-size:13px!important;
    line-height:1!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats span{
    margin-top:2px!important;
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:.04em!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-db-footer.public-player-actions{
    min-height:26px!important;
    margin-top:0!important;
    padding-top:0!important;
    gap:6px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-view-label{
    padding:4px 7px!important;
    font-size:9px!important;
    gap:4px!important;
    border-radius:8px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-view-label b{
    font-size:12px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-pro-badge{
    padding:2px 5px!important;
    font-size:7px!important;
  }
  :is(body[data-view="players"],body[data-view="waivers"]) .player-card-roster-action{
    min-width:38px!important;
    min-height:26px!important;
    padding:4px 7px!important;
    border-radius:7px!important;
    font-size:9px!important;
  }
}

/* v180 — public league discovery */
.fcf-public-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.fcf-public-filter-row .text-btn{margin-left:auto}
.public-filter{cursor:pointer}
.public-filter.active{background:var(--gold);color:#071426;border-color:var(--gold)}
.fcf-public-league-list{display:grid;gap:9px}
.fcf-public-league-card{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:13px 14px;border:1px solid rgba(255,255,255,.11);border-radius:12px;
  background:rgba(255,255,255,.025)
}
.fcf-public-league-main{min-width:0}
.fcf-public-league-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fcf-public-league-title strong{font-size:15px}
.fcf-public-league-meta{display:flex;gap:10px;flex-wrap:wrap;margin:5px 0;color:#9fb0c8;font-size:11px}
.fcf-public-league-main>small{color:var(--gold2);font-weight:800}
.fcf-public-join-controls{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.public-franchise-name{
  width:190px;min-height:36px;border:1px solid rgba(255,255,255,.16);border-radius:8px;
  background:#07182d;color:#fff;padding:7px 9px;font:inherit;font-size:12px
}
@media(max-width:760px){
  .fcf-quick-actions{gap:9px}
  .fcf-public-league-card{align-items:stretch;flex-direction:column;padding:12px}
  .fcf-public-join-controls{width:100%}
  .public-franchise-name{width:auto;flex:1;min-width:0}
  .fcf-public-filter-row .text-btn{margin-left:0}
}

/* v180 — compact My Leagues cards.
   A legacy mobile .league-row rule forced every league card into a column.
   These specific rules restore the intended in-row action layout. */
@media(max-width:760px){
  body[data-view="dashboard"] .fcf-my-leagues{
    padding:14px!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .fcf-feed-heading{
    align-items:center!important;
    margin-bottom:2px!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-list{
    gap:8px!important;
    margin-top:10px!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-row.league-switch-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:11px 12px!important;
    margin-top:0!important;
    min-height:78px!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-main{
    min-width:0!important;
    flex:1 1 auto!important;
    gap:4px!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-title{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:5px!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-title strong{
    width:auto!important;
    max-width:100%!important;
    flex:0 1 auto!important;
    font-size:14px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-title .pill{
    font-size:8px!important;
    padding:3px 6px!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-main>span{
    font-size:10.5px!important;
    line-height:1.25!important;
  }
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-row .btn{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:64px!important;
    min-height:34px!important;
    padding:6px 10px!important;
    margin:0!important;
    font-size:11px!important;
    align-self:center!important;
  }
}
@media(max-width:390px){
  body[data-view="dashboard"] .fcf-my-leagues .league-switch-row .btn{
    min-width:58px!important;
    padding-inline:8px!important;
  }
}

/* v180 — align public league discovery with dashboard grid */
@media (min-width:1051px){
  body[data-view="dashboard"] .fcf-dashboard > #publicPanel{
    grid-column:span 6!important;
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    margin:0!important;
  }
}
@media (min-width:761px) and (max-width:1050px){
  body[data-view="dashboard"] .fcf-dashboard > #publicPanel{
    grid-column:span 1!important;
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    margin:0!important;
  }
}
@media (max-width:760px){
  body[data-view="dashboard"] .fcf-dashboard > #publicPanel{
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    margin:0!important;
  }
}

/* v180 — owned league limit + lifecycle management */
.fcf-my-league-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.league-limit-card{display:grid;gap:12px;padding:13px;border:1px solid rgba(238,85,105,.38);border-radius:11px;background:rgba(169,36,56,.08)}
.league-limit-card>div:first-child{display:grid;gap:4px}.league-limit-card strong{color:#ff8d9d}.league-limit-card span{color:#b5c2d5;font-size:12px;line-height:1.4}
.league-limit-actions{display:flex;gap:8px;flex-wrap:wrap}
.manage-league-list{display:grid;gap:9px;margin-top:12px}
.manage-league-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(255,255,255,.025)}
.manage-league-copy{display:grid;gap:5px;min-width:0}.manage-league-copy>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.manage-league-copy small{color:#a9b7ca}
.manage-league-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.manage-league-actions select{min-height:34px;background:#07182d;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:7px;padding:5px 8px}
.btn.danger{background:#9f2740;border-color:#c8445d;color:#fff}.btn.danger:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:760px){
 .fcf-my-league-tools{gap:6px}.fcf-my-league-tools .pill{font-size:8px}.fcf-my-league-tools .text-btn{font-size:10px}
 .league-limit-actions{display:grid;grid-template-columns:1fr 1fr}.league-limit-actions .btn{width:100%;font-size:11px}
 .manage-league-row{align-items:stretch;flex-direction:column}.manage-league-actions{justify-content:stretch;display:grid;grid-template-columns:1fr}.manage-league-actions select,.manage-league-actions .btn{width:100%}
}

/* v180 — public league browser is a permanent dashboard card */
body[data-view="dashboard"] #publicPanel{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body[data-view="dashboard"] #publicPanel .fcf-action-panel-heading{
  margin-bottom:0;
}

/* v180 — authoritative draft schedule clarity */
.draft-schedule-banner{display:grid;gap:2px;margin-top:8px;padding:8px 10px;border:1px solid rgba(230,178,65,.34);border-radius:9px;background:rgba(230,178,65,.07)}
.draft-schedule-banner strong{color:var(--gold2);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.draft-schedule-banner span{font-weight:800;color:#fff}
.draft-schedule-banner small{color:#aebbd0}
@media(max-width:760px){.draft-schedule-banner{margin-top:7px}.draft-schedule-banner span{font-size:12px}}

/* v180 — preseason draft projection transparency */
.player-score.projected{display:grid!important;gap:1px!important}
.player-score.projected small{font-size:7px;line-height:1;color:var(--gold2);letter-spacing:.08em}
.preseason-projection-note{display:block;color:var(--gold2)!important;font-size:9px!important;line-height:1.2!important;margin-top:2px}

/* v184 — Club page round control + actionable lineup advice */




.lineup-lock-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.lineup-recommendation-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.lineup-recommendation-edge{font-weight:800;color:var(--gold2);margin-left:auto}
@media(max-width:760px){.lineup-lock-actions{width:100%}.lineup-lock-actions .btn{flex:1}.lineup-recommendation-edge{margin-left:0;width:100%}}


/* v208 — show every eligible positional draft rank and give scheduled countdown breathing room */
.draft-clock{height:auto;min-height:74px;padding:12px 18px;box-sizing:border-box;white-space:nowrap;line-height:1.05}
@media(max-width:768px){.draft-clock{height:auto;min-height:58px;padding:10px 16px}}
@media(max-width:560px){.draft-clock{padding:10px 14px}}

/* v208 — projection label appears once only */
.player-score.projected{display:flex!important;align-items:center!important;justify-content:flex-end!important}

/* v208 — personal pre-draft rankings */
.personal-rankings-panel{margin-bottom:14px}
.personal-rank-help{margin:6px 0 12px;color:var(--muted);line-height:1.4}
.personal-rankings-list{display:grid;gap:6px;max-height:620px;overflow:auto;padding-right:3px}
.personal-rank-row{display:grid;grid-template-columns:34px 42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.025)}
.personal-rank-number{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:rgba(230,178,65,.12);color:var(--gold2);font-weight:900;font-size:12px}
.personal-rank-row .player-visual.small{width:38px;height:38px;min-width:38px}
.personal-rank-copy{min-width:0}.personal-rank-copy strong,.personal-rank-copy small{display:block}.personal-rank-copy strong{font-size:13px}.personal-rank-copy small{font-size:10px;color:var(--muted);margin-top:2px}
.personal-rank-actions{display:flex;align-items:center;gap:5px}.personal-rank-actions label{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--muted)}.personal-rank-actions input{width:58px;min-height:30px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#07182d;color:#fff;padding:4px 6px}
.draft-rank-strip{flex-wrap:wrap}
@media(max-width:700px){
 .personal-rankings-list{max-height:none}
 .personal-rank-row{grid-template-columns:30px 38px minmax(0,1fr);padding:7px;gap:7px}
 .personal-rank-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid rgba(255,255,255,.07);padding-top:6px}
 .personal-rank-actions .mini-btn{min-width:38px;min-height:34px}
 .personal-rank-actions input{min-height:34px}
}

/* v208 permanent Players/Waivers parity */
.unified-player-grid{align-items:stretch!important}.unified-player-card,.unified-player-card .player-db-head{min-height:64px}.unified-player-card .player-db-stats{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important}.unified-player-card .player-db-stats>div{min-width:0;padding:9px 5px!important;display:flex;flex-direction:column;justify-content:center}.unified-player-card .player-db-stats strong{font-size:16px}.unified-player-card .player-db-stats span{font-size:9px;line-height:1.15}.unified-player-card .player-db-footer{min-height:34px;padding-top:6px;border-top:1px solid rgba(132,165,207,.12)}.unified-player-card .player-db-footer-right{display:flex;align-items:center;gap:7px;margin-left:auto}.unified-player-card .player-card-roster-action{min-width:72px}@media(max-width:720px){.unified-player-card,.unified-player-card .player-db-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}.unified-player-card .player-db-stats>div{padding:8px 3px!important}.unified-player-card .player-db-stats strong{font-size:14px}.unified-player-card .player-db-stats span{font-size:8px}}

/* v208 — Players/Waivers page-level parity */
#playersView .player-database-grid,
#waiversView .player-database-grid,
.view[data-view="players"] .player-database-grid,
.view[data-view="waivers"] .player-database-grid,
.players-page .player-database-grid,
.waivers-page .player-database-grid,
.unified-player-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  align-items:stretch!important;
}
#waiversView .player-database-card,
.view[data-view="waivers"] .player-database-card,
.waivers-page .player-database-card,
.unified-player-grid .unified-player-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-width:0!important;
}
#waiversView 
#waiversView .player-db-stats,
.view[data-view="waivers"] .player-db-stats,
.waivers-page .player-db-stats{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
#waiversView .player-db-footer,
.view[data-view="waivers"] .player-db-footer,
.waivers-page .player-db-footer{
  margin-top:auto!important;
}
@media(max-width:1100px){
  #playersView .player-database-grid,
  #waiversView .player-database-grid,
  .view[data-view="players"] .player-database-grid,
  .view[data-view="waivers"] .player-database-grid,
  .players-page .player-database-grid,
  .waivers-page .player-database-grid,
  .unified-player-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  #playersView .player-database-grid,
  #waiversView .player-database-grid,
  .view[data-view="players"] .player-database-grid,
  .view[data-view="waivers"] .player-database-grid,
  .players-page .player-database-grid,
  .waivers-page .player-database-grid,
  .unified-player-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
}

/* v208 — locked Players/Waivers parity.
   No page-specific card geometry is allowed below this line. */
#playerBrowserGrid,
#waiverPlayerGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%!important;
}
#playerBrowserGrid>.player-database-card,
#waiverPlayerGrid>.player-database-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:16px!important;
  box-sizing:border-box!important;
}
#playerBrowserGrid .player-db-head,
#waiverPlayerGrid .player-db-head{
  min-height:64px!important;
}
#playerBrowserGrid .player-db-stats,
#waiverPlayerGrid .player-db-stats{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
}
#playerBrowserGrid .player-db-stats>div,
#waiverPlayerGrid .player-db-stats>div{
  min-width:0!important;
  padding:9px 5px!important;
}
#playerBrowserGrid .player-db-footer,
#waiverPlayerGrid .player-db-footer{
  min-height:34px!important;
  margin-top:auto!important;
}
@media(max-width:1100px){
  #playerBrowserGrid,
  #waiverPlayerGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  #playerBrowserGrid,
  #waiverPlayerGrid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
}

/* v208 — exact eligible-position parity across Players and Waivers */
#playerBrowserGrid .player-db-copy,
#waiverPlayerGrid .player-db-copy{
  min-width:0!important;
  width:100%!important;
}
#playerBrowserGrid .club-line,
#waiverPlayerGrid .club-line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  gap:6px!important;
}
#playerBrowserGrid .player-db-club-copy,
#waiverPlayerGrid .player-db-club-copy{
  flex:0 1 auto!important;
  min-width:0!important;
}
#playerBrowserGrid .player-db-positions-inline,

#playerBrowserGrid .player-db-positions-inline .position-chip,
#waiverPlayerGrid .player-db-positions-inline .position-chip,
#playerBrowserGrid .position-chip-row .position-chip,
#waiverPlayerGrid .position-chip-row .position-chip{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:24px!important;
  white-space:nowrap!important;
  margin:0!important;
}

/* v208 canonical final cascade */
#playerBrowserGrid .player-db-positions-inline,
#waiverPlayerGrid .player-db-positions-inline{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:4px!important;
  width:auto!important;
  min-width:max-content!important;
}
#playerBrowserGrid .player-db-positions-inline>.position-chip,
#waiverPlayerGrid .player-db-positions-inline>.position-chip{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* v208 — canonical shared player identity styling.
   Players and Waivers intentionally have identical visual rules. */
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy>strong{
  display:block!important;
  font-size:16px!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-copy .club-line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  margin:0!important;
  min-width:0!important;
  font-size:11px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-club-copy{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  flex:0 1 auto!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-club-copy>*{
  flex:0 0 auto;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-inline{
  display:inline-flex!important;
  align-items:center!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:3px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-positions-inline .position-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  height:18px!important;
  min-width:22px!important;
  padding:0 4px!important;
  border-radius:5px!important;
  font-size:8px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* v208 authoritative draft roster verification */
.draft-roster-preflight{margin-top:4px;font-size:9px;line-height:1.2;color:var(--muted)}.draft-roster-preflight.verified{color:#55dca3}.draft-roster-preflight.error{color:#ff9b9b}.draft-roster-preflight.checking{color:#aebbd0}

/* v208 trade integrity + self-service delist */
.trade-delist-card{max-width:620px}
.trade-delist-list{display:grid;gap:8px;max-height:420px;overflow:auto;margin:16px 0}
.trade-delist-card .form-error{min-height:18px}
.lineup-card-actions .btn.danger.compact{margin-left:6px}

/* v208 consolidated integrity */
.draft-command-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(12,26,45,.92);margin-bottom:10px}
.draft-command-strip.my-turn{border:2px solid var(--gold);box-shadow:0 0 0 3px rgba(247,183,49,.12),0 10px 30px rgba(247,183,49,.12)}
.draft-command-strip.my-turn strong{font-size:1.15rem;color:var(--gold)}
.latest-pick-confirmation{font-weight:800}.draft-ticker-wrap{padding:10px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.draft-live-ticker{display:flex;gap:10px;overflow-x:auto;white-space:nowrap;padding:5px 0}.draft-live-ticker span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.draft-live-ticker span.latest{border-color:var(--gold);background:rgba(247,183,49,.12)}.draft-live-ticker em{opacity:.72;font-style:normal}
.draft-roster-construction{display:grid;gap:7px}.roster-slot.construction{min-height:58px}
.draft-position-choice{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.draft-position-choice .selected{outline:2px solid var(--gold);background:rgba(247,183,49,.15)}
.selected-draft-position{font-weight:800;margin:10px 0}
@media(max-width:760px){.draft-command-strip{align-items:flex-start;flex-direction:column}.latest-pick-confirmation{font-size:.9rem}.draft-live-ticker{scroll-snap-type:x proximity}.draft-live-ticker span{scroll-snap-align:start}}

/* v209 Draft Room visual overhaul */
.draft-command-strip{min-height:70px;padding:13px 18px;background:linear-gradient(100deg,rgba(8,25,44,.98),rgba(11,31,52,.94));border:1px solid rgba(123,155,190,.20);border-radius:14px;margin-bottom:12px}
.draft-turn-state{display:flex;flex-direction:column;gap:4px}.draft-turn-state strong{font-size:1.05rem;letter-spacing:.02em}.draft-turn-current{font-size:.88rem;color:var(--muted);white-space:nowrap}
.draft-command-strip.my-turn{background:linear-gradient(100deg,rgba(55,42,10,.95),rgba(13,31,50,.96));border-color:rgba(244,187,57,.75);box-shadow:0 0 0 2px rgba(244,187,57,.10),0 12px 32px rgba(0,0,0,.20)}
.draft-command-strip.my-turn .draft-turn-state strong{color:#ffd363;font-size:1.18rem}
.draft-ticker-wrap{padding:14px 16px 16px;background:linear-gradient(180deg,rgba(11,31,52,.96),rgba(7,23,40,.96));border:1px solid rgba(123,155,190,.20);border-radius:16px;margin-bottom:16px;overflow:hidden}
.draft-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.draft-section-heading>div{display:flex;gap:10px;align-items:baseline}.draft-section-heading small{color:var(--muted)}
.draft-pick-carousel{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:10px;align-items:center}
.draft-pick-track{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:2px}.draft-pick-track::-webkit-scrollbar{display:none}
.recent-pick-card{flex:0 0 clamp(185px,22%,245px);min-height:92px;padding:12px 13px;border:1px solid rgba(123,155,190,.22);border-radius:12px;background:linear-gradient(145deg,rgba(20,43,68,.92),rgba(10,28,48,.92));scroll-snap-align:start}
.recent-pick-card.latest{border-color:#e7b63e;background:linear-gradient(145deg,rgba(72,56,19,.72),rgba(14,31,49,.96));box-shadow:0 0 0 1px rgba(231,182,62,.18),0 7px 20px rgba(231,182,62,.10)}
.recent-pick-top,.recent-pick-team{display:flex;align-items:center;justify-content:space-between;gap:8px}.recent-pick-top b{font-size:1rem;color:#f5c652}.recent-pick-top small{font-size:.62rem;color:var(--muted);letter-spacing:.08em}.recent-pick-card.latest .recent-pick-top small{color:#f5c652}
.recent-pick-card>strong{display:block;margin:10px 0 8px;font-size:.95rem;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-pick-team{font-size:.75rem;color:#d8e1ec}.recent-pick-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-pick-team em{font-style:normal;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:800}
.ticker-arrow{width:36px;height:36px;border-radius:50%;border:1px solid rgba(241,187,59,.7);background:linear-gradient(180deg,#f4c653,#c89422);color:#071526;font-size:1.65rem;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.25)}
.ticker-arrow:hover{transform:translateY(-1px);filter:brightness(1.07)}
.draft-player-list .player-card,.available-player-list .player-card{min-height:76px!important;border-radius:12px!important;background:linear-gradient(100deg,rgba(20,43,68,.94),rgba(12,31,51,.94))!important;border:1px solid rgba(123,155,190,.20)!important;padding:10px 12px!important}
.draft-player-list .player-card:hover,.available-player-list .player-card:hover{border-color:rgba(241,187,59,.48)!important;background:linear-gradient(100deg,rgba(25,50,77,.98),rgba(14,35,57,.98))!important}
.draft-player-list .player-card button,.available-player-list .player-card button{min-width:42px!important;width:42px!important;height:42px!important;border-radius:50%!important;padding:0!important;font-size:1.5rem!important;line-height:1!important;background:linear-gradient(180deg,#f5c653,#d39c25)!important;color:#061423!important;border:0!important}
.draft-player-list .player-card button:disabled,.available-player-list .player-card button:disabled{width:auto!important;min-width:110px!important;height:34px!important;border-radius:8px!important;font-size:.72rem!important;background:rgba(169,126,43,.65)!important;color:#081522!important}
@media(max-width:760px){.draft-command-strip{align-items:flex-start;flex-direction:column;gap:7px}.draft-turn-current{white-space:normal}.draft-pick-carousel{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px}.ticker-arrow{width:30px;height:30px;font-size:1.3rem}.recent-pick-card{flex-basis:78%;min-height:88px}.draft-ticker-wrap{padding:12px 10px}.draft-section-heading small{display:none}}

/* v211 actual Available Players component — mock-aligned */
#playerList{display:flex;flex-direction:column;gap:7px}
.draft-available-row{display:grid;grid-template-columns:112px minmax(0,1fr) 105px 50px;align-items:center;gap:12px;min-height:72px;padding:9px 10px;border:1px solid rgba(124,156,190,.20);border-radius:11px;background:linear-gradient(100deg,rgba(18,41,65,.96),rgba(10,29,48,.96));cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.draft-available-row:hover{border-color:rgba(238,185,56,.48);background:linear-gradient(100deg,rgba(23,48,74,.98),rgba(12,34,55,.98));transform:translateY(-1px)}
.draft-row-rank{display:flex;flex-direction:column;gap:5px;align-self:stretch;justify-content:center;border-right:1px solid rgba(124,156,190,.15);padding-right:10px}
.draft-row-rank strong{font-size:.68rem;color:#f3c34f;letter-spacing:.045em}.draft-row-rank small{font-size:.66rem;color:#9db0c5}
.draft-row-player{display:flex;align-items:center;gap:10px;min-width:0}.draft-row-player .player-visual,.draft-row-player img{flex:0 0 auto}
.draft-row-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.draft-row-copy>strong{font-size:.92rem;color:#f6f8fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-row-copy>span{font-size:.72rem;color:#9fb0c3}.draft-row-copy>small{font-size:.66rem;color:#efbb42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.draft-row-value{text-align:right;display:flex;flex-direction:column;gap:3px}.draft-row-value strong{font-size:1rem;color:#f4c34e}.draft-row-value small{font-size:.62rem;color:#8297ad;text-transform:uppercase}
.draft-row-action{display:flex;justify-content:center;align-items:center}.draft-plus-btn{width:38px;height:38px;border-radius:50%;border:1px solid #f0c14b;background:linear-gradient(180deg,#f6cc5b,#d89f27);color:#071625;font-size:1.5rem;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.24);padding:0}.draft-plus-btn:hover{filter:brightness(1.08);transform:scale(1.04)}
.draft-row-category{min-width:0;overflow:hidden}
.draft-available-row .draft-category-stats{margin:0!important}
@media(max-width:760px){.draft-available-row{grid-template-columns:70px minmax(0,1fr) 58px 42px;gap:7px;padding:8px}.draft-row-rank strong{font-size:.59rem}.draft-row-rank small{font-size:.58rem}.draft-row-copy>strong{font-size:.82rem}.draft-row-copy>small{display:none}.draft-row-value strong{font-size:.88rem}.draft-row-value small{display:none}.draft-plus-btn{width:34px;height:34px;font-size:1.3rem}}

/* v211: keep + affordance visible but clearly inactive when pick cannot be made */
.draft-plus-btn:disabled{opacity:.28;filter:grayscale(.35);cursor:not-allowed;box-shadow:none;transform:none}


/* v213 matchup status integrity: preserve readable pill size and strict row alignment */
.matchup-player-row-v181{
  display:grid!important;
  grid-template-columns:34px 34px minmax(0,1fr) 82px 64px!important;
  align-items:center!important;
  column-gap:9px!important;
}
.matchup-player-row-v181 .matchup-player-status{
  width:82px!important;min-width:82px!important;max-width:82px!important;
  min-height:28px!important;padding:6px 8px!important;box-sizing:border-box!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
  font-size:10px!important;line-height:1!important;letter-spacing:0!important;
}
.matchup-player-row-v181 .matchup-player-score{
  width:64px!important;min-width:64px!important;text-align:right!important;
  font-variant-numeric:tabular-nums!important;
}
.live-player-tag{white-space:nowrap!important;overflow:visible!important}
@media(max-width:760px){
  .matchup-player-row-v181{grid-template-columns:32px 30px minmax(0,1fr) 72px 56px!important;column-gap:7px!important}
  .matchup-player-row-v181 .matchup-player-status{width:72px!important;min-width:72px!important;max-width:72px!important;font-size:9px!important;padding:5px 6px!important}
  .matchup-player-row-v181 .matchup-player-score{width:56px!important;min-width:56px!important}
}


/* v216 — Live Centre H2H scorebar formatting integrity */
.live-h2h-score-v181{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(150px,auto) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  margin-top:14px!important;
}
.live-h2h-score-v181 article{
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  background:rgba(255,255,255,.035)!important;
  min-width:0!important;
}
.live-h2h-score-v181 article.right{text-align:right!important}
.live-h2h-score-v181 article span{
  display:block!important;
  font-weight:900!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.live-h2h-score-v181 article strong{
  display:block!important;
  margin-top:6px!important;
  color:var(--gold)!important;
  font-size:26px!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
}
.live-h2h-score-v181>div{
  text-align:center!important;
  display:grid!important;
  gap:5px!important;
  justify-items:center!important;
}
.live-h2h-score-v181>div b{color:var(--gold)!important;font-size:11px!important}
.live-h2h-score-v181>div small{
  display:block!important;
  color:var(--muted)!important;
  max-width:240px!important;
  line-height:1.35!important;
}
@media(max-width:760px){
  .live-h2h-score-v181{grid-template-columns:1fr!important;gap:8px!important}
  .live-h2h-score-v181 article,.live-h2h-score-v181 article.right{text-align:left!important;padding:12px!important}
  .live-h2h-score-v181>div{text-align:left!important;justify-items:start!important;padding:4px 2px!important}
}


/* v217 — shared Matchup + Live Centre scorebar, exact v181 markup */
.matchup-score-v181,
.live-h2h-score-v181{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(170px,220px) minmax(0,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
  margin-top:16px!important;
}
.matchup-score-v181 .matchup-score-team,
.live-h2h-score-v181 .matchup-score-team{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:86px!important;
  padding:14px 16px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.035)!important;
}
.matchup-score-v181 .matchup-score-team.right,
.live-h2h-score-v181 .matchup-score-team.right{text-align:right!important;align-items:flex-end!important}
.matchup-score-name{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  font-weight:900!important;
  font-size:14px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.matchup-score-value{
  display:block!important;
  margin-top:8px!important;
  color:var(--gold)!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:1000!important;
  font-variant-numeric:tabular-nums!important;
}
.matchup-score-centre{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  text-align:center!important;
  min-width:0!important;
  padding:8px!important;
}
.matchup-score-state{
  min-width:82px!important;
  justify-content:center!important;
}
.matchup-score-margin{
  display:block!important;
  color:var(--muted)!important;
  line-height:1.35!important;
  font-size:12px!important;
  max-width:210px!important;
}
@media(max-width:760px){
  .matchup-score-v181,
  .live-h2h-score-v181{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .matchup-score-v181 .matchup-score-team,
  .live-h2h-score-v181 .matchup-score-team{
    min-height:0!important;
    padding:12px 14px!important;
  }
  .matchup-score-v181 .matchup-score-team.right,
  .live-h2h-score-v181 .matchup-score-team.right{
    text-align:left!important;
    align-items:flex-start!important;
  }
  .matchup-score-centre{
    align-items:flex-start!important;
    text-align:left!important;
    padding:5px 2px!important;
  }
}


/* v218 — projections are never presented as actual scores before tip-off/final */
.matchup-score-kind,
.matchup-roster-total small,
.matchup-player-score small{
  display:block!important;
  margin-top:4px!important;
  color:var(--muted)!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.matchup-roster-total{text-align:right!important}
.matchup-roster-total strong{display:block!important}
.matchup-player-score strong{display:block!important}
.matchup-player-row-v181 .matchup-player-status{
  width:82px!important;min-width:82px!important;max-width:82px!important;
}
@media(max-width:760px){
  .matchup-player-row-v181 .matchup-player-status{
    width:72px!important;min-width:72px!important;max-width:72px!important;
    font-size:8px!important;
  }
  .matchup-score-kind,.matchup-roster-total small,.matchup-player-score small{font-size:7px!important}
}

/* v228 — shared Players/Waivers status pill text fit only */
.unified-player-card .player-db-status-desktop,
.unified-player-card .player-db-status-mobile{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  width:auto!important;
  min-width:max-content!important;
  flex:0 0 auto!important;
}


/* v233 permanent player headshot fallback invariant */
.player-visual{position:relative}
.player-visual>span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.player-visual.has-image>span{
  display:none!important;
}
.player-visual.fallback>span{
  display:flex!important;
}
.player-visual.fallback img{
  display:none!important;
}
.court-player-photo>b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.court-player-photo.has-photo>b{
  display:none!important;
}
.court-player-photo.fallback>b{
  display:flex!important;
}
.court-player-photo.fallback img{
  display:none!important;
}


/* v235 CSP-safe permanent player image invariant */
.player-visual.fallback img,
.court-player-photo.fallback img{display:none!important}
.player-visual.fallback>span,
.court-player-photo.fallback>b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}


/* v253 launch-critical live game period strip */
.game-period-strip{display:flex;gap:8px;align-items:stretch;overflow-x:auto;scrollbar-width:none;margin:10px 0 4px;padding:2px 0}.game-period-strip::-webkit-scrollbar{display:none}.game-period-strip>span{flex:0 0 auto;min-width:52px;padding:6px 8px;border-radius:9px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);display:grid;gap:2px;text-align:center}.game-period-strip small{font-size:.62rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.game-period-strip strong{font-size:.82rem;line-height:1.2;white-space:nowrap;color:var(--text)}.game-centre-card .game-period-strip{margin-top:8px}.live-game-detail>.game-period-strip{margin:2px 0 14px}.live-game-detail>.game-period-strip>span{min-width:60px;padding:7px 10px}@media(max-width:700px){.game-period-strip{gap:6px}.game-period-strip>span{min-width:48px;padding:5px 7px}.game-period-strip strong{font-size:.78rem}}

/* v260 — real category averages + user-surface cleanup */
.category-average-source{
  display:block;
  margin:6px 0 0;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.compact-category-display{min-width:0}
.draft-row-category .category-average-source{margin:0 0 5px;text-align:left}
.personal-rank-category{margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.07)}
.personal-rank-category>.category-average-source{margin:0 0 5px}
.personal-ranking-category-stats{margin-top:0!important;grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:4px!important}
.personal-ranking-category-stats>div{padding:5px 2px!important;border-radius:6px!important}
.personal-ranking-category-stats strong{font-size:9px!important}
.personal-ranking-category-stats span{font-size:6px!important}
.category-personal-rank-row{align-items:start}
@media(max-width:900px){
  .personal-ranking-category-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}


/* v267 — readable nine-category Draft rows.
   The previous layout squeezed nine stats into a 105px column and clipped them. */
.category-draft-row{
  grid-template-columns:104px minmax(0,1fr) 48px!important;
  grid-template-areas:
    "rank player action"
    "stats stats stats";
  align-items:center!important;
  column-gap:10px!important;
  row-gap:7px!important;
  min-height:112px!important;
}
.category-draft-row .draft-row-rank{grid-area:rank}
.category-draft-row .draft-row-player{grid-area:player}
.category-draft-row .draft-row-action{grid-area:action}
.category-draft-row .draft-row-category{
  grid-area:stats;
  width:100%;
  min-width:0;
  overflow:visible!important;
}
.category-draft-row .compact-category-display{width:100%;min-width:0}
.category-draft-row .category-average-source{
  display:block;
  margin:0 0 5px!important;
  font-size:8px;
  line-height:1.1;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.category-draft-row .draft-category-stats{
  display:grid!important;
  grid-template-columns:repeat(9,minmax(0,1fr))!important;
  gap:4px!important;
  width:100%;
  margin:0!important;
}
.category-draft-row .draft-category-stats>div{
  min-width:0!important;
  padding:5px 2px!important;
  border-radius:6px!important;
}
.category-draft-row .draft-category-stats strong{
  font-size:9px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-variant-numeric:tabular-nums;
}
.category-draft-row .draft-category-stats span{
  margin-top:3px!important;
  font-size:6.5px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
}

/* Player and Waiver category cards also explicitly preserve a 3x3 nine-cat matrix. */
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:minmax(46px,auto);
  gap:6px!important;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats>div{
  min-width:0!important;
  overflow:hidden;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats strong{
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums;
}

@media(max-width:900px){
  .category-draft-row{
    grid-template-columns:76px minmax(0,1fr) 42px!important;
    min-height:170px!important;
  }
  .category-draft-row .draft-category-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .category-draft-row .draft-category-stats>div{padding:6px 3px!important}
  .category-draft-row .draft-category-stats strong{font-size:10px!important}
  .category-draft-row .draft-category-stats span{font-size:7px!important}
}


/* v268 — readable category numbers and stable rank labels */
.category-draft-row{
  grid-template-columns:112px minmax(0,1fr) 48px!important;
  min-height:164px!important;
  row-gap:9px!important;
}
.category-draft-row .draft-row-rank strong{
  font-size:.76rem!important;
  line-height:1.1!important;
}
.category-draft-row .draft-row-rank small{
  font-size:.69rem!important;
  line-height:1.15!important;
}
.category-draft-row .category-average-source{
  margin:0 0 7px!important;
  font-size:9px!important;
  line-height:1.15!important;
  color:#aebfd1!important;
}
.category-draft-row .draft-category-stats{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,minmax(38px,auto))!important;
  gap:6px!important;
}
.category-draft-row .draft-category-stats>div{
  min-height:38px!important;
  padding:6px 5px!important;
  display:grid!important;
  place-content:center!important;
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(154,183,216,.22)!important;
}
.category-draft-row .draft-category-stats strong{
  font-size:12px!important;
  line-height:1.05!important;
  color:#f7d36b!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-shadow:0 1px 0 rgba(0,0,0,.28);
}
.category-draft-row .draft-category-stats span{
  margin-top:4px!important;
  font-size:8px!important;
  line-height:1!important;
  color:#b8c7d8!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
@media(max-width:760px){
  .category-draft-row{
    grid-template-columns:78px minmax(0,1fr) 42px!important;
    min-height:174px!important;
  }
  .category-draft-row .draft-category-stats strong{font-size:11px!important}
  .category-draft-row .draft-category-stats span{font-size:7.5px!important}
}

/* Players and Waivers use the same legibility floor for 9-cat values. */
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats strong{
  font-size:14px!important;
  line-height:1.05!important;
  color:#f7d36b!important;
}
:is(body[data-view="players"],body[data-view="waivers"]) .player-db-stats.category-player-stats span{
  font-size:9px!important;
  line-height:1!important;
  color:#b8c7d8!important;
}


/* v269 — category rows use explicit structure so the bottom 3 categories cannot clip. */
.category-draft-row{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  padding:10px!important;
}
.category-draft-row .draft-category-head{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr) 48px!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0;
}
.category-draft-row .draft-category-head .draft-row-rank{
  align-self:stretch!important;
}
.category-draft-row .draft-row-category{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin-top:9px!important;
  overflow:visible!important;
}
.category-draft-row .compact-category-display{
  display:block!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
.category-draft-row .draft-category-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-rows:minmax(40px,auto)!important;
  gap:6px!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
.category-draft-row .draft-category-stats>div{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:40px!important;
  height:auto!important;
  overflow:hidden!important;
}
.category-draft-row .draft-category-stats strong{
  font-size:12px!important;
}
.category-draft-row .draft-category-stats span{
  font-size:8px!important;
}
@media(max-width:760px){
  .category-draft-row{padding:9px!important}
  .category-draft-row .draft-category-head{
    grid-template-columns:78px minmax(0,1fr) 42px!important;
    gap:7px!important;
  }
  .category-draft-row .draft-row-category{margin-top:8px!important}
  .category-draft-row .draft-category-stats{
    grid-auto-rows:minmax(42px,auto)!important;
    gap:6px!important;
  }
  .category-draft-row .draft-category-stats strong{font-size:12px!important}
  .category-draft-row .draft-category-stats span{font-size:8px!important}
}


/* v270 — render-verified category card layout.
   Reset legacy named grid areas now that head + stats are separate blocks. */
#playerList{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
.category-draft-row{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  display:block!important;
  overflow:hidden!important;
}
.category-draft-row .draft-category-head{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr) 48px!important;
  grid-template-areas:none!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  gap:10px!important;
  align-items:center!important;
}
.category-draft-row .draft-category-head .draft-row-rank,
.category-draft-row .draft-category-head .draft-row-player,
.category-draft-row .draft-category-head .draft-row-action{
  grid-area:auto!important;
  min-width:0!important;
}
.category-draft-row .draft-row-category{
  grid-area:auto!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.category-draft-row .compact-category-display,
.category-draft-row .compact-category-stats{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.category-draft-row .draft-category-stats{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-flow:row!important;
  grid-auto-rows:minmax(42px,auto)!important;
}
.category-draft-row .draft-category-stats>div{
  box-sizing:border-box!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:42px!important;
}
.category-draft-row .draft-row-player{
  overflow:hidden!important;
}
.category-draft-row .draft-row-copy{
  min-width:0!important;
  overflow:hidden!important;
}
.category-draft-row .draft-row-copy>strong,
.category-draft-row .draft-row-copy>span,
.category-draft-row .draft-row-copy>small{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  .category-draft-row .draft-category-head{
    grid-template-columns:78px minmax(0,1fr) 42px!important;
    gap:7px!important;
  }
  .category-draft-row .draft-category-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:minmax(46px,auto)!important;
  }
}


/* v271 — full-list invariant: player cards never flex-shrink inside scroll lists. */
#playerList{
  align-items:stretch!important;
  overflow-y:auto!important;
}
#playerList>.draft-available-row{
  flex:0 0 auto!important;
  flex-shrink:0!important;
  width:100%!important;
  max-width:100%!important;
}
#playerList>.category-draft-row{
  flex:0 0 auto!important;
  flex-shrink:0!important;
}


/* v277 — mobile navigation must never retain iOS form-focus zoom. */
@media(max-width:900px){
  input,select,textarea,
  .league-switcher select,
  .compact-round-select select,
  .player-browser-filters input,
  .player-browser-filters select,
  .game-log-controls input,
  .game-log-controls select{
    font-size:16px!important;
  }
  .live-centre-page,.view,.content-panel,.app-layout,.app-shell{
    max-width:100vw;
  }
}
.live-observation-now{border-color:rgba(90,224,153,.45)!important;background:linear-gradient(180deg,rgba(26,112,82,.16),rgba(5,18,34,.92))!important}
.live-game-detail.is-exhibition{border-top:1px solid rgba(90,224,153,.28);margin-top:10px;padding-top:12px}

/* v278 — Live Centre hierarchy + compact basketball box score. */
.live-centre-page-v181{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
.live-centre-page-v181>.live-matchup-primary{order:1!important}
.live-centre-page-v181>.live-observation-disclosure{order:2!important}
.live-centre-page-v181>.live-games-disclosure{order:3!important}
.live-centre-page-v181>.live-secondary-disclosure{order:4!important}

.live-observation-disclosure{
  padding:0!important;
  overflow:hidden!important;
  border-color:rgba(90,224,153,.45)!important;
  background:linear-gradient(180deg,rgba(26,112,82,.16),rgba(5,18,34,.92))!important;
}
.live-observation-disclosure>summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
}
.live-observation-disclosure>summary::-webkit-details-marker{display:none}
.live-observation-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.live-observation-summary>div{min-width:0;display:grid;gap:3px}
.live-observation-summary small{
  color:#58e6a1;
  font-weight:1000;
  font-size:9px;
  letter-spacing:.08em;
}
.live-observation-summary strong{
  color:var(--text);
  font-size:17px;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.live-observation-summary span{font-size:10px;color:var(--muted);font-weight:800}
.live-observation-chevron{font-size:22px;transition:transform .15s ease}
.live-observation-disclosure[open] .live-observation-chevron{transform:rotate(90deg)}
.live-observation-body{padding:0 14px 14px}

.live-boxscore-detail{
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-width:0;
}
.live-boxscore-scoreboard{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(2,14,28,.62);
}
.live-boxscore-side{display:flex;align-items:center;gap:10px;min-width:0}
.live-boxscore-side.away{justify-content:flex-end;text-align:right}
.live-boxscore-side span{font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-boxscore-side strong{font-size:24px;color:var(--gold);line-height:1}
.live-boxscore-centre{display:grid;gap:3px;text-align:center;min-width:80px}
.live-boxscore-centre b{font-size:12px;color:var(--text)}
.live-boxscore-centre small{font-size:7px;color:#58e6a1;font-weight:1000;letter-spacing:.06em;white-space:nowrap}
.live-boxscore-detail>.game-period-strip{justify-content:center;margin:8px 0!important}
.live-boxscore-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:4px 2px 9px;
  font-size:9px;
  color:var(--muted);
}
.live-boxscore-meta b{color:#9fb1c8;white-space:nowrap}
.live-boxscore-teams{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0;
}
.live-boxscore-team{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(132,165,207,.18);
  border-radius:12px;
  background:rgba(5,20,38,.74);
}
.live-boxscore-team-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.live-boxscore-team-head strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-boxscore-team-head b{font-size:18px;color:var(--gold)}
.live-boxscore-table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.live-boxscore-table{
  width:100%;
  min-width:500px;
  border-collapse:collapse;
  table-layout:fixed;
  font-variant-numeric:tabular-nums;
}
.live-boxscore-table th,.live-boxscore-table td{
  height:27px;
  padding:4px 5px;
  border-bottom:1px solid rgba(255,255,255,.055);
  font-size:9px;
  text-align:center;
  white-space:nowrap;
}
.live-boxscore-table thead th{
  height:23px;
  color:#8fa2bb;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.04em;
  background:rgba(255,255,255,.025);
  position:sticky;
  top:0;
  z-index:1;
}
.live-boxscore-table th:first-child{
  width:158px;
  text-align:left;
}
.live-boxscore-table tbody th{font-weight:900;color:var(--text)}
.live-boxscore-table tbody tr:last-child th,.live-boxscore-table tbody tr:last-child td{border-bottom:0}
.live-boxscore-table tbody tr.is-live{background:rgba(79,226,151,.025)}
.live-boxscore-table tbody tr:not(.is-live){opacity:.68}
.live-boxscore-table .boxscore-fpts{color:var(--gold);font-weight:1000}
.boxscore-player-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-boxscore-table tbody th small{display:block;margin-top:1px;color:#7f91aa;font-size:6.5px;font-weight:800}
.boxscore-empty{text-align:left!important;color:var(--muted)!important}

/* The schedule browser is secondary to the fantasy matchup and current live game. */
.live-games-disclosure:not([open]){padding-bottom:0}

@media(max-width:850px){
  .live-boxscore-teams{grid-template-columns:1fr}
  .live-boxscore-table{min-width:470px}
}
@media(max-width:600px){
  .live-centre-page-v181{gap:10px!important}
  .live-observation-disclosure>summary{padding:12px}
  .live-observation-body{padding:0 10px 10px}
  .live-observation-summary strong{font-size:14px}
  .live-boxscore-scoreboard{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:6px;padding:10px 8px}
  .live-boxscore-side{display:grid;gap:4px}
  .live-boxscore-side.away{justify-items:end}
  .live-boxscore-side span{font-size:10px;white-space:normal;line-height:1.15}
  .live-boxscore-side strong{font-size:21px}
  .live-boxscore-centre{min-width:0}
  .live-boxscore-centre b{font-size:10px}
  .live-boxscore-centre small{font-size:6px}
  .live-boxscore-meta{display:grid;gap:3px}
  .live-boxscore-team-head{padding:8px 9px}
  .live-boxscore-table th,.live-boxscore-table td{height:25px;padding:3px 4px;font-size:8.5px}
  .live-boxscore-table th:first-child{width:145px}
}
.live-selected-boxscore-disclosure{margin-top:12px;border:1px solid rgba(132,165,207,.18);border-radius:12px;overflow:hidden;background:rgba(4,18,34,.56)}
.live-selected-boxscore-disclosure>summary{list-style:none;cursor:pointer;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.live-selected-boxscore-disclosure>summary::-webkit-details-marker{display:none}
.live-selected-boxscore-disclosure>summary span{display:grid;gap:2px;min-width:0}
.live-selected-boxscore-disclosure>summary small{font-size:8px;color:var(--gold);font-weight:1000;letter-spacing:.06em;text-transform:uppercase}
.live-selected-boxscore-disclosure>summary strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-selected-boxscore-disclosure>summary>b{transition:transform .15s ease}
.live-selected-boxscore-disclosure[open]>summary>b{transform:rotate(90deg)}
.live-selected-boxscore-body{padding:0 10px 10px}


/* v279 — game card owns the box-score action; readable compact box score. */
.game-centre-card{
  display:block;
  width:100%;
}
.game-centre-card:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.game-card-boxscore-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.game-card-boxscore-action>span{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.game-open-boxscore-btn{
  min-height:34px;
  padding:7px 11px;
  border-radius:9px;
  border:1px solid rgba(247,183,49,.65);
  background:rgba(247,183,49,.12);
  color:var(--gold);
  font:inherit;
  font-size:10px;
  font-weight:1000;
  cursor:pointer;
}
.game-open-boxscore-btn:hover{background:rgba(247,183,49,.20)}
.live-selected-boxscore-panel{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(132,165,207,.22);
  border-radius:14px;
  background:rgba(4,18,34,.68);
}
.live-selected-boxscore-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.live-selected-boxscore-panel-head>div{
  display:grid;
  gap:2px;
  min-width:0;
}
.live-selected-boxscore-panel-head small{
  color:var(--gold);
  font-size:8px;
  font-weight:1000;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.live-selected-boxscore-panel-head strong{
  color:var(--text);
  font-size:15px;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.live-boxscore-team-head strong{font-size:14px}
.live-boxscore-team-head b{font-size:21px}
.live-boxscore-table{
  min-width:520px;
}
.live-boxscore-table th,.live-boxscore-table td{
  height:31px;
  padding:5px 6px;
  font-size:10.5px;
}
.live-boxscore-table thead th{
  height:26px;
  font-size:8px;
}
.live-boxscore-table th:first-child{
  width:168px;
}
.live-boxscore-table tbody th small{
  margin-top:2px;
  font-size:7.5px;
}
.live-boxscore-dnp{
  display:flex;
  gap:8px;
  align-items:flex-start;
  padding:7px 9px 8px;
  border-top:1px solid rgba(255,255,255,.06);
  color:var(--muted);
  font-size:8px;
  line-height:1.35;
}
.live-boxscore-dnp strong{
  flex:0 0 auto;
  color:#8799b0;
  font-size:7px;
  letter-spacing:.04em;
}
.live-boxscore-dnp span{min-width:0}
@media(max-width:850px){
  .live-boxscore-table{min-width:500px}
}
@media(max-width:600px){
  .game-card-boxscore-action{align-items:center}
  .game-open-boxscore-btn{min-height:40px;font-size:11px;padding:8px 12px}
  .live-selected-boxscore-panel{padding:9px}
  .live-selected-boxscore-panel-head{align-items:flex-start}
  .live-selected-boxscore-panel-head strong{font-size:13px;white-space:normal}
  .live-boxscore-table{min-width:500px}
  .live-boxscore-table th,.live-boxscore-table td{height:30px;padding:5px;font-size:10px}
  .live-boxscore-table thead th{font-size:7.5px}
  .live-boxscore-table th:first-child{width:154px}
  .live-boxscore-table tbody th small{font-size:7px}
  .live-boxscore-dnp{display:grid;gap:3px;font-size:8px}
}

.live-selected-boxscore-panel-head .mini-btn{
  flex:0 0 auto;
  min-width:108px;
  white-space:nowrap;
}
@media(max-width:600px){
  .live-selected-boxscore-panel-head .mini-btn{min-width:104px;font-size:10px}
}


/* v280 — persistent Live Centre UI state + real-time update affordances. */
.live-games-toolbar-status{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
.live-auto-update-indicator{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#7ee8a7;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.04em;
  white-space:nowrap;
}
.live-auto-update-indicator i{
  width:8px;height:8px;border-radius:50%;background:#55db92;
  box-shadow:0 0 0 3px rgba(85,219,146,.10);
}
.live-selected-boxscore-panel-head .mini-btn{
  min-width:132px!important;
  padding:8px 13px!important;
  white-space:nowrap!important;
  line-height:1.05!important;
}
.game-centre-card .game-clock{
  max-width:220px;
  text-align:right;
  white-space:normal;
  line-height:1.15;
}
.game-centre-card .game-status.live + .game-clock{color:#7ee8a7}
@media(max-width:700px){
  .live-games-toolbar-status{width:100%;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:10px}
  .live-auto-update-indicator{font-size:9px}
  .live-selected-boxscore-panel-head .mini-btn{min-width:122px!important;font-size:10px!important}
  .game-centre-card .game-clock{max-width:150px}
}

/* v284 — readable whole-number basketball box score. */
.live-boxscore-team-head strong{font-size:15.5px!important}
.live-boxscore-team-head b{font-size:23px!important}
.live-boxscore-table{
  min-width:540px!important;
}
.live-boxscore-table th,.live-boxscore-table td{
  height:34px!important;
  padding:6px 6px!important;
  font-size:12px!important;
  line-height:1.1!important;
}
.live-boxscore-table thead th{
  height:28px!important;
  font-size:8.5px!important;
  letter-spacing:.035em!important;
}
.live-boxscore-table th:first-child{
  width:178px!important;
}
.live-boxscore-table tbody th small{
  margin-top:3px!important;
  font-size:8px!important;
}
.live-boxscore-table .boxscore-fpts{
  font-size:12.5px!important;
}
.boxscore-empty{
  padding:14px 10px!important;
  font-size:10.5px!important;
  white-space:normal!important;
  line-height:1.35!important;
}
.live-boxscore-meta{
  font-size:10px!important;
}
.live-games-toolbar-status{
  font-size:10px!important;
}
@media(max-width:850px){
  .live-boxscore-table{min-width:525px!important}
}
@media(max-width:600px){
  .live-boxscore-team-head strong{font-size:14px!important}
  .live-boxscore-team-head b{font-size:21px!important}
  .live-boxscore-table{min-width:515px!important}
  .live-boxscore-table th,.live-boxscore-table td{
    height:33px!important;
    padding:5px!important;
    font-size:11.5px!important;
  }
  .live-boxscore-table thead th{font-size:8px!important}
  .live-boxscore-table th:first-child{width:166px!important}
  .live-boxscore-table tbody th small{font-size:7.5px!important}
  .live-boxscore-table .boxscore-fpts{font-size:12px!important}
}


/* v285 — permanent Live Centre browser + readable archive/boxscore presentation. */
.live-games-browser{
  padding:0!important;
  overflow:hidden;
}
.live-games-browser-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px 0;
}
.live-games-browser-head>div{display:grid;gap:3px}
.live-games-browser-head small{
  color:var(--gold);
  font-size:9px;
  font-weight:1000;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.live-games-browser-head strong{font-size:15px;color:#f8fbff}
.completed-round-strip{
  display:flex;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:thin;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  padding:2px 0 10px;
  margin-bottom:2px;
}
.completed-round-pill{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 13px;
  border:1px solid rgba(147,170,199,.30);
  border-radius:999px;
  background:#0b1d33;
  color:#d8e4f2;
  font:inherit;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.completed-round-pill.active{
  border-color:rgba(255,200,50,.85);
  background:#ffc832;
  color:#071426;
}
.boxscore-close-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:144px!important;
  min-height:36px!important;
  padding:8px 14px!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.live-boxscore-table tbody th{
  color:#f7fbff!important;
  opacity:1!important;
}
.live-boxscore-table tbody td{
  color:#e7f0fb!important;
  opacity:1!important;
}
.live-boxscore-table tbody tr:not(.is-live){opacity:1!important}
.live-boxscore-table .boxscore-fpts{
  color:#ffc928!important;
  font-weight:1000!important;
  text-shadow:0 0 10px rgba(255,201,40,.16);
}
.boxscore-player-name{
  color:#ffffff!important;
  font-weight:1000!important;
}
.live-boxscore-table thead th{
  color:#b9c9dc!important;
}
.live-boxscore-table tbody th small{
  color:#a8b8cb!important;
}
@media(max-width:600px){
  .live-games-browser-head{padding:12px 12px 0}
  .completed-round-strip{gap:6px;padding-bottom:8px}
  .completed-round-pill{min-height:38px;padding:8px 12px;font-size:10.5px}
  .boxscore-close-btn{min-width:138px!important;min-height:40px!important;font-size:10px!important}
}
.live-centre-page-v181>.live-games-browser{order:3!important}
.boxscore-close-btn{min-width:156px!important}
@media(max-width:600px){.boxscore-close-btn{min-width:148px!important}}


/* v288 — remove redundant Browse games title; retain a compact NBL games label with deliberate spacing. */
.live-games-browser-head{padding-bottom:10px!important}
@media(max-width:600px){.live-games-browser-head{padding-bottom:8px!important}}

/* v290 — reversible lineup selection + weekly waiver lifecycle */
.lineup-deselect{min-width:88px}
.waiver-rules-card{display:grid;gap:14px}
.waiver-rules-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.waiver-rules-head h3{margin-bottom:0}
.waiver-phase-copy{margin:0;color:var(--muted)}
.waiver-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.waiver-rule-grid>div{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);min-width:0}
.waiver-rule-grid small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:10px}
.waiver-rule-grid strong{font-size:15px}
.waiver-rule-grid span{color:var(--muted);font-size:12px;line-height:1.45}
.waiver-review-card{display:grid;gap:12px}
.waiver-review-list{display:grid;gap:9px}
.waiver-review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035)}
.waiver-review-row>div:first-child{display:grid;gap:4px;min-width:0}
.waiver-review-row>div:first-child span{color:var(--muted);font-size:12px}
.waiver-review-row>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.waiver-claim-row .waiver-claim-actions{flex-wrap:wrap;justify-content:flex-end}
.waiver-setting-field{display:grid;gap:7px;margin:12px 0}
.waiver-setting-field>span{font-weight:800;font-size:12px;color:var(--muted)}
.waiver-setting-field select{width:100%}
.waiver-setting-summary{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035);margin-bottom:12px}
.waiver-setting-summary span{color:var(--muted);font-size:12px;line-height:1.45}
#waiverReview:empty{display:none}
@media(max-width:900px){.waiver-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.waiver-rules-head{flex-direction:column}.waiver-rule-grid{grid-template-columns:1fr}.waiver-review-row{align-items:flex-start;flex-direction:column}.waiver-review-row>div:last-child{width:100%;justify-content:stretch}.waiver-review-row>div:last-child .mini-btn{flex:1}.waiver-claim-row{align-items:flex-start}.waiver-claim-row .waiver-claim-actions{width:100%;justify-content:flex-start}}

/* v291: commissioner waiver processing is visible in-context and scheduler health is explicit. */
.commissioner-waiver-control{display:grid;gap:14px}
.commissioner-waiver-control.compact{margin:0}
.waiver-commissioner-grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(240px,1.1fr) minmax(240px,1.1fr);gap:12px}
.waiver-commissioner-grid>*,.waiver-setting-summary{min-width:0}
.waiver-setting-summary{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.waiver-setting-summary small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.waiver-setting-summary strong{font-size:.98rem}
.waiver-setting-summary span{color:var(--muted);font-size:.82rem;line-height:1.4}
.waiver-commissioner-actions{display:flex;justify-content:flex-end}
#waiverAutomationStatus.automation-ok{color:#42dca3}
#waiverAutomationStatus.automation-warning{color:var(--gold)}
@media(max-width:900px){.waiver-commissioner-grid{grid-template-columns:1fr}.waiver-commissioner-actions{justify-content:stretch}.waiver-commissioner-actions .btn{width:100%}}

/* v292 — waiver information and commissioner controls are deliberately first */
.waiver-top-stack{display:grid;gap:12px;order:-10;min-width:0}
.waiver-top-stack>#waiverReview:empty{display:none}
.commissioner-waiver-top{display:block;min-width:0}
.commissioner-waiver-top>.commissioner-waiver-control{margin:0}
@media(max-width:700px){.waiver-top-stack{gap:10px}}


/* v294 — simplify waivers into a fantasy-facing summary, not an admin dashboard. */
.waiver-simple-card{display:grid;gap:12px;padding:18px 20px!important}
.waiver-simple-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.waiver-simple-head h3{margin:2px 0 0}
.waiver-simple-meta{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(240px,1.35fr) minmax(130px,.7fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.025)}
.waiver-simple-meta>div{display:grid;gap:3px;padding:10px 13px;min-width:0}
.waiver-simple-meta>div+div{border-left:1px solid var(--line)}
.waiver-simple-meta small{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.waiver-simple-meta strong{font-size:14px;line-height:1.25}
.waiver-simple-rules{font-size:13px;line-height:1.45;color:var(--text)}
.waiver-simple-rules strong{color:var(--gold)}
.waiver-simple-note{font-size:12px;color:var(--muted);line-height:1.4}
.waiver-commissioner-inline{display:grid;grid-template-columns:1fr minmax(180px,240px) auto;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.waiver-commissioner-inline>span{display:grid;gap:2px}
.waiver-commissioner-inline small{color:var(--gold);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.waiver-commissioner-inline strong{font-size:13px}
.waiver-commissioner-inline select{min-width:0}
.waiver-player-search-card{display:grid;gap:12px}
.waiver-player-search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.waiver-player-search-head h3{margin:2px 0 0}
.waiver-player-search-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.commissioner-waiver-simple{display:flex;align-items:center;justify-content:space-between;gap:18px}
.commissioner-waiver-simple h3{margin:2px 0 3px}
.commissioner-waiver-simple p{margin:0;color:var(--muted);font-size:12px}
.commissioner-waiver-simple-actions{display:flex;align-items:center;gap:8px;min-width:min(360px,45%)}
.commissioner-waiver-simple-actions select{flex:1;min-width:170px}
/* Legacy v290/v291 dense rule and diagnostic grids are intentionally no longer rendered. */
@media(max-width:780px){
  .waiver-simple-meta{grid-template-columns:1fr 1fr}
  .waiver-simple-meta>div:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
  .waiver-simple-meta>div:nth-child(2){border-left:1px solid var(--line)}
  .waiver-commissioner-inline{grid-template-columns:1fr auto}.waiver-commissioner-inline>span{grid-column:1/-1}.waiver-commissioner-inline select{min-width:0}
  .commissioner-waiver-simple{align-items:flex-start;flex-direction:column}.commissioner-waiver-simple-actions{width:100%;min-width:0}
}
@media(max-width:520px){
  .waiver-simple-card{padding:15px!important}
  .waiver-simple-meta{grid-template-columns:1fr}
  .waiver-simple-meta>div+div,.waiver-simple-meta>div:nth-child(2){border-left:0;border-top:1px solid var(--line)}
  .waiver-simple-meta>div:nth-child(3){grid-column:auto}
  .waiver-player-search-head{align-items:flex-start}
}


/* v296 — local-time waiver display + full italic wordmark glyph headroom. */
/* The Barlow Condensed italic Y overhang can extend beyond its text box; pad the gradient paint area so the top-right fork is never visually clipped. */
.fcf-brand__fantasy-lockup>b{line-height:1!important;padding-right:7px!important;margin-right:-7px!important;overflow:visible!important}


/* v297 — keep personal waiver context at the top, compact and collapsed by default. */
.waiver-secondary-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  min-width:0;
}
.waiver-secondary-compact{
  min-width:0;
  margin:0!important;
  border-radius:12px!important;
}
.waiver-secondary-compact>summary{
  min-height:54px;
  padding:9px 12px!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:8px!important;
}
.waiver-secondary-compact>summary span{gap:1px!important;min-width:0}
.waiver-secondary-compact>summary small{font-size:8.5px!important;line-height:1.1}
.waiver-secondary-compact>summary strong{
  font-size:12px!important;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.waiver-secondary-compact>summary em{
  font-style:normal;
  color:#f5c443;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.waiver-secondary-compact>summary b{font-size:17px!important}
.waiver-secondary-compact .live-disclosure-body{
  padding:0 10px 10px!important;
}
.waiver-secondary-compact .waiver-priority-list{gap:5px}
.waiver-secondary-compact .waiver-priority-row,
.waiver-secondary-compact .league-row{
  padding:8px 9px!important;
  min-height:0!important;
}
.waiver-top-stack{gap:8px!important}
@media(max-width:760px){
  .waiver-secondary-strip{grid-template-columns:1fr}
  .waiver-secondary-compact>summary{min-height:48px}
}


/* v298 — add breathing room below compact waiver context before Find a player. */
.waiver-secondary-strip{margin-bottom:12px!important}
@media(max-width:760px){.waiver-secondary-strip{margin-bottom:10px!important}}


/* v299 — linked public information pages */
.fcf-static-shell{position:relative;z-index:1;width:min(980px,calc(100% - 36px));margin:34px auto 0;flex:1 0 auto}
.fcf-static-card{background:linear-gradient(160deg,rgba(9,28,53,.98),rgba(4,16,31,.98));border:1px solid rgba(214,163,58,.26);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.38);padding:clamp(24px,4vw,42px)}
.fcf-static-card h1{margin:8px 0 12px;font-size:clamp(34px,5vw,54px);line-height:1;letter-spacing:-.045em}
.fcf-static-card h2{margin:28px 0 8px;font-size:21px;letter-spacing:-.02em}
.fcf-static-card p,.fcf-static-card li{color:#c7d3e4;line-height:1.65;font-size:15px}
.fcf-static-card ul,.fcf-static-card ol{padding-left:22px}
.fcf-static-card a{color:var(--gold);font-weight:900}
.fcf-static-lead{font-size:18px!important;color:#e0e7f2!important;max-width:760px}
.fcf-static-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.fcf-static-actions a{text-decoration:none}
body.fcf-static-page{min-height:100vh;display:flex;flex-direction:column}
body.fcf-static-page .freshFooterV500{flex:0 0 auto;margin-top:26px}
@media(max-width:768px){.fcf-static-shell{width:calc(100% - 24px);margin-top:18px}.fcf-static-card{padding:22px 18px}.fcf-static-card h1{font-size:36px}}

/* v314: standalone league management modal + future-round lineup planner */
body.modal-open{overflow:hidden}
.fcf-manage-leagues-modal[hidden]{display:none!important}
.fcf-manage-leagues-modal{z-index:240;background:rgba(2,8,18,.82);backdrop-filter:blur(7px)}
.fcf-manage-leagues-dialog{width:min(780px,96vw);max-height:86vh;overflow:auto;padding:24px}
.fcf-manage-leagues-dialog>p{margin:0 0 14px;color:var(--muted)}
.fcf-manage-leagues-dialog .manage-league-list{margin-top:0}
.franchise-round-planner{padding:14px 18px}
.franchise-round-planner .lineup-heading{align-items:flex-end;gap:18px}
.franchise-round-planner .lineup-heading p{margin:6px 0 0;max-width:760px}




@media(max-width:760px){.fcf-manage-leagues-dialog{width:min(96vw,620px);padding:18px}.franchise-round-planner .lineup-heading{align-items:stretch;flex-direction:column}}


/* v314: commissioner draft timing + pause controls */
.draft-clock.paused{border-color:rgba(234,179,62,.7);color:#f5c451;letter-spacing:.08em;min-width:92px}
#draftStartMode option:disabled{color:#6d7b8e}

/* v314 — Create League is a modal action, matching Manage Leagues. */
.fcf-create-league-modal[hidden]{display:none!important}
.fcf-create-league-modal{z-index:245;background:rgba(2,8,18,.84);backdrop-filter:blur(8px)}
.fcf-create-league-dialog{width:min(780px,96vw);max-height:90vh;overflow:auto;padding:24px}
.fcf-create-league-dialog .form-grid{gap:13px}
.fcf-create-league-dialog .fcf-form-split{grid-template-columns:repeat(2,minmax(0,1fr))}
body.modal-open{overflow:hidden}
@media(max-width:760px){
  .fcf-create-league-dialog{width:min(96vw,620px);max-height:92vh;padding:18px}
  .fcf-create-league-dialog .fcf-form-split{grid-template-columns:1fr}
}

/* v314 — Header-authoritative Create League modal spacing.
   Keep the backdrop full-screen, place the dialog below the FCF header, and preserve deliberate breathing room. */
.fcf-create-league-modal{
  align-items:flex-start;
  overflow:auto;
  padding:166px 18px 18px;
}
.fcf-create-league-dialog{
  max-height:calc(100vh - 184px);
  margin:0 auto;
}
@media(max-width:1050px){
  .fcf-create-league-modal{padding-top:138px}
  .fcf-create-league-dialog{max-height:calc(100vh - 156px)}
}
@media(max-width:760px){
  .fcf-create-league-modal{padding:104px 12px 12px}
  .fcf-create-league-dialog{max-height:calc(100vh - 116px)}
}
@media(max-width:460px){
  .fcf-create-league-modal{padding-top:96px}
  .fcf-create-league-dialog{max-height:calc(100vh - 108px)}
}


/* v318 — launch-blocking mobile interaction fixes. */
@media(max-width:760px){
  /* Create League may scroll vertically, but must never pan or drift sideways. */
  .fcf-create-league-modal{
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
    touch-action:pan-y;
    justify-content:center;
  }
  .fcf-create-league-dialog{
    width:calc(100vw - 24px)!important;
    max-width:620px!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow-x:hidden!important;
  }

  /* Private app footer follows the last card closely and leaves only the nav-safe gap. */
  body.is-private .freshFooterV500{
    margin-top:4px!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:64px!important;
  }
  body.is-private .footerSocialV516{margin-top:8px!important;}
  body.is-private .view{padding-bottom:6px!important;}
}

/* v324: shared application typography and controls. Player stat chips retain their hierarchy. */
:root{--fcf-control-height:44px;--fcf-control-font:14px;--fcf-body-font:14px;--fcf-label-font:12px;--fcf-heading-font:22px;--fcf-panel-gap:16px}
#app :is(button,input,select,textarea){font-family:inherit}
#app :is(input,select,textarea){font-size:var(--fcf-control-font);line-height:1.4;min-height:var(--fcf-control-height)}
#app .card>h3,#app :is(.lineup-heading,.matchup-history-toolbar) h3{font-size:var(--fcf-heading-font);line-height:1.25}
#app .card>p,#app :is(.lineup-heading,.matchup-history-toolbar) p{font-size:var(--fcf-body-font);line-height:1.5}
#app .eyebrow{font-size:11px;line-height:1.4;letter-spacing:.08em}
#app .side-nav .nav-item{font-size:14px;line-height:1.4;min-height:48px;padding:12px 16px}
#app :is(.player-browser-filters,.waiver-browser-filters,.matchup-history-controls,.live-primary-actions) .btn{font-size:var(--fcf-control-font);min-height:var(--fcf-control-height)}
#app :is(.matchup-history-toolbar,.live-matchup-instant>.lineup-heading){gap:var(--fcf-panel-gap);align-items:center}
#app .franchise-round-planner{padding:18px}
#app .franchise-round-control{display:grid;gap:8px;margin:0;min-width:0}
#app .franchise-round-control small{font-size:var(--fcf-label-font);line-height:1.4;text-align:right;max-width:310px}
#app .fcf-round-select{display:flex;margin:0;min-width:0}
#app .fcf-round-select select{font-size:var(--fcf-control-font);font-weight:800;line-height:1.4;letter-spacing:normal;text-transform:none;height:var(--fcf-control-height);min-height:var(--fcf-control-height);width:230px;min-width:0;max-width:100%;padding:10px 12px;border-radius:8px}
#app :is(.matchup-history-controls,.live-primary-actions)>.mini-btn{font-size:20px;line-height:1;width:var(--fcf-control-height);height:var(--fcf-control-height);min-height:var(--fcf-control-height);padding:0;flex-shrink:0;border-radius:8px}
#app :is(.matchup-history-controls,.live-primary-actions)>.btn{font-size:var(--fcf-control-font);height:var(--fcf-control-height);min-height:var(--fcf-control-height);padding:10px 14px;border-radius:8px}
@media(max-width:760px){
 :root{--fcf-control-font:16px;--fcf-heading-font:20px}
 #app :is(.matchup-history-toolbar,.live-matchup-instant>.lineup-heading){flex-direction:column;align-items:stretch}
 #app :is(.matchup-history-controls,.live-primary-actions){width:100%;justify-content:flex-start;gap:8px}
 #app .fcf-round-select{flex:1;max-width:100%}
 #app .fcf-round-select select{width:100%}
 #app .franchise-round-control small{text-align:left;max-width:none}
}

/* v324 — scoring-mode integrity + simplified waiver experience. */
.category-roster-pill{
  min-width:0!important;height:auto!important;min-height:34px;max-width:210px;padding:8px 11px!important;
  border:1px solid rgba(247,183,49,.32);background:rgba(247,183,49,.12)!important;color:#ffd36a!important;
  font-size:10px!important;line-height:1.25!important;white-space:normal!important
}
.category-court-average{color:#ffd36a!important;font-weight:850!important}
body[data-view="waivers"] .waiver-browser-page-v181{gap:14px}
body[data-view="waivers"] .waiver-top-stack{gap:10px!important;margin-bottom:2px}
.waiver-status-card{display:grid;gap:14px;padding:18px 20px!important;overflow:hidden}
.waiver-status-main{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}
.waiver-status-main>div:first-child{min-width:0}
.waiver-status-main h3{margin:2px 0 4px!important}
.waiver-status-main p{margin:0;max-width:760px;color:var(--muted);font-size:13px;line-height:1.45}
.waiver-status-badges{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;flex-shrink:0}
.waiver-status-meta{display:grid;grid-template-columns:minmax(100px,.55fr) minmax(200px,1.25fr) minmax(120px,.7fr);border:1px solid var(--line);border-radius:13px;overflow:hidden;background:rgba(255,255,255,.024)}
.waiver-status-meta>div{display:grid;gap:4px;padding:11px 14px;min-width:0}
.waiver-status-meta>div+div{border-left:1px solid var(--line)}
.waiver-status-meta small{font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.waiver-status-meta strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.waiver-tools-menu{padding:0!important;overflow:hidden;margin:0!important}
.waiver-tools-menu>summary,.waiver-tool-panel>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}
.waiver-tools-menu>summary::-webkit-details-marker,.waiver-tool-panel>summary::-webkit-details-marker{display:none}
.waiver-tools-menu>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:12px;min-height:62px;padding:12px 16px}
.waiver-tools-menu>summary:hover,.waiver-tool-panel>summary:hover{background:rgba(255,255,255,.025)}
.waiver-tools-menu>summary span,.waiver-tool-panel>summary span{display:grid;gap:2px;min-width:0}
.waiver-tools-menu>summary small,.waiver-tool-panel>summary small{font-size:9px;font-weight:950;letter-spacing:.075em;text-transform:uppercase;color:var(--gold)}
.waiver-tools-menu>summary strong{font-size:14px;line-height:1.25}
.waiver-tools-menu>summary em,.waiver-tool-panel>summary em{font-style:normal;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}
.waiver-tools-menu>summary b,.waiver-tool-panel>summary b{font-size:20px;line-height:1;text-align:center;transition:transform .16s ease}
.waiver-tools-menu[open]>summary>b,.waiver-tool-panel[open]>summary>b{transform:rotate(90deg)}
.waiver-tools-body{display:grid;gap:0;border-top:1px solid var(--line);background:rgba(0,0,0,.10)}
.waiver-tool-panel{margin:0;border:0;border-bottom:1px solid var(--line);background:transparent}
.waiver-tool-panel:last-child{border-bottom:0}
.waiver-tool-panel>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;min-height:58px;padding:11px 16px}
.waiver-tool-panel>summary strong{font-size:13px;line-height:1.25}
.waiver-tool-content{display:grid;gap:10px;padding:0 16px 15px 16px}
.waiver-tool-content>p{margin:0;color:var(--text);font-size:12px;line-height:1.5}
.waiver-tool-content>.small-note{color:var(--muted)}
.waiver-tool-content .waiver-priority-list{display:grid;gap:6px}
.waiver-tool-content .waiver-priority-row,.waiver-tool-content .league-row{min-height:0!important;padding:9px 10px!important;border-radius:10px!important}
.waiver-commissioner-menu-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.waiver-commissioner-menu-grid label{display:grid;gap:6px;min-width:0}
.waiver-commissioner-menu-grid label>span{font-size:10px;font-weight:850;color:var(--muted)}
.waiver-commissioner-menu-grid select{width:100%;min-width:0}
.waiver-automation-line{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);font-size:11px}
.waiver-automation-line>span{color:var(--muted);font-weight:850}
.waiver-automation-line>small{color:var(--muted);min-width:0;overflow-wrap:anywhere}
body[data-view="waivers"] .waiver-player-search-card{padding:17px 19px!important;gap:11px}
body[data-view="waivers"] .waiver-browser-filters{gap:9px!important}
body[data-view="waivers"] #waiverPlayerGrid{margin-top:0}
@media(max-width:760px){
  .waiver-status-card{padding:15px!important;gap:12px}.waiver-status-main{flex-direction:column;gap:10px}.waiver-status-badges{justify-content:flex-start}
  .waiver-status-meta{grid-template-columns:1fr 1fr}.waiver-status-meta>div:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.waiver-status-meta>div:nth-child(2){border-left:1px solid var(--line)}
  .waiver-tools-menu>summary{min-height:58px;padding:11px 13px;grid-template-columns:minmax(0,1fr) 20px}.waiver-tools-menu>summary em{display:none}
  .waiver-tool-panel>summary{padding:10px 13px}.waiver-tool-content{padding:0 13px 13px}.waiver-commissioner-menu-grid{grid-template-columns:1fr}.waiver-commissioner-menu-grid .btn{width:100%}
  .waiver-automation-line{grid-template-columns:1fr auto}.waiver-automation-line>small{grid-column:1/-1}.category-roster-pill{max-width:100%;font-size:9.5px!important}
}
@media(max-width:480px){
  .waiver-status-meta{grid-template-columns:1fr}.waiver-status-meta>div+div,.waiver-status-meta>div:nth-child(2){border-left:0;border-top:1px solid var(--line)}.waiver-status-meta>div:nth-child(3){grid-column:auto}.waiver-tool-panel>summary em{display:none}
}

/* v324 — category franchise readability.
   The retired compact Waivers renderer used to force this grid to one column.
   Waivers now uses the shared Players card renderer, so that obsolete grid
   override must not participate in the cascade. */
.waiver-compact-card{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(0,1.9fr) auto;
  align-items:center;
  gap:14px;
  min-height:88px;
  padding:11px 13px;
  border:1px solid rgba(132,165,207,.18);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(16,38,65,.9),rgba(8,24,44,.92));
}
.waiver-compact-identity{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:10px;min-width:0}
.waiver-compact-identity>.player-visual{width:50px!important;height:56px!important;min-width:50px!important;border-radius:12px!important;margin:0!important}
.waiver-compact-identity>div{display:grid;gap:2px;min-width:0}
.waiver-compact-identity strong{font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.waiver-compact-identity span{font-size:10px;color:var(--muted);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.waiver-compact-identity small{font-size:9px;color:var(--gold);font-weight:950;letter-spacing:.04em;text-transform:uppercase}
.waiver-compact-metric{min-width:0}
.waiver-compact-category{display:grid;gap:5px;min-width:0}
.waiver-compact-category-source{font-size:8.5px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.waiver-compact-category-metrics{
  display:grid;
  grid-template-columns:repeat(9,minmax(42px,1fr));
  min-width:0;
  border:1px solid rgba(132,165,207,.14);
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.018)
}
.waiver-compact-category-metrics>span{display:grid;justify-items:center;gap:2px;padding:6px 3px;min-width:0}
.waiver-compact-category-metrics>span+span{border-left:1px solid rgba(132,165,207,.12)}
.waiver-compact-category-metrics b{font-size:11px;line-height:1;color:#f6c95b;white-space:nowrap}
.waiver-compact-category-metrics small{font-size:7.5px;line-height:1;color:var(--muted);font-weight:950}
.waiver-compact-category.pending{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px dashed rgba(247,183,49,.28);border-radius:10px;background:rgba(247,183,49,.045)}
.waiver-compact-category.pending strong{font-size:11px;color:#f4c34f}.waiver-compact-category.pending span{font-size:9px;color:var(--muted)}
.waiver-compact-fpts{display:flex;align-items:baseline;gap:9px;padding:9px 11px;border:1px solid rgba(132,165,207,.14);border-radius:10px;background:rgba(255,255,255,.018)}
.waiver-compact-fpts strong{font-size:18px;line-height:1;color:#48dc9b}.waiver-compact-fpts span{font-size:10px;font-weight:850;color:var(--muted)}
.waiver-compact-fpts.projected strong{color:#f6c95b}
.waiver-compact-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;white-space:nowrap}
.waiver-view-link{font-size:10px;font-weight:900;color:#d9e5f4}.waiver-view-link b{color:var(--gold);font-size:15px}
.waiver-compact-actions .btn{min-width:70px!important;min-height:34px!important;padding:6px 10px!important;font-size:10px!important}
.waiver-load-more{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 0 2px}
.waiver-load-more span{font-size:10px;color:var(--muted);font-weight:800}
.waiver-load-more .btn{min-height:36px;padding:7px 14px;font-size:11px}

.franchise-lineup-view .category-roster-strip{
  display:grid;
  grid-template-columns:repeat(9,minmax(38px,1fr));
  min-width:420px;
  max-width:570px;
  border:1px solid rgba(247,183,49,.2);
  border-radius:10px;
  overflow:hidden;
  background:rgba(247,183,49,.045)
}
.franchise-lineup-view .category-roster-strip>span{display:grid;justify-items:center;gap:2px;padding:6px 3px;min-width:0}
.franchise-lineup-view .category-roster-strip>span+span{border-left:1px solid rgba(247,183,49,.12)}
.franchise-lineup-view .category-roster-strip b{font-size:10px;line-height:1;color:#ffd36a;white-space:nowrap}
.franchise-lineup-view .category-roster-strip small{font-size:7px;line-height:1;color:var(--muted);font-weight:950}
.franchise-lineup-view .category-roster-strip.pending{display:flex;align-items:center;justify-content:center;min-width:180px;max-width:240px;min-height:34px;padding:7px 10px;color:#f2c65d;font-size:10px;font-weight:900}
body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip){flex:1 1 auto;justify-content:flex-end}

@media(max-width:1100px){
  .waiver-compact-card{grid-template-columns:minmax(190px,.85fr) minmax(0,1.6fr) auto;gap:10px}
  .waiver-compact-category-metrics{grid-template-columns:repeat(9,minmax(36px,1fr))}
  .waiver-compact-category-metrics b{font-size:10px}
  .waiver-compact-category-metrics small{font-size:7px}
  .franchise-lineup-view .category-roster-strip{min-width:360px}
}
@media(max-width:760px){
  .waiver-compact-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'identity actions' 'metric metric';gap:8px 10px;min-height:0;padding:10px}
  .waiver-compact-identity{grid-area:identity;grid-template-columns:44px minmax(0,1fr)}
  .waiver-compact-identity>.player-visual{width:44px!important;height:49px!important;min-width:44px!important}
  .waiver-compact-actions{grid-area:actions}.waiver-view-link{display:none}
  .waiver-compact-metric{grid-area:metric}
  .waiver-compact-category-source{display:none}
  .waiver-compact-category-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .waiver-compact-category-metrics>span:nth-child(n+4){display:none}
  .waiver-compact-category-metrics>span:nth-child(2),.waiver-compact-category-metrics>span:nth-child(3){border-left:1px solid rgba(132,165,207,.12)}
  .waiver-compact-category-metrics b{font-size:12px}.waiver-compact-category-metrics small{font-size:8px}
  .waiver-compact-category.pending{display:grid;justify-content:stretch}.waiver-compact-category.pending span{display:none}
  .waiver-load-more{flex-direction:column;gap:5px}
  body[data-view="franchise"] .lineup-player-card{align-items:stretch!important}
  body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip){display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:7px!important;width:100%!important}
  .franchise-lineup-view .category-roster-strip{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;max-width:none;width:100%}
  .franchise-lineup-view .category-roster-strip>span:nth-child(n+4){display:none}
  .franchise-lineup-view .category-roster-strip.pending{grid-column:1/-1;min-width:0;max-width:none;width:100%}
}

/* v326 carried — category readability pass.
   Correct category data is not useful if it is rendered as micro-text. These
   overrides keep all nine Franchise categories visible and set a readable
   hierarchy across the other category-heavy surfaces. */
:root{
  --fcf-cat-value-font:14px;
  --fcf-cat-label-font:9px;
}

/* Franchise: identity/actions stay on the first row; the complete 9-Cat line
   gets the full card width beneath them instead of being squeezed beside buttons. */
body[data-view="franchise"] .lineup-player-card:has(.category-roster-strip){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-rows:auto auto;
  align-items:center!important;
  gap:10px 8px!important;
  padding:13px 14px!important;
}
body[data-view="franchise"] .lineup-player-card:has(.category-roster-strip)>.lineup-card-main{
  grid-column:1;
  grid-row:1;
  min-width:0;
}
body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip){
  display:contents!important;
}
body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip)>.btn,
body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip)>.pill{
  grid-row:1;
  align-self:center;
}
.franchise-lineup-view .category-roster-strip{
  grid-column:1/-1;
  grid-row:2;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  grid-template-columns:repeat(9,minmax(0,1fr))!important;
  border-radius:11px;
}
.franchise-lineup-view .category-roster-strip>span{
  min-height:46px;
  align-content:center;
  gap:4px;
  padding:8px 6px!important;
}
.franchise-lineup-view .category-roster-strip b{
  font-size:var(--fcf-cat-value-font)!important;
  line-height:1.05!important;
  font-weight:950;
}
.franchise-lineup-view .category-roster-strip small{
  font-size:var(--fcf-cat-label-font)!important;
  line-height:1.05!important;
  letter-spacing:.035em;
}
.franchise-lineup-view .category-roster-strip.pending{
  grid-column:1/-1;
  grid-row:2;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:46px!important;
  padding:10px 12px!important;
  font-size:12px!important;
}

/* Waivers: keep the compact one-row browser, but the nine values must be
   readable at normal desktop viewing distance. */
.waiver-compact-category-metrics>span{padding:8px 4px!important;gap:3px!important}
.waiver-compact-category-metrics b{font-size:13px!important;line-height:1.05!important}
.waiver-compact-category-metrics small{font-size:8.5px!important;line-height:1.05!important}
.waiver-compact-category-source{font-size:9.5px!important}
.waiver-compact-category.pending strong{font-size:12px!important}
.waiver-compact-category.pending span{font-size:10px!important}

/* Matchup / Live Centre category chips. */
.category-starter-metrics span{font-size:9.5px!important;min-height:42px;align-content:center}
.category-starter-metrics b{font-size:15px!important;line-height:1.05!important}
.live-game-category-values span{min-height:40px;padding:7px 5px!important}
.live-game-category-values b{font-size:13.5px!important;line-height:1.05!important}
.live-game-category-values small{font-size:9px!important;line-height:1.05!important}

/* Draft category cards. */
.compact-category-stats strong{font-size:13px!important}
.compact-category-stats span{font-size:9px!important}
.compact-category-stats>div{min-height:44px;padding:8px 5px!important}

/* Home court cards: the three-category glance summary may wrap instead of
   disappearing behind an ellipsis. */
.category-court-average{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  min-height:28px;
}
.court-player-label:has(.category-court-average){min-height:86px}

/* Player directory/detail category grids were already the most readable
   category surface; lift labels slightly for consistency. */
.player-db-stats.category-player-stats strong{font-size:15px!important}
.player-db-stats.category-player-stats span{font-size:9.5px!important}

@media(max-width:1100px){
  .franchise-lineup-view .category-roster-strip b{font-size:13px!important}
  .franchise-lineup-view .category-roster-strip small{font-size:8.5px!important}
  .waiver-compact-category-metrics b{font-size:12px!important}
  .waiver-compact-category-metrics small{font-size:8px!important}
}

@media(max-width:760px){
  body[data-view="franchise"] .lineup-player-card:has(.category-roster-strip){
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:auto auto!important;
    padding:10px!important;
  }
  body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip){display:contents!important}
  .franchise-lineup-view .category-roster-strip{
    grid-column:1/-1!important;
    grid-row:2!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
  }
  .franchise-lineup-view .category-roster-strip>span{
    display:grid!important;
    min-height:44px;
    padding:8px 5px!important;
    border-left:0!important;
    border-top:1px solid rgba(247,183,49,.12);
  }
  .franchise-lineup-view .category-roster-strip>span:nth-child(-n+3){border-top:0}
  .franchise-lineup-view .category-roster-strip>span:not(:nth-child(3n+1)){border-left:1px solid rgba(247,183,49,.12)!important}
  .franchise-lineup-view .category-roster-strip>span:nth-child(n+4){display:grid!important}
  .franchise-lineup-view .category-roster-strip b{font-size:14px!important}
  .franchise-lineup-view .category-roster-strip small{font-size:9px!important}
  .franchise-lineup-view .category-roster-strip.pending{grid-column:1/-1!important;grid-row:2!important;font-size:12px!important}

  .waiver-compact-category-metrics b{font-size:13px!important}
  .waiver-compact-category-metrics small{font-size:8.5px!important}
  .category-starter-metrics b{font-size:14px!important}
  .category-starter-metrics span{font-size:9px!important}
  .live-game-category-values b{font-size:13px!important}
  .live-game-category-values small{font-size:8.5px!important}
  .category-court-average{font-size:10px!important;line-height:1.2!important}
}

/* v326 carried — Franchise 9-Cat compact inline correction.
   On desktop the category strip stays on the SAME row as player identity and
   roster actions. Readability is preserved by giving the strip the flexible
   middle of the row instead of creating a second full-width row. */
@media(min-width:1040px){
  body[data-view="franchise"] .lineup-player-card:has(.category-roster-strip){
    display:flex!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    align-items:center!important;
    gap:10px!important;
    min-height:70px;
    padding:10px 12px!important;
  }
  body[data-view="franchise"] .lineup-player-card:has(.category-roster-strip)>.lineup-card-main{
    grid-column:auto!important;
    grid-row:auto!important;
    flex:0 1 240px;
    min-width:210px;
  }
  body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip){
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0;
    align-items:center;
    justify-content:flex-end;
    gap:7px!important;
    width:auto!important;
  }
  body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip)>.btn,
  body[data-view="franchise"] .lineup-card-actions:has(.category-roster-strip)>.pill{
    grid-row:auto!important;
    flex:0 0 auto;
  }
  .franchise-lineup-view .category-roster-strip{
    grid-column:auto!important;
    grid-row:auto!important;
    flex:1 1 440px;
    width:auto!important;
    min-width:410px!important;
    max-width:none!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
  }
  .franchise-lineup-view .category-roster-strip>span{
    min-height:38px!important;
    padding:6px 4px!important;
    gap:3px!important;
  }
  .franchise-lineup-view .category-roster-strip b{
    font-size:13.5px!important;
  }
  .franchise-lineup-view .category-roster-strip small{
    font-size:8.5px!important;
  }
  .franchise-lineup-view .category-roster-strip.pending{
    grid-column:auto!important;
    grid-row:auto!important;
    flex:1 1 410px;
    width:auto!important;
    min-width:300px!important;
    max-width:none!important;
    min-height:38px!important;
    padding:7px 10px!important;
  }
}

/* v329 — Franchise position-pill optical alignment correction.
   v327 proved that mathematical flex/grid centring alone is not enough for the
   Inter glyph metrics: the PG/SG/SF/PF/C letters render visually high. Keep
   the pill box centred, then move only the glyph down by an inspected optical
   offset. The lockout-to-eligibility breathing room from v327 is preserved. */
body[data-view="franchise"] .lineup-lock-note + .pos-chip-row{
  margin-top:7px!important;
}
body[data-view="franchise"] .pos-chip-row{
  align-items:center!important;
  min-height:20px!important;
}
body[data-view="franchise"] .pos-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:29px!important;
  height:20px!important;
  padding:0 6px!important;
  line-height:1!important;
  text-align:center!important;
  vertical-align:middle!important;
  box-sizing:border-box!important;
}
body[data-view="franchise"] .pos-chip-label{
  display:block;
  line-height:1!important;
  transform:translateY(1.5px);
}
body[data-view="franchise"] .slot-badge{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body[data-view="franchise"] .slot-badge-label{
  display:block;
  line-height:1!important;
  transform:translateY(1px);
}
@media(max-width:760px){
  body[data-view="franchise"] .lineup-lock-note + .pos-chip-row{margin-top:6px!important}
  body[data-view="franchise"] .pos-chip{min-width:28px!important;height:20px!important;padding:0 5px!important}
}

/* v329 — Mobile Players directory layout hardening.
   v328 inherited a legacy @media rule that accidentally applied a five-column
   grid to the CARD itself (`.unified-player-card`), not just its stats. On an
   iPhone this put the identity, stats and footer into competing grid columns,
   causing the overlap shown on production. Players cards are now explicitly a
   single vertical card on narrow screens; only the stat block uses columns. */
@media(max-width:720px){
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid)>.unified-player-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:12px!important;
    gap:10px!important;
    overflow:hidden!important;
    border-radius:15px!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-card>.player-db-head,
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-card>.player-db-stats,
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-card>.category-average-source,
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-card>.player-db-footer{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-head{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-height:54px!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-visual.large{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    flex:0 0 54px!important;
    border-radius:14px!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-copy{
    display:grid!important;
    gap:4px!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-copy>strong{
    display:block!important;
    font-size:17px!important;
    line-height:1.08!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-copy .club-line{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:5px 6px!important;
    min-width:0!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-club-copy{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-status-desktop{display:none!important}

  /* FPTS directory: 2 wide cells then 3 compact cells. This keeps the verbose
     labels readable without turning the whole card into a desktop grid. */
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-stats{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-rows:auto auto!important;
    gap:6px!important;
    margin:0!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-stats>div{
    grid-column:span 2!important;
    min-width:0!important;
    min-height:48px!important;
    padding:7px 5px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-stats>div:nth-child(1),
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-stats>div:nth-child(2){
    grid-column:span 3!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-stats strong{
    font-size:16px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-stats span{
    display:block!important;
    margin-top:4px!important;
    font-size:9px!important;
    line-height:1.12!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }

  /* 9-Cat remains a readable 3x3 matrix. */
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .category-player-stats{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .category-player-stats>div{
    grid-column:auto!important;
    min-height:46px!important;
    padding:7px 4px!important;
  }

  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-footer.public-player-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    min-height:36px!important;
    margin:0!important;
    padding-top:8px!important;
    border-top:1px solid rgba(132,165,207,.12)!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-card-view-label{
    flex:0 0 auto!important;
    min-width:0!important;
    padding:5px 7px!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-footer-right{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:0 1 auto!important;
    min-width:0!important;
    gap:7px!important;
    margin-left:auto!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-status-mobile{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    max-width:92px!important;
    padding:6px 8px!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-card-roster-action{
    flex:0 0 auto!important;
    min-width:52px!important;
    min-height:34px!important;
    padding:6px 10px!important;
    font-size:11px!important;
  }
}

@media(max-width:370px){
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid)>.unified-player-card{padding:10px!important}
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-stats{gap:5px!important}
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .unified-player-stats>div{padding:6px 4px!important}
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-db-status-mobile{max-width:82px!important;padding:5px 6px!important;font-size:8px!important}
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid) .player-card-roster-action{min-width:48px!important;padding:5px 8px!important}
}

/* v331 — mobile footer gap repair.
   The fixed bottom nav safe-space was being reserved three times on private pages
   (content-panel margin + footer padding + body padding), while public pages still
   reserved private-nav space despite having no bottom nav. Keep exactly one nav
   reserve on private pages and none on public/static pages. */
@media(max-width:1050px){
  body.is-public{
    padding-bottom:0!important;
  }
  body.is-public .freshFooterV500{
    margin-top:18px!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:18px!important;
  }
  body.is-private .content-panel{
    margin-bottom:0!important;
  }
  body.is-private .freshFooterV500{
    margin-top:12px!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:8px!important;
  }
  body.is-private .footerSocialV516{
    margin-top:8px!important;
  }
}

/* v331 — Matchup language + section rhythm repair.
   Upcoming totals are projections, not live leads. League-wide disclosure is a
   separate section and must not visually stick to the starters card on mobile. */
.matchup-page-v181>.matchup-secondary-disclosure{
  margin-top:16px!important;
}
@media(max-width:760px){
  .matchup-page-v181>.matchup-secondary-disclosure{
    margin-top:14px!important;
  }
}

/* v331 — consolidated mobile launch layout repair.
   One pass for footer dead-space, league overflow, Live Centre controls/stat width,
   matchup section rhythm and waiver spacing. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden!important}
  body.is-private,body.is-public{width:100%;max-width:100%}
  body.is-private{padding-bottom:0!important}
  body.is-private .app-shell,
  body.is-private .app-layout,
  body.is-private .content-panel,
  body.is-private .topbar,
  body.is-private #viewRoot,
  body.is-private .view{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  body.is-private .content-panel{margin-bottom:0!important;overflow-x:hidden!important}
  body.is-private .app-layout{overflow-x:hidden!important}
  body.is-private .view>*{min-width:0!important;max-width:100%!important}

  /* Footer: reserve space for the fixed bottom nav exactly once. */
  body.is-private .freshFooterV500{
    width:100%!important;
    max-width:100%!important;
    margin:14px auto 0!important;
    padding:0 10px calc(72px + env(safe-area-inset-bottom))!important;
  }
  body.is-private .footerSocialV516{margin-top:10px!important;margin-bottom:0!important}
  body.is-public{padding-bottom:0!important}
  body.is-public .freshFooterV500{
    width:100%!important;
    max-width:100%!important;
    margin:18px auto 0!important;
    padding:0 10px 18px!important;
  }
  body.is-public .footerSocialV516{margin-top:10px!important;margin-bottom:0!important}

  /* League / More: hard containment for selector and long franchise names. */
  body[data-view="league"] .topbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  body[data-view="league"] .league-switcher-mount,
  body[data-view="league"] .league-switcher,
  body[data-view="league"] .league-switcher select{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  body[data-view="league"] .league-switcher select{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  body[data-view="league"] .league-round-strip,
  body[data-view="league"] .league-round-copy,
  body[data-view="league"] .league-round-actions,
  body[data-view="league"] .league-round-meta,
  body[data-view="league"] .league-hq,
  body[data-view="league"] .league-hq-grid,
  body[data-view="league"] .league-hq-main,
  body[data-view="league"] .league-hq-side{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  body[data-view="league"] .league-round-copy h3,
  body[data-view="league"] .league-glance-card h3,
  body[data-view="league"] .ladder-team strong{
    max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;
  }
  body[data-view="league"] .league-round-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  body[data-view="league"] .league-round-meta>div{min-width:0!important;padding:9px 5px!important}
  body[data-view="league"] .league-round-meta .btn{grid-column:1/-1!important;min-width:0!important;width:100%!important}

  /* Live Centre: prev / round / next is one clean row; Matchup details owns row two. */
  body[data-view="livecentre"] .live-primary-actions{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    align-items:center!important;
  }
  body[data-view="livecentre"] .live-primary-actions>#livePrevBrowse{grid-column:1;grid-row:1;width:44px!important}
  body[data-view="livecentre"] .live-primary-actions>.fcf-round-select{grid-column:2;grid-row:1;width:100%!important;max-width:100%!important;min-width:0!important}
  body[data-view="livecentre"] .live-primary-actions>.fcf-round-select select{width:100%!important;max-width:100%!important;min-width:0!important;text-overflow:ellipsis!important}
  body[data-view="livecentre"] .live-primary-actions>#liveNextBrowse{grid-column:3;grid-row:1;width:44px!important}
  body[data-view="livecentre"] .live-primary-actions>#backToMatchup{grid-column:1/-1;grid-row:2;width:100%!important;min-width:0!important}

  /* Live Centre category starter stats span the complete card, not only the copy column. */
  body[data-view="livecentre"] .category-starter-row{
    grid-template-columns:38px 42px minmax(0,1fr)!important;
    gap:8px!important;
  }
  body[data-view="livecentre"] .category-starter-metrics{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    gap:6px!important;
    padding-left:0!important;
    justify-content:stretch!important;
  }
  body[data-view="livecentre"] .category-starter-metrics span{
    width:100%!important;min-width:0!important;min-height:48px!important;padding:7px 4px!important;
  }

  /* Matchup: league-wide disclosure is a distinct section. */
  body[data-view="matchup"] .matchup-page-v181>.matchup-secondary-disclosure{margin-top:16px!important}

  /* Waivers: one consistent section rhythm from status -> tools -> search -> results. */
  body[data-view="waivers"] .waiver-browser-page-v181{gap:14px!important}
  body[data-view="waivers"] .waiver-top-stack{gap:14px!important;margin:0!important}
  body[data-view="waivers"] .waiver-top-stack>*{margin:0!important}
  body[data-view="waivers"] .waiver-secondary-strip{margin:0!important}
  body[data-view="waivers"] .waiver-status-card,
  body[data-view="waivers"] .waiver-tools-menu,
  body[data-view="waivers"] .waiver-player-search-card{margin:0!important}
}

/* v331 render-hardened mobile controls: use flex sizing for iOS/WebKit stability. */
@media(max-width:760px){
  body[data-view="league"] .league-round-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:8px!important;
  }
  body[data-view="league"] .league-round-meta>div{
    flex:1 1 calc(33.333% - 6px)!important;
    width:auto!important;
    max-width:100%!important;
  }
  body[data-view="league"] .league-round-meta>.btn{
    flex:1 0 100%!important;
    width:100%!important;
  }

  body[data-view="livecentre"] .live-primary-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
  }
  body[data-view="livecentre"] .live-primary-actions>#livePrevBrowse,
  body[data-view="livecentre"] .live-primary-actions>#liveNextBrowse{
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
  }
  body[data-view="livecentre"] .live-primary-actions>.fcf-round-select{
    flex:1 1 calc(100% - 104px)!important;
    width:auto!important;
    min-width:0!important;
  }
  body[data-view="livecentre"] .live-primary-actions>#backToMatchup{
    flex:1 0 100%!important;
    width:100%!important;
  }
  body[data-view="livecentre"] .category-starter-metrics{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    width:100%!important;
  }
  body[data-view="livecentre"] .category-starter-metrics>span{
    flex:1 1 25%!important;
    width:auto!important;
    max-width:25%!important;
  }

  body[data-view="waivers"] .waiver-top-stack{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
  }
}

/* v331 final mobile flex sizing after render review. */
@media(max-width:760px){
  body[data-view="league"] .league-round-meta>div{
    flex:1 1 0!important;
  }
  body[data-view="livecentre"] .live-primary-actions>.fcf-round-select{
    flex:1 1 0!important;
    width:0!important;
  }
  body[data-view="livecentre"] .category-starter-row{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
  }
  body[data-view="livecentre"] .category-starter-row>.position-badge{flex:0 0 38px!important}
  body[data-view="livecentre"] .category-starter-row>.player-visual{flex:0 0 42px!important}
  body[data-view="livecentre"] .category-starter-row>.category-starter-copy{flex:1 1 0!important;min-width:0!important}
  body[data-view="livecentre"] .category-starter-row>.category-starter-metrics{
    flex:1 0 100%!important;
    width:100%!important;
    max-width:100%!important;
  }
}

/* v331 — Home 9-Cat court card overlap repair.
   Category summaries made the dashboard labels taller; the old negative photo
   margin visually stacked the headshot/position badge over the label. Keep the
   category card compact but give each layer its own vertical space. */
.court-player.category-mode .court-player-photo{
  margin-bottom:3px!important;
}
.court-player.category-mode .court-position{
  margin-bottom:3px!important;
}
.court-player.category-mode .court-player-label{
  margin-top:0!important;
  min-height:72px!important;
  padding-top:9px!important;
  padding-bottom:7px!important;
}
.court-player.category-mode .category-court-average{
  min-height:22px!important;
  margin-top:4px!important;
  font-size:9.5px!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}
@media(min-width:1281px){
  .court-player.category-mode{width:168px}
  .court-player.category-mode .court-player-label{width:160px!important}
  .court-player.category-mode.court-pg,.court-player.category-mode.court-sg{top:26%!important}
  .court-player.category-mode.court-sf,.court-player.category-mode.court-pf,.court-player.category-mode.court-c{top:73%!important}
}
@media(max-width:620px){
  .court-player.category-mode{width:102px!important}
  .court-player.category-mode .court-player-photo{margin-bottom:2px!important}
  .court-player.category-mode .court-position{margin-bottom:2px!important}
  .court-player.category-mode .court-player-label{
    width:100px!important;
    min-height:60px!important;
    padding:7px 5px 6px!important;
  }
  .court-player.category-mode .category-court-average{
    min-height:20px!important;
    margin-top:3px!important;
    font-size:8px!important;
    line-height:1.12!important;
  }
  .court-player.category-mode.court-pg,.court-player.category-mode.court-sg{top:26%!important}
  .court-player.category-mode.court-sf,.court-player.category-mode.court-pf,.court-player.category-mode.court-c{top:73%!important}
}

/* v331 launch pass — pre-league scoring view, intact pre-draft artwork and mobile rhythm. */
.player-browser-head-actions{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
  min-width:0;
}
.player-directory-mode-switch-wrap{
  display:grid;
  gap:6px;
  min-width:260px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(3,16,34,.45);
}
.player-directory-mode-switch-wrap>span{
  color:#9eadc2;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.player-directory-mode-switch-wrap>small{color:#8f9eb2;font-size:10px;line-height:1.25}
.player-directory-mode-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.player-directory-mode-switch button{
  min-height:38px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:9px;
  background:#081a31;
  color:#c7d2e1;
  padding:7px 10px;
  font:800 11px/1.1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor:pointer;
}
.player-directory-mode-switch button.active{
  border-color:rgba(238,184,68,.68);
  background:linear-gradient(135deg,rgba(238,184,68,.24),rgba(238,184,68,.09));
  color:#f3c45c;
  box-shadow:inset 0 0 0 1px rgba(238,184,68,.12);
}
.player-directory-mode-switch button:focus-visible{outline:2px solid #f0bd50;outline-offset:2px}

/* The original v65 PNG in the carried package was truncated. The replacement
   asset is complete; keep the full 16:9 artwork visible instead of cropping it. */
.pre-draft-lineup-image img{
  object-fit:contain!important;
  object-position:center!important;
  background:#000;
}
@media(max-width:760px){
  .pre-draft-lineup-promo,
  .no-league-promo{
    min-height:0!important;
    height:auto!important;
  }
  .pre-draft-lineup-image,
  .no-league-promo .pre-draft-lineup-image{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
    aspect-ratio:1672 / 940;
    background:#000;
  }
  .pre-draft-lineup-image img,
  .no-league-promo .pre-draft-lineup-image img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .pre-draft-status{min-height:44px!important;padding:10px 12px!important;font-size:10px!important}

  /* One mobile section rhythm across the authenticated product. */
  :root{--fcf-mobile-section-gap:14px}
  body[data-view="dashboard"] .fcf-dashboard{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--fcf-mobile-section-gap)!important;
  }
  body[data-view="dashboard"] .fcf-dashboard>*{
    margin:0!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body[data-view="league"] .league-hq,
  body[data-view="franchise"] .franchise-lineup-view,
  body[data-view="matchup"] .matchup-page-v181,
  body[data-view="livecentre"] .live-centre-page-v181,
  body[data-view="players"] .player-browser-page-v181,
  body[data-view="waivers"] .waiver-browser-page-v181,
  body[data-view="trades"] #viewRoot>.view,
  body[data-view="settings"] .production-settings-page{
    gap:var(--fcf-mobile-section-gap)!important;
  }
  body[data-view="dashboard"] .fcf-card,
  body[data-view="dashboard"] .fcf-form-card,
  body[data-view="dashboard"] .fcf-feed-card{margin-bottom:0!important}

  .unified-player-browser-head{
    align-items:stretch!important;
  }
  .player-browser-head-actions{
    width:100%;
    justify-content:flex-start;
  }
  .player-directory-mode-switch-wrap{
    width:100%;
    min-width:0;
  }
  .player-directory-mode-switch button{min-height:44px;font-size:12px}
}

/* v331 launch pass — final 9-Cat Home court separation.
   The Home court is a compact overview: keep the player name, club and a short
   P/R/A category line, then separate the front/back court rows so photography
   can never sit on top of another player's card. */
.court-player.category-mode .court-player-label{
  min-height:56px!important;
  padding:8px 7px 7px!important;
}
.court-player.category-mode .court-player-team{
  font-size:9px!important;
  line-height:1.1!important;
}
.court-player.category-mode .category-court-average{
  min-height:0!important;
  margin-top:3px!important;
  font-size:9px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(min-width:1281px){
  .court-player.category-mode.court-pg,.court-player.category-mode.court-sg{top:24%!important}
  .court-player.category-mode.court-sf,.court-player.category-mode.court-pf,.court-player.category-mode.court-c{top:76%!important}
}
@media(min-width:621px) and (max-width:1280px){
  .court-player.category-mode.court-pg,.court-player.category-mode.court-sg{top:24%!important}
  .court-player.category-mode.court-sf,.court-player.category-mode.court-pf,.court-player.category-mode.court-c{top:76%!important}
}
@media(max-width:620px){
  .court-player.category-mode{width:98px!important}
  .court-player.category-mode .court-player-label{
    width:96px!important;
    min-height:48px!important;
    padding:6px 4px 5px!important;
  }
  .court-player.category-mode .court-player-team{font-size:7.5px!important}
  .court-player.category-mode .category-court-average{font-size:7.5px!important;letter-spacing:-.02em!important}
  .court-player.category-mode.court-pg,.court-player.category-mode.court-sg{top:23%!important}
  .court-player.category-mode.court-sf,.court-player.category-mode.court-pf,.court-player.category-mode.court-c{top:77%!important}
}

/* v331 render correction — shrink only 9-Cat court portraits and increase row separation.
   FPTS court composition is untouched. */
.court-player.category-mode .court-player-photo{
  width:74px!important;
  height:74px!important;
  margin:0 auto 2px!important;
}
.court-player.category-mode .court-position{margin:0 auto 2px!important}
.court-player.category-mode .court-player-label{
  width:150px!important;
  min-height:54px!important;
  margin:0 auto!important;
  padding:7px 7px 6px!important;
}
.court-player.category-mode.court-pg,.court-player.category-mode.court-sg{top:22%!important}
.court-player.category-mode.court-sf,.court-player.category-mode.court-pf,.court-player.category-mode.court-c{top:78%!important}
@media(min-width:621px) and (max-width:1280px){
  .court-player.category-mode .court-player-photo{width:64px!important;height:64px!important}
  .court-player.category-mode .court-player-label{width:132px!important;min-height:52px!important}
}
@media(max-width:620px){
  .court-player.category-mode{width:96px!important}
  .court-player.category-mode .court-player-photo{width:46px!important;height:46px!important;margin-bottom:2px!important}
  .court-player.category-mode .court-position{height:20px!important;min-width:30px!important;margin-bottom:2px!important}
  .court-player.category-mode .court-player-label{width:94px!important;min-height:45px!important;padding:5px 4px 4px!important}
  .court-player.category-mode .court-player-label strong{font-size:8.5px!important;line-height:1.08!important}
  .court-player.category-mode .court-player-team{font-size:7px!important;line-height:1.05!important}
  .court-player.category-mode .category-court-average{font-size:7px!important;line-height:1.05!important}
  .court-player.category-mode.court-pg,.court-player.category-mode.court-sg{top:22%!important}
  .court-player.category-mode.court-sf,.court-player.category-mode.court-pf,.court-player.category-mode.court-c{top:78%!important}
}

/* v331 launch blocker: 9-Cat Home court cards must never collide with portraits. */
.fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{
  min-height:460px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player{
  width:154px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player-photo{
  margin-bottom:4px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player-label{
  width:150px!important;
  min-height:66px!important;
  margin-top:2px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-pg,
.fcf-dashboard-lineup.category-court-mode .court-sg{top:23%!important}
.fcf-dashboard-lineup.category-court-mode .court-sf,
.fcf-dashboard-lineup.category-court-mode .court-pf,
.fcf-dashboard-lineup.category-court-mode .court-c{top:65%!important}
@media(max-width:620px){
  .fcf-dashboard-lineup.category-court-mode{min-height:470px!important}
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:350px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player{width:94px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player-label{width:92px!important;min-height:56px!important;padding:7px 4px 5px!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg,
  .fcf-dashboard-lineup.category-court-mode .court-sg{top:23%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf,
  .fcf-dashboard-lineup.category-court-mode .court-pf,
  .fcf-dashboard-lineup.category-court-mode .court-c{top:65%!important}
}

/* v331 final launch render correction — keep every 9-Cat Home court card fully
   inside the court while preserving clear separation between portrait and card. */
.fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{
  min-height:440px!important;
  overflow:hidden!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{
  margin-bottom:4px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-position{
  margin-bottom:4px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{
  margin-top:0!important;
}
.fcf-dashboard-lineup.category-court-mode .court-pg,
.fcf-dashboard-lineup.category-court-mode .court-sg{top:22%!important}
.fcf-dashboard-lineup.category-court-mode .court-sf,
.fcf-dashboard-lineup.category-court-mode .court-pf,
.fcf-dashboard-lineup.category-court-mode .court-c{top:67%!important}
@media(max-width:620px){
  .fcf-dashboard-lineup.category-court-mode{min-height:445px!important}
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:360px!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg,
  .fcf-dashboard-lineup.category-court-mode .court-sg{top:22%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf,
  .fcf-dashboard-lineup.category-court-mode .court-pf,
  .fcf-dashboard-lineup.category-court-mode .court-c{top:67%!important}
}
@media(max-width:760px){
  body[data-view="players"] .player-browser-head-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
  }
  body[data-view="players"] .player-browser-head-actions>.pill{justify-self:start!important}
  body[data-view="players"] .player-directory-mode-switch-wrap{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  body[data-view="players"] .player-directory-mode-switch{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-view="players"] .player-directory-mode-switch button{width:100%!important;min-width:0!important}
}


/* v331 FINAL controlled-launch hardening: Home 9-Cat, pre-draft artwork, and mobile rhythm. */
/* Keep 9-Cat Home portraits, position pills and information cards as three
   separate layers. No negative margins in category mode. */
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo,
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-position,
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{
  flex:0 0 auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{
  box-sizing:border-box!important;
}
@media(min-width:621px){
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:455px!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg,
  .fcf-dashboard-lineup.category-court-mode .court-sg{top:22%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf,
  .fcf-dashboard-lineup.category-court-mode .court-pf,
  .fcf-dashboard-lineup.category-court-mode .court-c{top:69%!important}
}
@media(max-width:620px){
  .fcf-dashboard-lineup.category-court-mode{min-height:438px!important}
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:350px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode{gap:3px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{width:44px!important;height:44px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-position{height:20px!important;min-width:29px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{width:92px!important;min-height:51px!important;padding:6px 4px 5px!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg,
  .fcf-dashboard-lineup.category-court-mode .court-sg{top:22%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf,
  .fcf-dashboard-lineup.category-court-mode .court-pf,
  .fcf-dashboard-lineup.category-court-mode .court-c{top:68%!important}
}

/* New-account dashboard promo: use the complete replacement artwork at its
   native ratio. The artwork itself now contains all five positions. */
.pre-draft-lineup-promo.no-league-promo{height:auto!important;min-height:0!important}
.pre-draft-lineup-promo .pre-draft-lineup-image{flex:0 0 auto!important;aspect-ratio:1672/940!important;height:auto!important;min-height:0!important}
.pre-draft-lineup-promo .pre-draft-lineup-image img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center!important}

/* One 14px vertical rhythm for mobile product cards. Direct dashboard cards
   do not carry legacy bottom margins on top of grid gap. */
@media(max-width:760px){
  :root{--fcf-mobile-section-gap:14px}
  body[data-view="dashboard"] .fcf-dashboard{display:grid!important;grid-template-columns:minmax(0,1fr)!important;row-gap:var(--fcf-mobile-section-gap)!important;column-gap:0!important}
  body[data-view="dashboard"] .fcf-dashboard>*{margin-block:0!important}
  body[data-view="dashboard"] .fcf-dashboard>.fcf-card,
  body[data-view="dashboard"] .fcf-dashboard>.fcf-form-card,
  body[data-view="dashboard"] .fcf-dashboard>.fcf-feed-card{margin-top:0!important;margin-bottom:0!important}
}

/* v331 final controlled-launch correction — 9-Cat Home court geometry.
   Category cards are taller than FPTS labels, so reserve enough court height and
   keep the guard and front-court rows physically separated at every breakpoint. */
.fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{
  min-height:500px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode{
  width:154px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{
  width:74px!important;
  height:74px!important;
  margin:0 auto 4px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-position{
  margin:0 auto 4px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{
  width:150px!important;
  min-height:62px!important;
  margin:0 auto!important;
  padding:7px 7px 6px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-pg,
.fcf-dashboard-lineup.category-court-mode .court-sg{top:26%!important}
.fcf-dashboard-lineup.category-court-mode .court-sf,
.fcf-dashboard-lineup.category-court-mode .court-pf,
.fcf-dashboard-lineup.category-court-mode .court-c{top:70%!important}
@media(min-width:621px) and (max-width:1280px){
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:470px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{width:64px!important;height:64px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{width:132px!important;min-height:58px!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg,
  .fcf-dashboard-lineup.category-court-mode .court-sg{top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf,
  .fcf-dashboard-lineup.category-court-mode .court-pf,
  .fcf-dashboard-lineup.category-court-mode .court-c{top:71%!important}
}
@media(max-width:620px){
  .fcf-dashboard-lineup.category-court-mode{min-height:505px!important}
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:420px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode{width:94px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{width:46px!important;height:46px!important;margin-bottom:3px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-position{height:20px!important;min-width:30px!important;margin-bottom:3px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{width:92px!important;min-height:52px!important;padding:6px 4px 5px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label strong{font-size:8.5px!important;line-height:1.08!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-team{font-size:7px!important;line-height:1.05!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .category-court-average{font-size:7px!important;line-height:1.05!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg,
  .fcf-dashboard-lineup.category-court-mode .court-sg{top:22%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf,
  .fcf-dashboard-lineup.category-court-mode .court-pf,
  .fcf-dashboard-lineup.category-court-mode .court-c{top:74%!important}
}

/* v331 render-verified final row placement: keep lower 9-Cat cards clear of both
   the upper player labels and the court/status boundary. */
.fcf-dashboard-lineup.category-court-mode .court-sf,
.fcf-dashboard-lineup.category-court-mode .court-pf,
.fcf-dashboard-lineup.category-court-mode .court-c{top:64%!important}
@media(min-width:621px) and (max-width:1280px){
  .fcf-dashboard-lineup.category-court-mode .court-sf,
  .fcf-dashboard-lineup.category-court-mode .court-pf,
  .fcf-dashboard-lineup.category-court-mode .court-c{top:65%!important}
}
@media(max-width:620px){
  .fcf-dashboard-lineup.category-court-mode .court-sf,
  .fcf-dashboard-lineup.category-court-mode .court-pf,
  .fcf-dashboard-lineup.category-court-mode .court-c{top:65%!important}
}

/* v331 pre-league Players switch containment — never allow the scoring chooser
   to widen the directory card on narrow screens. */
.player-directory-mode-switch-wrap{box-sizing:border-box;max-width:100%}
.player-directory-mode-switch{display:flex!important;width:100%!important;min-width:0!important}
.player-directory-mode-switch button{flex:1 1 0!important;width:auto!important;min-width:0!important;white-space:normal!important}
@media(max-width:760px){
  body[data-view="players"] .player-browser-head-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-width:0!important}
  body[data-view="players"] .player-browser-head-actions>.pill{align-self:flex-start!important}
  body[data-view="players"] .player-directory-mode-switch-wrap{min-width:0!important;width:100%!important}
}

/* v337 — one Home court geometry for empty, Fantasy Points and 9-Cat.
   Scoring mode changes card copy only; it must never change player scale,
   court anchors, portrait size, badge size or card footprint. */
.fcf-dashboard-lineup.category-court-mode{
  min-height:inherit!important;
}
.fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{
  min-height:inherit;
  overflow:hidden!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode{
  display:block!important;
  width:142px!important;
  gap:0!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{
  width:72px!important;
  height:72px!important;
  margin:0 auto -8px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-position{
  height:25px!important;
  min-width:36px!important;
  margin:0!important;
  font-size:11px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{
  width:auto!important;
  min-height:47px!important;
  margin:-2px auto 0!important;
  padding:12px 8px 7px!important;
}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label strong{font-size:12px!important;line-height:normal!important}
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-team,
.fcf-dashboard-lineup.category-court-mode .court-player.category-mode .category-court-average{font-size:10px!important;line-height:normal!important}
.fcf-dashboard-lineup.category-court-mode .court-pg{left:29%!important;top:27%!important}
.fcf-dashboard-lineup.category-court-mode .court-sg{left:71%!important;top:27%!important}
.fcf-dashboard-lineup.category-court-mode .court-sf{left:22%!important;top:72%!important}
.fcf-dashboard-lineup.category-court-mode .court-pf{left:50%!important;top:72%!important}
.fcf-dashboard-lineup.category-court-mode .court-c{left:78%!important;top:72%!important}

/* Empty state is the same live court component, not a differently scaled promo image. */
.fcf-dashboard-lineup.pre-draft-court-mode .court-player{cursor:pointer}
.fcf-dashboard-lineup.pre-draft-court-mode .court-player-label{opacity:.92}
.fcf-dashboard-lineup.pre-draft-court-mode .court-player-photo.empty{border-style:dashed}
.fcf-dashboard-lineup.pre-draft-court-mode .pre-draft-status{background:transparent;border-top:0;padding:0;min-height:25px}

@media(min-width:1281px){
  .fcf-dashboard-lineup.category-court-mode{min-height:500px!important;padding:16px 18px 10px!important;gap:10px!important}
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:400px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode{width:164px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{width:92px!important;height:92px!important;margin:0 auto -7px!important;border-width:3px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-position{height:27px!important;min-width:50px!important;font-size:13px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{width:158px!important;min-height:70px!important;margin:0 auto!important;padding:13px 10px 9px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label strong{font-size:14px!important;line-height:1.22!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-team,
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .category-court-average{font-size:11px!important;line-height:1.22!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg{left:28%!important;top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sg{left:72%!important;top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf{left:18%!important;top:74%!important}
  .fcf-dashboard-lineup.category-court-mode .court-pf{left:50%!important;top:74%!important}
  .fcf-dashboard-lineup.category-court-mode .court-c{left:82%!important;top:74%!important}
}
@media(min-width:1051px) and (max-width:1280px){
  .fcf-dashboard-lineup.category-court-mode{min-height:440px!important;padding:15px 16px 10px!important}
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:344px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode{width:142px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{width:78px!important;height:78px!important;margin:0 auto -8px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{width:136px!important;min-height:64px!important;padding:13px 8px 8px!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg{left:29%!important;top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sg{left:71%!important;top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf{left:19%!important;top:72%!important}
  .fcf-dashboard-lineup.category-court-mode .court-pf{left:50%!important;top:72%!important}
  .fcf-dashboard-lineup.category-court-mode .court-c{left:81%!important;top:72%!important}
}
@media(min-width:621px) and (max-width:1050px){
  .fcf-dashboard-lineup.category-court-mode{min-height:430px!important;padding:16px!important}
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:335px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode{width:138px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{width:76px!important;height:76px!important;margin:0 auto -8px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{width:auto!important;min-height:67px!important;padding:13px 8px 8px!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg{left:29%!important;top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sg{left:71%!important;top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf{left:19%!important;top:72%!important}
  .fcf-dashboard-lineup.category-court-mode .court-pf{left:50%!important;top:72%!important}
  .fcf-dashboard-lineup.category-court-mode .court-c{left:81%!important;top:72%!important}
}
@media(max-width:620px){
  .fcf-dashboard-lineup.category-court-mode{min-height:405px!important;padding:12px 10px 10px!important}
  .fcf-dashboard-lineup.category-court-mode .fcf-lineup-court{min-height:310px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode{width:105px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-photo{width:56px!important;height:56px!important;margin:0 auto -8px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-position{height:21px!important;min-width:31px!important;font-size:9px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label{width:102px!important;min-height:57px!important;margin:-2px auto 0!important;padding:11px 5px 6px!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-label strong{font-size:9px!important;line-height:normal!important}
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .court-player-team,
  .fcf-dashboard-lineup.category-court-mode .court-player.category-mode .category-court-average{font-size:8px!important;line-height:normal!important}
  .fcf-dashboard-lineup.category-court-mode .court-pg{left:27%!important;top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sg{left:73%!important;top:25%!important}
  .fcf-dashboard-lineup.category-court-mode .court-sf{left:17%!important;top:72%!important}
  .fcf-dashboard-lineup.category-court-mode .court-pf{left:50%!important;top:72%!important}
  .fcf-dashboard-lineup.category-court-mode .court-c{left:83%!important;top:72%!important}
}

/* v337 — pre-league Player Directory scoring chooser is a first-class row.
   It must be visible before a user creates or joins any league. */
.player-directory-preleague-mode-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  align-items:center;
  gap:18px;
  padding:16px 18px;
}
.player-directory-preleague-mode-card h3{margin:3px 0 5px;font-size:18px}
.player-directory-preleague-mode-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.player-directory-preleague-mode-card .player-directory-mode-switch{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;width:100%!important}
.player-directory-preleague-mode-card .player-directory-mode-switch button{min-height:44px!important;font-size:12px!important}
.player-directory-league-mode-note{display:grid;gap:2px;text-align:right}
.player-directory-league-mode-note span{color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.player-directory-league-mode-note strong{font-size:12px;color:#dfe8f5}
@media(max-width:760px){
  .player-directory-preleague-mode-card{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}
  .player-directory-preleague-mode-card h3{font-size:17px}
  .player-directory-league-mode-note{text-align:left}
}

/* v337 — the unaffiliated/new-account Home state is the same live court.
   Obsolete promo-art classes are intentionally ignored; empty slots inherit
   exactly the standard court geometry. */
.fcf-dashboard-lineup.pre-draft-court-mode{
  min-height:inherit!important;
}
.fcf-dashboard-lineup.pre-draft-court-mode .fcf-lineup-court{
  overflow:hidden!important;
}
.fcf-dashboard-lineup.pre-draft-court-mode .court-player.empty{
  opacity:1!important;
}


/* v337 — one site-wide section rhythm. Cards/major panels must never touch.
   Desktop uses 16px; phone/tablet uses 14px. Existing internal component gaps
   remain unchanged; this only governs sibling sections/cards. */
:root{--fcf-section-gap:16px}
.player-browser-page-v181,
.matchup-page-v181{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:var(--fcf-section-gap)!important;
}
.fcf-dashboard,
.league-hq,
.franchise-lineup-view,
.live-centre-page-v181,
.waiver-browser-page-v181,
body[data-view="trades"] #viewRoot>.view,
.production-settings-page,
.draft-shell,
.draft-shell-v156{
  gap:var(--fcf-section-gap)!important;
}
.player-browser-page-v181>*,
.matchup-page-v181>*,
.waiver-browser-page-v181>*,
.fcf-dashboard>*,
.franchise-lineup-view>*{
  margin-block:0!important;
}
@media(max-width:760px){
  :root{--fcf-section-gap:14px;--fcf-mobile-section-gap:14px}
  .player-browser-page-v181,
  .matchup-page-v181{gap:14px!important}
  .fcf-dashboard,
  .league-hq,
  .franchise-lineup-view,
  .live-centre-page-v181,
  .waiver-browser-page-v181,
  body[data-view="trades"] #viewRoot>.view,
  .production-settings-page,
  .draft-shell,
  .draft-shell-v156{gap:14px!important}
}


/* v337 — draft lobby readiness is a first-class workflow, not a commissioner warning. */
.draft-readiness-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;align-items:center;
  margin-bottom:var(--fcf-section-gap,16px)!important;border-color:rgba(255,196,64,.24)!important;
}
.draft-readiness-card.all-ready{border-color:rgba(64,220,151,.38)!important;background:linear-gradient(135deg,rgba(64,220,151,.055),rgba(255,255,255,.018))!important}
.draft-readiness-copy h3{margin:4px 0 5px}.draft-readiness-copy p{margin:0;max-width:720px}
.draft-ready-actions{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
#toggleDraftReady{min-width:150px;font-weight:950;letter-spacing:.02em}
#toggleDraftReady.ready-confirmed{background:#39dda0!important;color:#03170e!important;border-color:#39dda0!important}
.danger-outline{border-color:rgba(255,104,120,.5)!important;color:#ffb4bd!important}
.draft-readiness-list{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;padding-top:2px}
.draft-ready-chip{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.035)}
.draft-ready-chip b{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-ready-chip small{font-size:9px;font-weight:950;letter-spacing:.07em}
.draft-ready-chip.ready{border-color:rgba(57,221,160,.32)}.draft-ready-chip.ready small{color:#50e5aa}.draft-ready-chip.waiting small{color:#f2c14e}

/* v337 — Draft Assistant adapts to its actual narrow sidebar width. */
.draft-assistant-card .draft-needs-grid{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.draft-assistant-card .draft-need{flex:1 1 42%;min-width:0}
.draft-assistant-card .draft-need:last-child:nth-child(odd){flex-basis:100%}
.draft-assistant-card .draft-need{min-width:0;padding:10px 11px!important}
.draft-assistant-card .draft-need>span{font-weight:900}.draft-assistant-card .draft-need>strong{font-size:14px;line-height:1.1;white-space:nowrap}
.draft-assistant-card .draft-need>small{font-size:11px;line-height:1.25;margin-top:4px;overflow-wrap:anywhere}
@media(max-width:760px){
  .draft-readiness-card{grid-template-columns:1fr;gap:12px;margin-bottom:14px!important}
  .draft-ready-actions{justify-content:stretch}.draft-ready-actions .btn{flex:1 1 140px}
  .draft-readiness-list{grid-column:1}.draft-ready-chip{flex:1 1 calc(50% - 4px);justify-content:space-between}
}
@media(max-width:430px){
  .draft-ready-chip{flex-basis:100%}
}

/* v337 scheduled-draft live countdown + optional check-in prompt */
#draftScheduleCountdownText{font-size:inherit!important;color:var(--gold2)!important;font-weight:900!important}
.scheduled-ready-prompt-card{max-width:520px}
.scheduled-ready-prompt-card .hero-actions{margin-top:18px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){.scheduled-ready-prompt-card .hero-actions .btn{flex:1 1 140px}}

/* v338 — combined launch fixes: completion choice, draft roster movement,
   identity-safe trade delists and round game counts. */
.draft-complete-card{max-width:560px!important;text-align:left!important}
.draft-complete-card .hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:18px!important}
.draft-complete-card .hero-actions .btn{width:100%!important}

.draft-roster-construction .roster-slot.construction{
  display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:7px 9px!important;padding:10px!important;
}
.draft-roster-player-copy{display:grid;gap:2px;min-width:0}
.draft-roster-player-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.draft-roster-player-copy small{color:var(--muted);font-size:10px;font-weight:800}
.draft-roster-construction .roster-slot.construction>.btn{width:auto!important;min-width:64px!important;padding:7px 9px!important;white-space:nowrap}
.draft-roster-construction .roster-slot.construction.sub-active{border-color:rgba(247,183,49,.58)!important;background:rgba(247,183,49,.10)!important}
@media(max-width:430px){
  .draft-roster-construction .roster-slot.construction{grid-template-columns:30px minmax(0,1fr) auto!important;gap:6px!important;padding:8px!important}
  .draft-roster-construction .roster-slot.construction>.btn{min-width:58px!important;padding:7px!important}
}

body[data-view="waivers"] .waiver-player-search-card{padding:14px!important}
body[data-view="waivers"] .unified-player-browser-head #waiverHeroCount{margin-top:5px!important;font-size:11px!important}

.trade-delist-list .trade-delist-option{
  position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr) 30px!important;width:100%!important;color:var(--text)!important;text-align:left!important;font:inherit!important;
}
.trade-delist-option .trade-delist-check{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px solid rgba(255,255,255,.18);color:transparent;background:rgba(255,255,255,.03)}
.trade-delist-option.selected{border-color:var(--gold)!important;background:rgba(247,183,49,.12)!important;box-shadow:0 0 0 1px rgba(247,183,49,.16)}
.trade-delist-option.selected .trade-delist-check{color:#071223;background:var(--gold);border-color:var(--gold)}
.trade-delist-selection{margin:-6px 0 13px;color:var(--muted);font-size:11px;font-weight:900;text-align:right}

body[data-view="franchise"] .lineup-card-actions{flex-wrap:wrap!important}

@media(max-width:760px){
  .draft-complete-card .hero-actions{grid-template-columns:1fr!important}
  body[data-view="franchise"] .lineup-card-actions{display:flex!important;flex-wrap:wrap!important;width:100%!important}
}

/* v340 — Players and Waivers are one literal visual component in both scoring
   modes. The retired v324 one-column Waivers override has been removed. The
   transaction button is the only card-level difference. */
#playerBrowserGrid,
#waiverPlayerGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%!important;
}
#playerBrowserGrid>.unified-player-card,
#waiverPlayerGrid>.unified-player-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:16px!important;
  gap:13px!important;
  box-sizing:border-box!important;
}
@media(max-width:1100px){
  #playerBrowserGrid,
  #waiverPlayerGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  #playerBrowserGrid,
  #waiverPlayerGrid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid)>.unified-player-card{
    height:auto!important;
    min-height:0!important;
    padding:12px!important;
    gap:10px!important;
  }
}
@media(max-width:370px){
  :is(body[data-view="players"] #playerBrowserGrid,body[data-view="waivers"] #waiverPlayerGrid)>.unified-player-card{padding:10px!important}
}


/* v351: publish and lock full-league draft order before the clock starts. */
.draft-order-published-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;border-color:rgba(126,211,33,.42);background:linear-gradient(135deg,rgba(126,211,33,.09),rgba(9,31,56,.96))}
.draft-order-published-card h3{margin:4px 0 6px}.draft-order-published-card p{margin:0;max-width:760px;color:var(--muted)}
.draft-pick-badge{min-width:116px;text-align:center;padding:12px 16px;border-radius:16px;background:rgba(126,211,33,.14);border:1px solid rgba(126,211,33,.48)}
.draft-pick-badge span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.draft-pick-badge strong{display:block;font-size:30px;line-height:1.05;margin-top:3px;color:#fff}
@media(max-width:760px){.draft-order-published-card{align-items:stretch;flex-direction:column}.draft-pick-badge{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left}.draft-pick-badge strong{font-size:26px;margin:0}}

.draft-order-lock-note{display:flex;flex-direction:column;gap:3px;margin:0 0 10px;padding:10px 12px;border:1px solid rgba(126,211,33,.35);border-radius:12px;background:rgba(126,211,33,.08)}
.draft-order-lock-note strong{color:#fff}.draft-order-lock-note span{color:var(--muted);font-size:12px}

/* v356 — unmistakable LIVE vs PROJECTED scoring treatment */
.live-score-clarity{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  width:100%!important;
  max-width:300px!important;
  margin-top:3px!important;
}
.live-score-clarity>span{
  display:grid!important;
  gap:2px!important;
  padding:7px 8px!important;
  border-radius:9px!important;
  border:1px solid var(--line)!important;
  background:rgba(255,255,255,.03)!important;
  color:var(--text)!important;
  font-size:11px!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
  line-height:1.2!important;
}
.live-score-clarity>span b{
  font-size:8px!important;
  letter-spacing:.08em!important;
}
.live-score-clarity>span.actual{
  border-color:rgba(53,220,145,.44)!important;
  background:rgba(53,220,145,.1)!important;
}
.live-score-clarity>span.actual b{color:#5ce8a7!important}
.live-score-clarity>span.projected{
  border-color:rgba(247,183,49,.4)!important;
  background:rgba(247,183,49,.08)!important;
}
.live-score-clarity>span.projected b{color:var(--gold)!important}
.live-projection-legend{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:11px 0 2px!important;
  padding:9px 10px!important;
  border:1px solid var(--line)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.025)!important;
  color:var(--muted)!important;
  font-size:10px!important;
  font-weight:800!important;
}
.live-projection-legend span{display:inline-flex!important;align-items:center!important;gap:5px!important}
.live-projection-legend b{padding:3px 6px!important;border-radius:999px!important;font-size:8px!important;letter-spacing:.06em!important}
.live-projection-legend .actual b{background:rgba(53,220,145,.14)!important;color:#5ce8a7!important;border:1px solid rgba(53,220,145,.35)!important}
.live-projection-legend .projected b{background:rgba(247,183,49,.1)!important;color:var(--gold)!important;border:1px solid rgba(247,183,49,.3)!important}
.category-stat-source{
  width:max-content!important;
  max-width:100%!important;
  margin-top:1px!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  font-size:7.5px!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.category-stat-source.live,.category-stat-source.final{
  color:#5ce8a7!important;
  border:1px solid rgba(53,220,145,.34)!important;
  background:rgba(53,220,145,.1)!important;
}
.category-stat-source.projected{
  color:var(--gold)!important;
  border:1px solid rgba(247,183,49,.28)!important;
  background:rgba(247,183,49,.08)!important;
}
.category-starter-row.shows-actual .category-starter-metrics span,
.matchup-player-row.shows-actual .matchup-player-score{
  border-color:rgba(53,220,145,.25)!important;
  background:rgba(53,220,145,.045)!important;
}
.category-starter-row.shows-projected .category-starter-metrics span,
.matchup-player-row.shows-projected .matchup-player-score{
  border-color:rgba(247,183,49,.2)!important;
  background:rgba(247,183,49,.035)!important;
}
.category-roster-summary-dual{display:grid!important;gap:5px!important;justify-items:end!important}
.category-summary-line{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.category-summary-line small{font-size:7px!important;font-weight:950!important;letter-spacing:.06em!important}
.category-summary-line.live small{color:#5ce8a7!important}
.category-summary-line.projected small{color:var(--gold)!important}
.category-summary-line.live span{border-color:rgba(53,220,145,.3)!important;background:rgba(53,220,145,.07)!important;color:#5ce8a7!important}
.live-projected-total span{
  display:block!important;
  margin-top:3px!important;
  color:var(--gold)!important;
  font-size:9px!important;
  font-weight:900!important;
}
@media(max-width:760px){
  .live-score-clarity{max-width:none!important;grid-template-columns:1fr 1fr!important}
  .live-projection-legend{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  .category-roster-summary-dual{justify-items:start!important;width:100%!important}
  .category-summary-line{justify-content:flex-start!important}
}

/* v357 — compact mobile 9-category player cards. All nine categories are visible; no horizontal swipe required. */
body[data-view="livecentre"] .category-roster-clean .matchup-roster-head{
  align-items:center!important;
  padding-bottom:8px!important;
}
.category-roster-state{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  font-size:7.5px!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  white-space:nowrap!important;
}
.category-roster-state.live,.category-roster-state.final{
  color:#5ce8a7!important;
  border:1px solid rgba(53,220,145,.34)!important;
  background:rgba(53,220,145,.1)!important;
}
.category-roster-state.projected{
  color:var(--gold)!important;
  border:1px solid rgba(247,183,49,.28)!important;
  background:rgba(247,183,49,.08)!important;
}
body[data-view="livecentre"] .category-starter-row{
  padding:9px 0!important;
}
body[data-view="livecentre"] .category-starter-copy{
  align-self:center!important;
}
body[data-view="livecentre"] .category-starter-copy>span{
  line-height:1.2!important;
}
body[data-view="livecentre"] .category-starter-metrics.all-nine,
body[data-view="matchup"] .category-starter-metrics.all-nine{
  display:grid!important;
  grid-template-columns:repeat(9,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
body[data-view="livecentre"] .category-starter-metrics.all-nine>span,
body[data-view="matchup"] .category-starter-metrics.all-nine>span{
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  min-height:42px!important;
  padding:5px 3px!important;
  border-radius:8px!important;
}
.category-starter-metrics.all-nine b{
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.category-starter-metrics.all-nine small{
  margin-top:3px!important;
  font-size:7px!important;
  line-height:1!important;
  font-weight:950!important;
  color:var(--muted)!important;
  letter-spacing:.02em!important;
}
@media(max-width:760px){
  body[data-view="livecentre"] .live-projection-legend{
    padding:7px 8px!important;
    font-size:9px!important;
  }
  body[data-view="livecentre"] .category-starter-metrics.all-nine,
  body[data-view="matchup"] .category-starter-metrics.all-nine{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    flex:1 0 100%!important;
    overflow:visible!important;
  }
  body[data-view="livecentre"] .category-starter-metrics.all-nine>span,
  body[data-view="matchup"] .category-starter-metrics.all-nine>span{
    min-height:36px!important;
    padding:5px 2px!important;
  }
  .category-starter-metrics.all-nine b{font-size:12px!important}
  .category-starter-metrics.all-nine small{font-size:7px!important}
  body[data-view="livecentre"] .category-stat-source,
  body[data-view="matchup"] .category-stat-source{
    margin-top:3px!important;
    padding:3px 6px!important;
  }
}
